Oracle技术之O7_DICTIONARY_ACCESSIBILITY(二)
2013-06-17 14:10
375 查看
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
这一篇介绍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
相关文章推荐
- Oracle技术之初始化参数O7_DICTIONARY_ACCESSIBILITY
- ORACLE 参数 O7_DICTIONARY_ACCESSIBILITY
- ORACLE SQL语句优化技术分析
- oracle技术之Oracle 跟踪事件(一)
- RAC(Oracle网格计算技术)
- Oracle技术之V$SESSION_LONGOPS超过系统时间
- SQL SERVER 向ORACLE 8迁移的技术实现方案
- MS Active Accessibility 接口技术编程尝试
- Oracle 11gR2 64bit On Linux 安装指导手册—数据库技术(一)
- oracle技术之查询初始化参数的方法(五)
- oracle传输表空间技术测试和测试中遇到的问题
- Oracle技术之DATA GUARD手工管理数据文件
- Oracle中的数据字典技术及常用数据字典总结
- Oracle 过时技术(一)--回滚段手动管理
- Oracle大数据概述:大数据技术精选
- 本周技术关注[面向webapps运维]:Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire
- Oracle技术之10204 AWR导入性能问题
- oracle技术之浅述当前模式读与一致性读
- Oracle 高可用技术与云基础架构引航
- Oracle最新技术网站