- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=15958087&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
SQL 구문별 상세 설명 - 세션 컨트롤
- 테스트
- Session : 사용자가 인증 절차를 거쳐 데이터베이스 인스턴스와 연결되는 것을 말한다. ( SQL*PLUS, 소프트웨어 )
- 동일한 사용자가 여러 개의 세션을 사용할 수 있으며 연결 소프트웨어를 종료하면 해당 세션도 종료된다.
현재 세션을 변경하는 ALTER SESSION ( page. 472 )
ALTER SESSION {SET {parameter_name = parameter_value} }...
- SQL_TRACE : 현재 세션에서 SQL문장을 TRACE 지정
- NLS_LANGUAGE : 현재 세션에서 언어 지정
- OPTIMIZER_GOAL : 옵티마이저 모드를 지정
ALTER SESSION 테스트
SQL> SELECT * FROM AAABBB; SELECT * FROM AAABBB * 1행에 오류: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 SQL> ALTER SESSION SET NLS_LANGUAGE = ENGLISH; Session altered. SQL> SELECT * FROM AAABBB; SELECT * FROM AAABBB * ERROR at line 1: ORA-00942: table or view does not exist SQL> ALTER SESSION SET NLS_LANGUAGE = KOREAN; 세션이 변경되었습니다. SQL> SELECT * FROM AAABBB; SELECT * FROM AAABBB * 1행에 오류: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
현재 세션을 활성화/비활성화시키는 SET ROLE ( page. 473 )
- 역할( Role ) : 오라클이나 시스템이나 스키마를 가진 오브젝트( 테이블, 뷰 등)에 대해 권한을 그룹별로 묶어서 부여하여 사용자들의 권한을 쉽게 통제하기 위해
만든 권한 관리( Privilege Management ) 단위다.SET ROLE { role [IDENTIFIED BY password] [, role [IDENTIFIED BY password] ] ... | ALL [EXCEPT role [, role] ...] | NONE}
- ALL은 현재 세션의 모든 역활(ROLE)을 활성화시키고
- NONE은 현재 세션은 모든 역할을 비활성화시킨다.
SET ROLLE 테스트 ( page. 474 )
--SESSION 1 SQL> conn sys/ua0919@dev_new_test as sysdba 연결되었습니다. SQL> SQL> grant create role to hr; 권한이 부여되었습니다. SQL> conn hr/hr@dev_new_test; 연결되었습니다. SQL> SQL> create role aaa; 롤이 생성되었습니다. SQL> grant select on employees to aaa; 권한이 부여되었습니다. SQL> grant aaa to scott; 권한이 부여되었습니다. --SESSION 2 SQL> conn scott/tiger@dev_new_test; 연결되었습니다. SQL> SQL> SQL> SQL> SQL> --세션 접속상태에서 ROLE 부여 전 SQL> select count(*) from hr.employees; select count(*) from hr.employees * 1행에 오류: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 --세션 접속상태에서 ROLE 부여 후 SQL> select count(*) from hr.employees; select count(*) from hr.employees * 1행에 오류: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 SQL> set role all; 롤이 지정되었습니다. SQL> select count(*) from hr.employees; COUNT(*) ---------- 107 SQL> set role none; 롤이 지정되었습니다. SQL> select count(*) from hr.employees; select count(*) from hr.employees * 1행에 오류: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
SQL 구분별 상세 설명 - 시스템 컨트롤
- 테이터베이스가 가동되어 있는 상태에서 다양하게 인스턴스 성격을 바꾸는 SQL 명령어가 시스템 컨트롤문장이다.
현재 기동되고 인스턴스의 성격을 변경하는 ALTER SYSTEM
ALTER SYSTEM {생략 | KILL SESSION 'integer1,integer2' } alter system kill session '23,26870';
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=15958087&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.