oracle10g database vault 访问Realms相关的数据字典

oracle10g database vault安装成功后可以使用vault管理员账号创建域(realm),添加用户对象到域等操作。但是查看域相关的数据字典却非常麻烦。
比如查看DBA_DV_REALM, DBA_DV_REALM_AUTH, DBA_DV_OBJECT. 只有使用dvsys用户才能查看这些数据字典,而dvsys用户又是被锁定状态,即使用database vault owner用户或者sys用户都无法将其解锁。 我使用的办法非常麻烦,但是可行。首先使用一系列的操作将database vault禁用,使用sys用户为dvsys解锁。然后再启用database vault。 这样就可以激活dvsys用户来查看上述的各个数据字典。

本篇博客涉及到禁用database vault的操作,但不是卸载database vault。 10.2.4.0版本并没有提供卸载工具或脚本,手工卸载还是比较麻烦的。

下面来看看我的具体操作

(1) dvsys用户被锁定,无法使用

SYS@dv > conn dvsys/dv_12345
ERROR:
ORA-28000: the account is locked


Warning: You are no longer connected to ORACLE.
@ > conn dvowner/dv_12345
Connected.

(2) 使用database vault管理员账号无权限解锁dvsys

DVOWNER@dv > alter user dvsys account unlock;
alter user dvsys account unlock
*
ERROR at line 1:
ORA-01031: insufficient privileges

(3) 使用sys用户无权限解锁dvsys

DVOWNER@dv > conn / as sysdba
Connected.
SYS@dv > alter user dvsys account unlock;
alter user dvsys account unlock
*
ERROR at line 1:
ORA-01031: insufficient privileges


(4) 禁用database vault

$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_off

$ cd $ORACLE_HOME/bin
$ relink all

$ sqlplus / as sysdba
SYS@dv > startup

$ dvca -action disable -service dv -sys_passwd oracle -owner_account dvowner -owner_passwd dv_12345 -nodecrypt

(5) 验证database vault禁用效果

$ sqlplus / as sysdba
SYS@dv > select * from v$option where parameter='Oracle Database Vault';

PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
Oracle Database Vault
FALSE

(6) 使用sys解锁dvsys

SYS@dv > alter user dvsys account unlock;

(7) 使用dvsys用户可以访问dba_dv_realm数据字典

SYS@dv > conn dvsys/dv_12345
DVSYS@dv > desc dba_dv_realm
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NAME                                      NOT NULL VARCHAR2(90)
 DESCRIPTION                                        VARCHAR2(1024)
 AUDIT_OPTIONS                             NOT NULL NUMBER
 ENABLED                                   NOT NULL VARCHAR2(1)

(8) 使用dvsys创建域myrealm2

DVSYS@dv > exec dbms_macadm.create_realm('myrealm2','myrealm2','y',1);

(9) 添加scott到域myrealm2

DVSYS@dv > exec dbms_macadm.add_object_to_realm('myrealm2','scott','%','%');


在database vault被禁用时使用sys用户还能访问域中的数据
SYS@dv > select count(*) from scott.emp;

  COUNT(*)
----------
        14

SYS@dv > shutdown immediate;

(10) 启用database vault

$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_on

$ cd $ORACLE_HOME/bin
$ relink all

$ export DISPLAY=127.0.0.1:0.0
$ dvca -action enable -service dv -sys_passwd oracle -owner_account dvowner -owner_passwd dv_12345 -nodecrypt

(11) 使用dvsys用户查看域数据字典

DVSYS@dv > select * from dba_dv_realm where name like 'myrealm%';

NAME                 DESCRIPTION          AUDIT_OPTIONS E
-------------------- -------------------- ------------- -
myrealm              myrealm                          1 Y
myrealm2             myrealm2                         1 Y

DVSYS@dv > col realm_name for a20
DVSYS@dv > col owner for a20
DVSYS@dv > col object_name for a10
DVSYS@dv > col object_type for a10

(12) 使用dvsys用户查看域中包含哪些对象
DVSYS@dv > select * from dba_dv_realm_object where realm_name like 'myrealm%';

REALM_NAME           OWNER                OBJECT_NAM OBJECT_TYP
-------------------- -------------------- ---------- ----------
myrealm2             SCOTT                %          %

(13) 添加sys为域参与者,这样sys用户也可以访问scott中的数据
DVSYS@dv > exec dbms_macadm.add_auth_to_realm('myrealm2','sys');

DVSYS@dv > select * from dba_dv_realm_auth where realm_name like 'myrealm%';

REALM_NAME                     GRANTEE    AUTH_RULE_SET_NAME   AUTH_OPTIONS
------------------------------ ---------- -------------------- --------------------
myrealm2                       SYS                             Participant

(14) 使用sys用户访问scott下emp表
SYS@dv > conn / as sysdba
Connected.
SYS@dv > select count(*) from scott.emp;

  COUNT(*)
----------
        14


实验完毕

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1710784/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29047826/viewspace-1710784/

你可能感兴趣的:(oracle10g database vault 访问Realms相关的数据字典)