h3.현재 세션을 변경하는 ALTER SESSION ( page. 472 )
{CODE:SQL}
ALTER SESSION {SET {parameter_name = parameter_value} }...
{CODE}
{CODE:SQL}
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: 테이블 또는 뷰가 존재하지 않습니다
{CODE}
SET ROLE { role IDENTIFIED BY password
[, role IDENTIFIED BY password ] ...
ALL [EXCEPT role , role ...] | NONE} |
{CODE}
{CODE:SQL}
--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(*)
SQL> set role none;
롤이 지정되었습니다.
SQL> select count(*) from hr.employees;
select count(*) from hr.employees
*
1행에 오류:
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
{CODE}
{CODE:SQL}
ALTER SYSTEM {생략
KILL SESSION 'integer1,integer2' } |
alter system kill session '23,26870';
{CODE}