>데이터 베이스 >MySQL 튜토리얼 >Oracle技术之O7_DICTIONARY_ACCESSIBILITY(二)

Oracle技术之O7_DICTIONARY_ACCESSIBILITY(二)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 15:32:541231검색

O7_DICTIONARY_ACCESSIBILITY也是和安全性有关的一个重要的 初始化 参数 。这个 参数 用来控制数据字典访问行为是否和Oracle 7中保持一致。 这一篇介绍O7_DICTIONARY_ACCESSIBILITY对SYS登陆的影响。 从9i开始,SYS用户登陆数据库的时候必须指定AS SYSDBA,

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

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



从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。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.