Oracle Database Vault 10gリリース2(10.2.0.2)、Oracle Database Vault 10gリリース2(10.2.0.3)またはOracle Database Vault 10gリリース2(10.2.0.4)がインストールされている場合は、既存のインスタンスをアンインストールせずにOracle Database Vault 10gリリース2(10.2.0.5)にアップグレードできます。
次の手順を使用して、Oracle Database Vault 10.2.0.xのインストールをOracle Database Vault 10gリリース2(10.2.0.5)にアップグレードします。
nosysdba=n
およびforce=y
フラグを使用してパスワード・ファイルを再作成します。これにより、SYS
ユーザーがSYSDBA
として接続できるようになります。次の構文を使用します。
orapwd file=$ORACLE_HOME/dbs/orapwSID password=password force=y nosysdba=n
SID
の箇所には、データベースのOracle system identifier(SID)を、password
の箇所には、SYS
アカウントのパスワードを指定します。
データベースを停止します。
単一インスタンスのデータベースを停止するには、次のコマンドを使用します。
sqlplus SYS "AS SYSDBA" Enter password: SQL> shutdown immediate
Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。
$ORACLE_HOME/bin/srvctl stop database -d db_name
db_name
の箇所には、データベースの名前を指定します。
Oracle Database Vaultオプションを無効にするために、Oracle実行可能ファイルを再リンクします。次のコマンドを使用します。
cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dv_off cd $ORACLE_HOME/bin relink oracle
注意: Oracle Real Application Clusters(Oracle RAC)データベースの場合は、このコマンドをすべてのノードに対して実行する必要があります。 |
データベースを起動します。単一インスタンスのデータベースの場合は、次のコマンドを使用します。
sqlplus SYS "AS SYSDBA" Enter password: SQL> startup
Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。
$ORACLE_HOME/bin/srvctl start database -d db_name
SYS
ユーザーとして、DVSYS
アカウントをロック解除します。
sqlplus SYS "AS SYSDBA" Enter password: SQL>ALTER USER DVSYS ACCOUNT UNLOCK;
Oracle Database Vaultのトリガーを無効にします。SYSDBA
権限を使用してSQL*PlusにSYS
としてログインし、次のALTER TRIGGER
文を実行します。
sqlplus "SYS / AS SYSDBA"
Enter password: password
Connected.
SQL> ALTER TRIGGER DVSYS.DV_BEFORE_DDL_TRG DISABLE;
SQL> ALTER TRIGGER DVSYS.DV_AFTER_DDL_TRG DISABLE;
データベースを停止します。
単一インスタンスのデータベースを停止するには、次のコマンドを使用します。
sqlplus SYS "AS SYSDBA" Enter password: SQL> shutdown immediate
Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。
$ORACLE_HOME/bin/srvctl stop database -d db_name
db_name
の箇所には、データベースの名前を指定します。
Oracle Databaseリリース10.2.0.5パッチ・セットをインストールし、DBUAを実行してデータベースをアップグレードします。
データベースが実行されている場合は停止します。
単一インスタンスのデータベースを停止するには、次のコマンドを使用します。
sqlplus SYS "AS SYSDBA" Enter password: SQL> shutdown immediate
Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。
$ORACLE_HOME/bin/srvctl stop database -d db_name
db_name
の箇所には、データベースの名前を指定します。
Oracle Database Vaultオプションを有効にするために、Oracle実行可能ファイルを再リンクします。次のコマンドを使用します。
cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dv_on cd $ORACLE_HOME/bin relink oracle
注意: Oracle Real Application Clusters(Oracle RAC)データベースの場合は、このコマンドをすべてのノードに対して実行する必要があります。 |
データベースを起動します。単一インスタンスのデータベースの場合は、次のコマンドを使用します。
sqlplus SYS "AS SYSDBA" Enter password: SQL> startup
Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。
$ORACLE_HOME/bin/srvctl start database -d db_name
DV_PATCH_ADMIN
およびDV_MONITOR
ロールを作成します。これは1回のみのタスクです。次の文を使用します。
SQL> CONNECT DVSYS
Enter password:
SQL> CREATE ROLE DV_PATCH_ADMIN;
SQL> GRANT DV_PATCH_ADMIN TO DV_OWNER WITH ADMIN OPTION;
SQL> GRANT DV_PATCH_ADMIN TO SYS;
SQL> CREATE ROLE DV_MONITOR;
SYSDBA
として接続し、次のSQL文を実行します。
SQL> CONNECT SYS "as SYSDBA" Enter password: SQL> @?/rdbms/admin/prvtstas.plb SQL> @?/rdbms/admin/prvtstat.plb SQL> @?/rdbms/admin/catols.sql -- Ignore any errors generated by this script SQL> STARTUP SQL> CONNECT SYS/ as SYSDBA Enter password: SQL> DECLARE CURSOR stmt IS select u.name, o.name, r.pname from user$ u, obj$ o, rls$ r where u.user# = o.owner# and r.obj# = o.obj# and bitand(r.stmt_type,65536) > 0; object_schema VARCHAR2(32) := NULL; object_name VARCHAR2(32) := NULL; policy_name VARCHAR2(32) := NULL; BEGIN OPEN stmt; LOOP FETCH stmt INTO object_schema, object_name, policy_name; EXIT WHEN stmt%NOTFOUND; dbms_rls.drop_policy('"'||object_schema||'"', '"'||object_name||'"', '"'||policy_name||'"'); END LOOP; Close stmt; END; / SQL> spool catmac.log -- please check catmac.log for errors SQL> @?/rdbms/admin/catmac.sql DVSYS_user_tablespace TEMP_TABLESPACE SYS_PASSWORD DVSYS_PASSWORD SQL> INSERT INTO DVSYS.RULE_SET_T$ VALUES (8, 'Allow Datapump Operation', 'Rule set that controls the objects that can be exported or imported by the datapump user.', ' ', 'us'); SQL> COMMIT; SQL> EXEC DVSYS.DBMS_MACADM.SYNC_RULES;
次のスクリプトをSYSDBA
として実行します。
SQL> CONNECT SYS/ as SYSDBA Enter password: SQL> @?/rdbms/admin/utlrp.sql
Oracle Database Vaultトリガーを有効にします。
SQL> CONNECT SYS/ as SYSDBA Enter password: SQL> ALTER TRIGGER DVSYS.DV_BEFORE_DDL_TRG ENABLE; SQL> ALTER TRIGGER DVSYS.DV_AFTER_DDL_TRG ENABLE;
DVSYS
アカウントをロックします。次のSQLコマンドを使用します。
SQL> CONNECT SYS "AS SYSDBA" Enter password: SQL> ALTER USER DVSYS ACCOUNT LOCK;
DV_OWNER
ユーザーとしてSYS
からDV_PATCH_ADMIN
を取り消します。
SQL> CONNECT DV_OWNER
Enter password:
SQL> REVOKE DV_PATCH_ADMIN FROM SYS;
SQL> QUIT