文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>初始化参数O7_DICTIONARY_ACCESSIBILITY(二)

初始化参数O7_DICTIONARY_ACCESSIBILITY(二)

时间:2010-09-19  来源:yangtingkun

O7_DICTIONARY_ACCESSIBILITY也是和安全性有关的一个重要的初始化参数。这个参数用来控制数据字典访问行为是否和Oracle 7中保持一致。

这一篇介绍O7_DICTIONARY_ACCESSIBILITY对SYS登陆的影响。

初始化参数O7_DICTIONARY_ACCESSIBILITY:http://yangtingkun.itpub.net/post/468/505631


从9i开始,SYS用户登陆数据库的时候必须指定AS SYSDBA,而无法在以普通的身份登陆数据库:

SQL> CONN SYS输入口令:
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

不过如果设置了O7_DICTIONARY_ACCESSIBILITY初始化参数为TRUE,则SYS可以直接登陆数据库,而不需要在指定AS SYSDBA:

SQL> SHOW PARAMETER O7

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean TRUE
SQL> CONN SYS输入口令: 已连接。

这种特性使得通过SYS建立数据库链变得可能。

以前一直认为没有办法建立SYS用户的数据库链,因为没有办法在建立数据库链的时候指定AS SYSDBA:

SQL> CREATE DATABASE LINK TEST112
2 CONNECT TO SYS
3 IDENTIFIED BY "test"
4 USING '172.25.198.230/TEST112';

数据库链接已创建。

SQL> SELECT * FROM GLOBAL_NAME@TEST112;
SELECT * FROM GLOBAL_NAME@TEST112
*第 1 行出现错误:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
ORA-02063: 紧接着 line (起自 TEST112)

而设置了这个初始化参数后,SYS数据库链也变得可能了:

SQL> CREATE DATABASE LINK TESTRAC
2 CONNECT TO SYS
3 IDENTIFIED BY TEST
4 USING '172.25.198.223/TESTRAC';

数据库链接已创建。

SQL> SELECT * FROM GLOBAL_NAME@TESTRAC;

GLOBAL_NAME
--------------------------------------------------------------------------------
TESTRAC

SQL> DROP DATABASE LINK TESTRAC;

数据库链接已删除。

SQL> CONN / AS SYSDBA已连接。
SQL> CREATE DATABASE LINK TESTRAC
2 USING '172.25.198.223/TESTRAC';

数据库链接已创建。

SQL> SELECT * FROM GLOBAL_NAME@TESTRAC;

GLOBAL_NAME
--------------------------------------------------------------------------------
TESTRAC

不仅指定用户名密码的方式可以建立数据库链,还可以通过当前用户的方式建立数据库链。

需要注意,O7_DICTIONARY_ACCESSIBILITY初始化参数对安全性影响很大,SYS用户下的对象本来就不应该被随意访问,更不要说修改了。如果没有必要,这个参数应该设置为默认值FALSE。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载