oracle10g database vault 訪問Realms相關的資料字典

snowdba發表於2015-06-24
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 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 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章