如果数据库安装了DatabaseVault功能,由于某些原因需要重新建库的话,整个过程以及Database Vault的功能恢复如下:
1. 禁用Database Vault
关闭相应的程序
$ emctl stop dbconsole
$ sqlplus "/ as sysdba"
SQL> shutdown immediate;
SQL> EXIT;
$ lsnrctl stop
重新链接Oracle相应程序
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_off
$ cd $ORACLE_HOME/bin
$ relink oracle
2. 执行dbca删除数据库,或者使用强制的方式删除
3. 重建数据库,可以使用dbca或者脚本方式
4. 配置EM(如果建库时候已经选择了配置em,这步可以省略)
5. 启用Database Vault
$ emctl stop dbconsole
$ sqlplus "/ as sysdba"
SQL> shutdown immediate;
SQL> EXIT;
$ lsnrctl stop
重新链接Oracle相应程序
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_on
$ cd $ORACLE_HOME/bin
$ relink oracle
使用sqlplus启动数据库
$ sqlplus "/ as sysdba"
SQL> startup;
SQL> EXIT;
$ lsnrctl start
$emctl start dbconsole
6. 配置Database Vault
$ dvca -action option -oh/oracle/app/oracle/product/10.2.0/db_1 -s_path /tmp -logfile/oracle/app/oracle/product/10.2.0/db_1/cfgtoollogs/dvca_install.log-owner_account dvowner -owner_passwd dvowner -acctmgr_account dvacct-acctmgr_passwd dvacct -jdbc_str jdbc:oracle:oci:@dv -sys_passwd sys -languages{zh_CN,en} -nodecrypt
以下是执行日志:
DVCAstarted
Executingtask RESTART_SERVICES_PATCH
(**)Starting database
(**)Database started
Executingtask SQLPLUS_CATOLS1
Executingtask SQLPLUS_CATOLS2
Executingtask SQLPLUS_CATOLS3
Executingtask RESTART_SERVICES_OLS
(**)Starting database
Executingtask SQLPLUS_CATMAC
Executingtask UNLOCK_DVSYS
Executingtask LOAD_NLS_FILES
Executingtask ACCOUNT_CREATE_OWNER
Executingtask GRANT_CONNECT_OWNER
Executingtask GRANT_ADMIN_DB_TRIG
Executingtask GRANT_ALTER_ANY_TRIG
Executingtask ACCOUNT_CREATE_MANAGER
Executingtask GRANT_CONNECT_MANAGER
Executingtask PASSWORD_CHANGE_DVF
GATHER_STATSfor DVSYS: SUCCEEDED
RULE_SYNC:TRUE
Executingtask GRANT_DV_OWNER_OWNER
Executingtask GRANT_DBMS_RLS_OWNER
Executingtask GRANT_AUDIT_TRAIL
Executingtask GRANT_DV_ACCTMGR_MANAGER
COMMAND_RULES:7
Executingtask ALTER_TRIGGER_BEFORE_DDL
Executingtask ALTER_TRIGGER_AFTER_DDL
Executingtask REVOKE_CONNECT_DVSYS
Executingtask REVOKE_CONNECT_DVF
Executingtask LOCK_DVSYS
Executingtask LOCK_DVF
Executingtask ALTER_TRIGGER_LBACSYS1
Executingtask ALTER_TRIGGER_LBACSYS2
Executingtask ALTER_TRIGGER_LBACSYS3
Executingtask DEPLOY_DVA
(**)Validating conditions for DVA installation
(**) Proceeding with DVA Deployment
(**) Stopping Dbconsole
(**) Dbconsole Stop status: true
DEPLOY_DVA:Modifying /oracle/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_ole48.teapot.com_dv/config/server.xml
DEPLOY_DVA:Modifying/oracle/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_ole48.teapot.com_dv/config/http-web-site.xml
(**)Starting Dbconsole
(**) Dbconsole Start status: true
Executing task SQLPLUS_UTLRP
Executing taskINIT_AUDIT_SYS_OPERATIONS
Executing taskINIT_REMOTE_OS_AUTHENT
Executing task INIT_REMOTE_OS_ROLES
Executing task INIT_OS_ROLES
Executing task INIT_SQL92_SECURITY
Executing taskINIT_OS_AUTHENT_PREFIX
Executing taskINIT_REMOTE_LOGIN_PASSWORDFILE
Executing task INIT_RECYCLEBIN
Executing task RESTART_SERVICES
(**) Starting database
(**) Database started