Oracle database vault是Oracle10g新推出的增强性安全管理组件,让人头疼的是安全性跟操作简便性总是一对冤家。
在安装了Oracle database vault组件的数据库中很多sys用户的特权都被取消了,比如你无法用操作系统验证直接登录sys用户(甚至在修改数据库密码文件之前任何方法都无法使用SYSDBA权限登录数据库),比如你无法运行alter system dump datafile命令来转储block的信息,还有更多需要sysdba权限的数据库功能都受到影响,比如Data Guard,RMAN,RAC svrctl, ASM, Oracle Enterprise Manager Database Control等等。
USER is “SYS”
SQL> alter system dump datafile 4 block 11;
alter system dump datafile 4 block 11
*
ERROR at line 1:
ORA-01031: insufficient privileges
如果想暂时禁用Oracle database vault功能,在Windows操作系统中需要如下操作。
1. 在service中停止Oracle服务,必须停止Oracle服务,仅仅在SQL*Plus中关闭数据库是不够的
2. 修改$ORACLE_HOME\bin\oradv10.dll文件名,随便改成什么,比如oradv10.dll.bak
3. 重新启动Oracle服务,打开数据库
在Linux中操作则更加复杂一些。