ヘッダーをスキップ
Oracle® Database Vaultインストレーション・ガイド
10gリリース2(10.2)for Linux x86
B40014-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

D Database Vaultの以前のバージョンからのアップグレード

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)にアップグレードできます。

D.1 10.2.0.xバージョンからのアップグレード

次の手順を使用して、Oracle Database Vault 10.2.0.xのインストールをOracle Database Vault 10gリリース2(10.2.0.5)にアップグレードします。

  1. 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アカウントのパスワードを指定します。

  2. データベースを停止します。

    単一インスタンスのデータベースを停止するには、次のコマンドを使用します。

    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の箇所には、データベースの名前を指定します。


    注意:

    Server Controlsrvctl)ユーティリティを使用してOracle RACインスタンスを起動および停止してください。Oracle RACインスタンスの起動および停止に、SQL*Plusを使用しないでください。srvctlコマンドを使用する前に、SYSDBA接続を有効にする必要があります。

  3. 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)データベースの場合は、このコマンドをすべてのノードに対して実行する必要があります。

  4. データベースを起動します。単一インスタンスのデータベースの場合は、次のコマンドを使用します。

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL> startup
    

    Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。

    $ORACLE_HOME/bin/srvctl start database -d db_name 
    
  5. SYSユーザーとして、DVSYSアカウントをロック解除します。

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL>ALTER USER DVSYS ACCOUNT UNLOCK;
    
  6. 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;
    
  7. データベースを停止します。

    単一インスタンスのデータベースを停止するには、次のコマンドを使用します。

    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の箇所には、データベースの名前を指定します。


    注意:

    Server Controlsrvctl)ユーティリティを使用してOracle RACインスタンスを起動および停止してください。Oracle RACインスタンスの起動および停止に、SQL*Plusを使用しないでください。srvctlコマンドを使用する前に、SYSDBA接続を有効にする必要があります。

  8. Oracle Databaseリリース10.2.0.5パッチ・セットをインストールし、DBUAを実行してデータベースをアップグレードします。


    関連項目:

    パッチ・セットのインストールの詳細は、「Oracle Databaseリリース10.2.0.5パッチ・セットの適用」を参照してください。

  9. データベースが実行されている場合は停止します。

    単一インスタンスのデータベースを停止するには、次のコマンドを使用します。

    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の箇所には、データベースの名前を指定します。


    注意:

    Server Controlsrvctl)ユーティリティを使用してOracle RACインスタンスを起動および停止してください。Oracle RACインスタンスの起動および停止に、SQL*Plusを使用しないでください。srvctlコマンドを使用する前に、SYSDBA接続を有効にする必要があります。

  10. 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)データベースの場合は、このコマンドをすべてのノードに対して実行する必要があります。

  11. データベースを起動します。単一インスタンスのデータベースの場合は、次のコマンドを使用します。

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL> startup
    

    Oracle Real Application Clusters(Oracle RAC)データベースの場合は、次のコマンドを使用します。

    $ORACLE_HOME/bin/srvctl start database -d db_name 
    
  12. 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;
    
  13. 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;
    
  14. 次のスクリプトをSYSDBAとして実行します。

    SQL> CONNECT SYS/ as SYSDBA
    Enter password:
    SQL> @?/rdbms/admin/utlrp.sql
    
  15. 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;
    
  16. DVSYSアカウントをロックします。次のSQLコマンドを使用します。

    SQL> CONNECT SYS "AS SYSDBA"
    Enter password:
    SQL> ALTER USER DVSYS ACCOUNT LOCK;
    
  17. DV_OWNERユーザーとしてSYSからDV_PATCH_ADMINを取り消します。

    SQL> CONNECT DV_OWNER    
    Enter password: 
    SQL> REVOKE DV_PATCH_ADMIN FROM SYS;
    SQL> QUIT