8i 에서는 select any table권한을 부여하면 딕셔너리 뷰도 조회가 되었다.
하지만, 9i에서는 select any table권한을 부여해도 조회되지 않았다.
[8i]
SQL> select * from dba_sys_privs where grantee='DBA' and PRIVILEGE like 'SELECT%';
GRANTEE PRIVILEGE ADM
--------------- ------------------------- ---
DBA SELECT ANY SEQUENCE YES
DBA SELECT ANY TABLE YES
[9i]
SQL> select * from dba_sys_privs where grantee='DBA' and PRIVILEGE like 'SELECT%';
GRANTEE PRIVILEGE ADM
---------- ---------------------------------------- ---
DBA SELECT ANY TABLE YES
DBA SELECT ANY SEQUENCE YES
DBA SELECT ANY DICTIONARY YES
SQL> select * from user_sys_privs ;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
QIS SELECT ANY TABLE NO
QIS UNLIMITED TABLESPACE NO
SQL> desc dba_objects
ERROR:
ORA-04043: object "SYS"."DBA_OBJECTS" does not exist
SQL> grant SELECT ANY DICTIONARY to qis;
Grant succeeded.
SQL> conn qis/qis
Connected.
SQL> desc dba_objects
Name Null? Type
----------------------------- -------- --------------
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(18)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)