When the user SMAVRIS, the HR representative,
runs the query now, she sees all rows in the HR.EMPLOYEES table:
SQL> connect smavris/smavris702@dw;
Connected.
SQL> select employee_id, first_name, last_name,
2 email, job_id, salary, manager_id from hr.employees;
EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL JOB_ID SALARY MANAGER_ID
----------- ----------- ----------- ---------- ---------- ------- ----------
100 Steven King SKING AD_PRES 24000
101 Neena Kochhar NKOCHHAR AD_VP 17000 100
. . .
204 Hermann Baer HBAER PR_REP 10000 101
205 Shelley Higgins SHIGGINS AC_MGR 12000 101
206 William Gietz WGIETZ AC_ACCOUNT 8300 205
107 rows selected.
As you might expect, SMAVRIS??™s security level within the HR_SECURITY context is HIGH:
SQL> connect smavris/smavris702
Connected.
SQL> select sys_context('HR_SECURITY','SEC_LEVEL') from dual;
SYS_CONTEXT('HR_SECURITY','SEC_LEVEL')
--------------------------------------------------------------
HIGH
SQL>
328 Oracle Database 11g DBA Handbook
However, DGRANT can still only see his row in the table because his security level within the
HR_SECURITY context is NORMAL:
SQL> connect dgrant/dgrant507@dw;
Connected.
SQL> select employee_id, first_name, last_name,
2 email, job_id, salary, manager_id from hr.employees;
EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL JOB_ID SALARY MANAGER_ID
----------- ---------- ----------- ---------- ---------- ------- ----------
199 Douglas Grant DGRANT SH_CLERK 2600 124
1 row selected.
Pages:
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540