SQL> show parameter o7;
NAME
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY
SQL> create user test identified by test ;
用户已创建。
SQL> grant resource,connect to test;
授权成功。
SQL> connect test/test;
已连接。
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> connect / as sysdba;
已连接。
SQL> grant select any table to test;
授权成功。
SQL> connect test/test;
已连接。
--即使授了select any table也无法查询V$视图
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> connect / as sysdba;
已连接。
SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;
系统已更改。
SQL> startup force
ORACLE 例程已经启动。
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
数据库装载完毕。
数据库已经打开。
--设置为true就可以访问V$视图了
SQL> connect test/test;
已连接。
SQL> select count(*) from v$datafile;
----------
SQL> spool off;