ヘッダーをスキップ
Oracle® Databaseアップグレード・ガイド
11g リリース2(11.2)
B56310-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 以前のリリースへのOracle Databaseのダウングレード

Oracle Databaseは、アップグレード元のリリースにのみダウングレードできます。たとえば、Oracle Database 10gリリース1(10.1.0.5)からOracle Database 11gリリース2(11.2)にアップグレードした場合は、その後、Oracle Database 10gリリース2(10.2)にダウングレードすることはできず、Oracle Database 10gリリース1(10.1.0.5)にのみダウングレードできます。

この章の内容は次のとおりです。


関連項目:

オペレーティング・システム固有のダウングレードの説明については、ご使用のオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。

Oracle Databaseのダウングレードがサポートされているリリース

データベースがアップグレードされる前の元のリリースに基づいて、メジャー・リリースとパッチ・セット・リリースの両方をダウングレードできます。メジャー・リリースのダウングレードは、Oracle Database 11gリリース1(11.1.0.6)、Oracle Database 10gリリース2(10.2.0.2)およびOracle Database 10gリリース1(10.1.0.5)へのダウングレードがサポートされています。パッチ・セットのダウングレードは、11.2以前のすべてのパッチ・リリースへのダウングレードがサポートされています。


注意:

Oracle Database Express Editionからアップグレードされたデータベースをダウングレードすることはできません。

Oracle Database 11gリリース2(11.2)データベースとともにOracle Database Vaultがインストールされている場合は、リリース11.1.0.6および11.1.0.7にのみダウングレードできます。

データベースにメッセージ・ゲートウェイまたはWorkspace Managerが存在する場合でも、それらはリリース10.2.0.4以前のOracle Databaseパッチ・セットには含まれません。したがって、ダウングレード前にすべての関連パッチをリリース10.2.0.3またはリリース10.1.0.5のOracleホームに個別に適用する必要があります。

Oracle Enterprise Managerのダウングレードはサポートされていません。ただし、データベースをアップグレードする前にOracle Enterprise Manager Database Controlのファイルおよびデータを保存した場合、データベースのダウングレード後に古いバージョンのDatabase Controlをリストアできます。


注意:

Oracle Data Pumpのデータベースの全体エクスポートをINCLUDE=DBLINKパラメータとともに使用して、ダウングレードするデータベースへのインポートに適したダンプ・ファイルに、すべてのデータベース・リンクをエクスポートする必要があります。その後、このダンプ・ファイルは、ダウングレード後にデータベース・リンクを置き換えるために使用できます。

Oracle Databaseリリース間の非互換性の確認

ご使用のOracle Databaseリリースの互換性レベルをチェックして、非互換性があるかどうかを確認します(非互換性がある場合は、ダウングレードできません)。Oracle Database 11gリリース2(11.2)データベースのの互換性レベルが11.2.0以上である場合は、ダウングレードできません。

Oracle Database 11gリリース1(11.1)にダウングレードする場合は、COMPATIBLE初期化パラメータを11.0.0以下に設定する必要があります。

Oracle Database 10gリリース2(10.2)にダウングレードする場合は、COMPATIBLE初期化パラメータを10.2.0以下に設定する必要があります。

Oracle Database 10gリリース1(10.1)にダウングレードする場合は、COMPATIBLE初期化パラメータを10.1.0に設定する必要があります。

サーバー・パラメータ・ファイル(SPFILE)からのサポート対象外パラメータの削除

データベースでSPFILEを使用している場合、ダウングレード先の以前のリリースではサポートされていない新しいパラメータが、インストールまたはアップグレード時に追加されていることがあります。ダウングレード後、新しいパラメータによって、データベースが起動できない場合があります。そのため、以前のリリースでサポートされていないパラメータをSPFILEから削除する必要があります。『Oracle Real Application Clusters管理およびデプロイメント・ガイド』の説明に従って、ALTER SYSTEM文のSET句を使用することで、SPFILEの設定を変更できます。

ダウングレード元の現行リリースの新しいパラメータの詳細は、そのリリースの『Oracle Database新機能ガイド』を参照してください。

ダウングレード前のOracle Databaseの全体バックアップの実行

ダウングレードする前に、Oracle Database 11gリリース2(11.2)データベースに対し、全体バックアップを実行します。『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で説明されている手順に従います。


関連項目:

詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

以前のリリースへのOracle Databaseのダウングレード

Oracle Database 11gリリース2(11.2)データベースは、メジャー・リリースまたは関連するパッチ・セット・アップグレードへダウングレードできます。

データベースを以前のリリースにダウングレードするには、次の手順を実行します。 

  1. データベースでOracle Database Vaultを有効にしている場合は、次を行う必要があります。

    • SYSアカウントにDatabase VaultのDV_PATCH_ADMINロールを付与します。

    • データベースをダウングレードする前に、Database Vaultを無効にします。


    関連項目:

    Oracle Database Vaultを無効にする手順は、『Oracle Database Vault管理者ガイド』を参照してください。

  2. 以前にデータベースをアップグレードし、DBMS_DST PL/SQLパッケージを使用してそのデータベースのタイムゾーンのバージョンを更新した場合は、ダウングレード前に以前のリリースのOracleホームに同じバージョンのタイムゾーン・ファイルのパッチを適用する必要があります。

    たとえば、DSTv4を使用するLinux x64上のリリース10.2.0.4データベースをリリース11.2.0.2にアップグレードし、DBMS_DSTを実行してこのデータベースをDSTv14に更新したとします。この場合、リリース11.2.0.3から10.2.0.4にダウングレードする前に、リリース10.2.0.4側に対してLinux x64向けの10.2.0.4用DSTv14パッチを適用する必要があります。これにより、TIMESTAMP WITH TIME ZONEデータが取得中に論理的に破損することがなくなります。

    データベースで使用されているタイムゾーン・ファイルのバージョンを確認するには、次の手順を実行します。

    SELECT value$ FROM sys.props$ WHERE NAME = 'DST_PRIMARY_TT_VERSION';
    

    関連項目:

    タイムゾーン・ファイルの適用の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

  3. Oracle Database 11gリリース2(11.2)へのアップグレード時にORA_TZFILE環境変数をtimezone.datファイルのフルパス名に設定した場合は、後でデータベースをダウングレードする際にその設定を解除する必要があります。

    Oracleホーム・ディレクトリには、次の2つのタイムゾーン・ファイルがあります。

    • デフォルトのタイムゾーン・ファイル

      $ORACLE_HOME/oracore/zoneinfo/timezonelrg.dat
      
    • 小さいタイムゾーン・ファイル

      $ORACLE_HOME/oracore/zoneinfo/timezone.dat
      

    ORA_TZFILE変数の設定を解除しなかった場合、小さい方のタイムゾーン・ファイルを使用してデータベースに接続すると、次のエラーが発生する可能性があります。

    SP2-1503: Unable to initialize Oracle call interface
    SP2-0152: ORACLE may not be functioning properly
    

    関連項目:

    日時データ型およびタイムゾーン・サポートの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

  4. データベースにOracle Application Expressがある場合は、Oracle Database 11gリリース2(11.2)のORACLE_HOME/apex/ディレクトリからOracleホーム外部のディレクトリ(システムの一時ディレクトリなど)にapxrelod.sqlファイルをコピーする必要があります。

    このファイルの新しい場所を記録します。

  5. 固定オブジェクトに基づいてオブジェクトを作成した場合は、これらのオブジェクトを削除して、ORA-00600エラーの発生を回避します。ダウングレード後にこれらのオブジェクトを再作成できます。

  6. Oracle Database 11gリリース2(11.2)のOracleホーム・ディレクトリの所有者としてシステムにログインします。

  7. この手順は、Enterprise Manager Database Controlがデータベースにすでに構成されている場合にのみ実行する必要があります。

    次の手順を実行して、Database Controlを停止します。

    1. ORACLE_UNQNAME環境変数をデータベースの一意の名前に設定します。

    2. 次のコマンドを実行します。

      ORACLE_HOME/bin/emctl stop dbconsole
      

    ダウングレード中のデータベースがOracle RACデータベースの場合は、すべてのインスタンスでこの手順を実行します。

  8. Oracle RACデータベースを10gリリース1(10.1)にダウングレードする場合は、Oracle Clusterwareスタックを停止する前に余分な投票ディスクを削除する必要があります。

    1. 使用する投票ディスクの数を確認し、投票ディスクのパスを表示するには、次のコマンドを実行します。

      Oracle_Clusterware_Home/bin/crsctl query css votedisk
      
    2. 次のコマンドを実行して、前述の手順で検出した追加の投票ディスクをそれぞれ削除します。pathは、前述の手順で表示されたFile Name列内の投票ディスクのパスです。

      Oracle_Clusterware_Home/bin/crsctl delete css votedisk path
      

      次に例を示します。

      Oracle_Clusterware_Home/bin/crsctl delete css votedisk /share/cluster2/vote_cluster2.dbf
      

      最後の投票ディスクは削除しないでください。

  9. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。


    注意:

    クラスタ・データベースをダウングレードしている場合は、インスタンスを完全に停止し、CLUSTER_DATABASE初期化パラメータをFALSEに設定します。ダウングレードが完了した後、このパラメータの設定をTRUEに戻す必要があります。

  10. SQL*Plusを使用して、SYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

  11. DOWNGRADEモードでインスタンスを起動します。

    SQL> STARTUP DOWNGRADE
    

    PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

  12. データベース内にEnterprise Managerが構成されている場合は、Enterprise Managerユーザーを削除します。

    DROP USER sysman CASCADE;
    

    注意:

    この手順を実行すると、MGMT*シノニムが無効になる場合があります。シノニムを有効にするには、「Oracle Databaseのダウングレード後のOracle Enterprise Managerのリストア」のガイドラインに従います。

  13. 変更と問題を追跡するために、結果をログ・ファイルにスプールするようにシステムを設定します。

    SQL> SPOOL downgrade.log
    
  14. catdwgrd.sqlを実行します。

    SQL> @catdwgrd.sql
    

    スクリプトの実行についての注意は、次のとおりです。

    • Oracle Database 11gリリース2(11.2)に付属するスクリプトのバージョンを使用する必要があります。

    • Oracle Database 11gリリース2(11.2)の環境でスクリプトを実行する必要があります。

    • このスクリプトによって、データベース内のすべてのOracle Databaseコンポーネントがアップグレード元のメジャー・リリースまたはOracle Database 11gパッチ・リリースにダウングレードされます。

    このスクリプトまたは残りの手順のいずれかのスクリプトを実行中になんらかの問題が発生した場合は、問題を解決してスクリプトを再実行します。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。

    コンポーネントのダウングレードに失敗した場合、ORA-39709エラーが表示され、SQL*Plusセッションは、Oracle Databaseデータ・ディクショナリをダウングレードせずに終了します。すべてのコンポーネントは、Oracle Databaseのデータ・ディクショナリをダウングレードする前に、正常にダウングレードする必要があります。catdwgrd.sqlスクリプトを再実行する前に、問題を特定して修正する必要があります。

  15. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

    SQL> SPOOL OFF
    

    次に、スプール・ファイルを確認して、ダウングレード中にエラーが発生しなかったかどうかを検証します。手順13で、スプール・ファイル名をdowngrade.logとしました。このファイルで見つけた問題を修正し、必要に応じてダウングレード・スクリプトを再実行します。


    注意:

    ダウングレード・スクリプトを初めて実行した結果を保存する場合は、再実行する前に、downgrade.logを他の名前に変更してください。

  16. インスタンスを停止します。

    SQL> SHUTDOWN IMMEDIATE
    
  17. SQL*Plusを終了します。

  18. ご使用のオペレーティング・システムがLinuxまたはUNIXの場合、次の環境変数がダウングレード先のリリースのディレクトリを指定するように変更してください。

    • ORACLE_HOME

    • PATH

    また、oratabファイル、およびORACLE_HOME値を設定するすべてのクライアント・スクリプトが、ダウングレードされたOracleホームを指していることを確認する必要があります。


    関連項目:

    ご使用のオペレーティング・システムでのその他の重要な環境変数の設定に関する詳細は、ご使用のオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。

  19. ご使用のオペレーティング・システムがWindowsの場合、次の手順を実行します。

    1. Oracle Database 11gリリース2(11.2)のデータベースのすべてのOracleサービス(OracleServiceSIDなど)を停止します。SIDはインスタンスの名前です。

      たとえば、SIDがORCLの場合、コマンド・プロンプトで次のように入力します。

      C:\> NET STOP OracleServiceORCL
      

      関連項目:

      『Oracle Database Net Services管理者ガイド』

    2. コマンド・プロンプトでORADIMコマンドを発行して、Oracleサービスを削除します。たとえば、SIDがORCLの場合、次のコマンドを入力します。

      C:\> ORADIM -DELETE -SID ORCL
      
    3. コマンド・プロンプトでORADIMコマンドを使用して、ダウングレードするデータベースのOracleサービスを作成します。

      C:\> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS
           -STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA
      

      この構文には次の変数が含まれます。

      変数 説明
      SID ダウングレードするデータベースと同じSID名です。
      PASSWORD データベース・インスタンスのパスワードです。SYSDBA権限で接続するユーザー用のパスワードです。-INTPWDオプションは必須ではありません。これを指定しない場合、オペレーティング・システムの認証が使用され、パスワードは不要です。
      USERS SYSDBA権限およびSYSOPER権限を付与できるユーザーの最大数です。
      ORACLE_HOME ダウングレード先のデータベースのOracleホーム・ディレクトリです。-PFILEオプションを使用して、(Oracleホーム・ディレクトリのドライブを含む)フルパス名を指定する必要があります。

      たとえば、ダウングレード先がOracle Database 10gリリース2(10.2)、SIDORCLPASSWORDTWxy5791USERSの最大数が10、ORACLE_HOMEディレクトリがC:\ORANTの場合、次のコマンドを入力します。

      C:\> ORADIM -NEW -SID ORCL -INTPWD TWxy5791 -MAXUSERS 10
           -STARTMODE AUTO -PFILE C:\ORANT\DATABASE\INITORCL.ORA
      

      注意:

      データベースをダウングレードする際に、Windowsレジストリの設定を変更する必要はありません。必要な変更は、すべてORADIMユーティリティによって自動的に行われます。

  20. ダウングレード先のリリースの構成ファイル(パラメータ・ファイル、パスワード・ファイルなど)をリストアします。

    Oracle RACデータベースの場合は、次のコマンドを実行して、データベースを単一インスタンス・モードに戻します。

    set CLUSTER_DATABASE=FALSE
    

    注意:

    クラスタ・データベースをダウングレードしている場合は、そのクラスタ・データベースのインスタンスを構成するすべてのノードでこの手順を実行してください。CLUSTER_DATABASE初期化パラメータをFALSEに設定します。ダウングレードが完了した後、この初期化パラメータの設定をTRUEに戻す必要があります。

  21. システム・プロンプトで、以前のリリースのORACLE_HOME/rdbms/adminディレクトリへ移動します。

  22. SQL*Plusを起動します。

  23. SYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

  24. インスタンスを起動します。

    SQL> STARTUP UPGRADE
    
  25. 変更と問題を追跡するために、結果をログ・ファイルにスプールするようにシステムを設定します。

    SQL> SPOOL reload.log
    
  26. catrelod.sqlを実行します。

    SQL> @catrelod.sql
    

    catrelod.sqlスクリプトを使用すると、ダウングレードしたデータベース内の該当するバージョンのすべてのデータベース・コンポーネントが再ロードされます。

  27. Oracle Database 11gリリース1(11.1.0.6)へダウングレードしている場合は、xsrelod.sqlスクリプトを実行します。

    SQL> @xsrelod.sql
    

    xsrelod.sqlスクリプトを実行すると、次のエラーを回避できます。

    PLS-00306: wrong number or types of arguments in call
    to 'INVALIDATE_DSD_CACHE' DBMS_XS_DATA_SECURITY_EVENTS
    PL/SQL: Statement ignored
    

    注意:

    PLS-00306エラーは、Oracle Databaseリリース11.2.0.7以上では問題になりません。

  28. Oracle Database 10gリリース1(10.1.0.5)へのダウングレード中で、データベースにXDBが存在する場合は、dbmsxdbt.sqlスクリプトを実行します。

    @dbmsxdbt.sql
    

    dbmsxdbt.sqlスクリプトを実行すると、XDB.DBMS_XDBTパッケージを再ロードするときに次のエラーを回避できます。

    PLS-00201: identifier 'CTXSYS.CTX_OUTPUT' must be declaredPLS-00201: identifier 'CTX_DDL' must be declared
    
  29. Oracle Database 11gリリース1以下にダウングレードする際にデータベースにOracle Application Expressがある場合は、ディレクトリを(手順4で)apxrelod.sqlスクリプトをコピーしたディレクトリに変更する必要があります。apxrelod.sqlスクリプトを実行して、Oracle Application Expressを手動で再ロードします。

    SQL> @apxrelod.sql
    

    apxrelod.sqlスクリプトを実行すると、次のエラーが原因でパッケージAPEX_030200.WWV_FLOW_HELPINVALIDになることを回避できます。

    PLS-00201: identifier 'CTX_DDL' must be declared
    
  30. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

    SQL> SPOOL OFF
    

    次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順25で、スプール・ファイル名をreload.logとしました。このファイルで見つけた問題を処理し、必要に応じて適切なスクリプトを再実行します。

  31. 通常の操作のために、インスタンスを停止し、再起動します。

    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP
    

    PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

  32. データベースがOracle Label Security用に構成されていて、Oracle Database 10gリリース1(10.1)からダウングレードする場合、次の手順を実行します。

    1. olstrig.sqlスクリプトを、Oracle Database 11gリリース2(11.2)のOracleホームからダウングレード後のデータベースのバージョンのOracleホームにコピーします。

    2. olstrig.sqlを実行し、Oracle Label Securityのポリシーを適用して、表のDMLトリガーを再作成します。

      SQL> @olstrig.sql
      

    詳細は、『Oracle Label Security管理者ガイド』を参照してください。

  33. utlrp.sqlスクリプトを実行します。

    SQL> @utlrp.sql
    

    utlrp.sqlスクリプトは、以前INVALID状態だったパッケージ、プロシージャ、型などのすべての既存のPL/SQLモジュールを、再コンパイルします。

  34. SQL*Plusを終了します。

  35. クラスタ・データベースをダウングレードする場合は、次のコマンドを実行してOracle Clusterwareのデータベース構成をダウングレードする必要があります。

    $ srvctl downgrade database -d db-unique-name -o old_ORACLE_HOME -t to_relnum
    

    [ここで、db-unique-nameはインスタンス名ではなくデータベース名であり、old_ORACLE_HOMEは、ダウングレードされたデータベースが実行される古いOracleホームの場所です。この例では、to_relnumは、データベースのダウングレード後のリリース番号です(例: 11.2.0.1.0)。]


    注意:

    デフォルトでは、指定したユーザーはサーバー・プールを作成できます。この権限を持つオペレーティング・システム・ユーザーを制限するには、特定のユーザーをCRS管理者のリストに追加することをお薦めします。

    関連項目: CRS管理者のリストへのユーザーの追加の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください



    注意:

    このコマンドは、データベースのダウングレード後のOracleホームからではなく、現在のOracleホームから実行してください。

データベースがダウングレードされました。

Oracle Databaseのダウングレード後の作業

Oracle Databaseのダウングレード後の作業が必要となる場合があります。この項には次のトピックが含まれます:

Oracle Databaseリリース10.2または11.1にダウングレードする際のネットワーク・リスナーの再作成

新しいデータベースをOracle Database 10gまたはOracle Database 11gリリース1にダウングレードする場合は、ダウングレード手順の実行後にリスナーを再作成する必要があります。Oracle Net Managerを実行して古いリスナーを削除し、新しいリスナーを作成します。

  • Oracle Enterprise ManagerのコンソールからOracle Net Managerを起動するには、「ツール」メニューから「サービス管理」を選択し、「Oracle Net Manager」を選択します。

  • Microsoft Windowsの場合、「スタート」メニューから「プログラム」を選択し、「Oracle - HOME_NAME」を選択します。次に、「Configuration and Migration Tools」を選択し、「Net Manager」を選択します。


    関連項目:

    『Oracle Database Net Services管理者ガイド』

Oracle Databaseのダウングレード後のOracle Enterprise Managerのリストア

このタスクは、なんらかの形式でダウングレード中であり、Oracle Enterprise Managerがホストに構成されている場合にのみ実行する必要があります。Oracle Enterprise Managerを前の状態にリストアするには、アップグレードを実行する前にOracle Enterprise Managerのファイルおよびデータを保存しておく必要があります。

これがOracle Clusterwareを使用したOracle RACデータベースである場合は、emca -restoreコマンドを実行する前にsrvctlを使用してデータベースを登録する必要があります。これは、ダウングレード後のデータベースのバージョンのORACLE_HOME/binから実行する必要があります。


関連項目:

srvctlに関する詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

適切なオプションを指定してemca -restoreコマンドを実行し、Oracle Enterprise Manager Database ControlまたはOracle Enterprise Manager Grid Controlを古いOracleホームにリストアします。指定するオプションは、ダウングレード中のデータベースがOracle RACデータベースかOracle ASMデータベースかによって、次のように異なります。


注意:

この手順では、Oracle Database 11gリリース2(11.2)バージョンのemcaを使用します。emcaの詳細は、『Oracle Database管理者ガイド』を参照してください。

Oracle ASMがない単一インスタンスのOracle Database

111Home/bin/emca -restore db

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • データベースSID

  • リスナー・ポート番号

Oracle ASMがないOracle RACデータベース

111Home/bin/emca -restore db -cluster

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • データベースの一意の名前

  • リスナー・ポート番号

単一インスタンスのOracle ASMインスタンス

111Home/bin/emca -restore asm

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • Oracle ASMポート

  • Oracle ASM SID

Oracle RACインスタンス上のOracle ASM

111Home/bin/emca -restore asm -cluster

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • Oracle ASMポート

Oracle ASMがある単一インスタンスのOracle Database

111Home/bin/emca -restore db_asm

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • データベースSID

  • リスナー・ポート番号

  • Oracle ASMポート

  • Oracle ASMホーム

  • Oracle ASM SID [+ASM]

Oracle RACデータベースおよびASMインスタンス

111Home/bin/emca -restore db_asm -cluster

次の情報の入力を求められます。

  • リストアするデータベースのOracleホーム

  • データベースの一意の名前

  • リスナー・ポート番号

  • Oracle ASMポート

  • Oracle ASM Oracleホーム

  • Oracle ASM SID [+ASM]

emcaの出力は、指定するオプションおよびプロンプトで入力する値によって様々です。

インプレース・パッチ・セット・アップグレードでは、パッチ・セットを適用する前に保存した元のホームのバックアップをリストアする必要があります。この手順は、Oracle RAC環境内のすべてのノードに対して繰り返す必要があります。インプレース・パッチ・セット・アップグレードでは、emca -restoreコマンドを実行する必要はありません。

emca -restoreプロシージャの終了後、emdwgrdユーティリティを使用して、Oracle Enterprise Managerデータベースのファイルおよびデータをリストアする準備ができます。Oracle Database 11gリリース2(11.2)ホームからemdwgrdユーティリティを実行する必要があります。ただし、ORACLE_HOMEおよび他の環境変数を、アップグレードが実行される前のOracleホームを指すように設定する必要があります。

次の手順は、LinuxおよびUNIX用です。この手順をWindowsで実行する場合は、emdwgrdemdwgrd.batに置き換えてください。

次の手順に従って、Database Controlのファイルおよびデータをリストアします。

  1. ORACLE_HOMEを、データベースがアップグレードされる前のOracleホームに設定します。

    インプレース・パッチ・セット・アップグレードでは、元のホームのバックアップを(11.1.0.6からアップグレードしている場合はOracle Bug#7131048の個別パッチを使用して)リストアして、ORACLE_HOMEを現行のOracleホームに設定します。

  2. ORACLE_SIDを、アップグレード後にダウングレードされたデータベースのSIDに設定します。

  3. データベースがアップグレードされる前のOracleホームを指すように、PATHLD_LIBRARY_PATHおよびSHLIB_PATHを設定します。

  4. Oracle Database 11gリリース2(11.2)のホームに移動します。

    cd ORACLE_HOME/bin
    
  5. 次のいずれかを実行します。

    1. 単一インスタンス・データベースの場合は、次のコマンドを実行します。SIDはアップグレード後にダウングレードされたデータベースのSIDで、save_directoryは、Database Controlのファイルおよびデータの保存時に選択した記憶域の場所へのパスです。

      emdwgrd -restore -sid SID -path save_sirectory -tempTablespace TEMP
      
    2. Oracle RACデータベースの場合、クラスタ・ノード間のリモート・コピーが必要です。構成済のリモート・コピーを示す環境変数を定義します。次に例を示します。

      setenv EM_REMCP /usr/bin/scp
      

      その後、次のrestoreコマンドを実行します。

      emdwgrd -restore -tempTablespace TEMP -cluster -sid SID10g -path save_directory
      

      10gのOracleホームが共有デバイス上にある場合は、前述のコマンドラインに-sharedを追加します。

  6. emdwgrdにより要求された場合は、SYSおよびSYSMANパスワードを入力します。

  7. 単一インスタンスのデータベースの場合は、emdwgrdユーティリティによって次のような内容が出力されます。

    Sat Apr 28 09:27:09 2007 - Verify EM DB Control files ... pass
    Sat Apr 28 09:27:09 2007 - Validating DB Connection to DB102 ... pass
    Sat Apr 28 09:27:19 2007 - Validating TEMP tablespace in DB102 ... pass
    Sat Apr 28 09:27:20 2007 - creating directory ... created
    Sat Apr 28 09:27:20 2007 - Stopping DB Control ... stopped
    Sat Apr 28 09:27:21 2007 - dropping sysman schema ... dropped
    Sat Apr 28 09:27:22 2007 - recreating sysman user ... recreated
    Sat Apr 28 09:27:23 2007 - Restoring DB Control files ... restored
    Sat Apr 28 09:27:23 2007 - Importing sysman schema ... imported
    Sat Apr 28 09:30:42 2007 - recompiling invalid objects ... recompiled
    Sat Apr 28 09:30:54 2007 - Starting DB Control ... started
    Sat Apr 28 09:32:37 2007 - DB Control was restored successfully.
    

    emdwgrdの終了時に、Oracle Enterprise Manager Database Controlは古いOracleホームにダウングレードされています。

    Oracle RACデータベースの場合は、emdwgrdユーティリティによって次のような内容が出力されます。

    $ /scratch/oracle/product/11.1.0/db_1/bin/emdwgrd -srcOracleHome $ORACLE_HOME -sid DB102 -path /scratch/rpattabh/ravi/tmp/dbcdir5 -restore –cluster -tempTablespace TEMP
     
    Enter sys password for database DB102?
    *****
     
    Enter sysman password for database DB102?
    *****
     
    Sat Apr 28 09:27:09 2007 - Verify EM DB Control files ... pass
    Sat Apr 28 09:27:09 2007 - Validating DB Connection to DB102 ... pass
    Sat Apr 28 09:27:19 2007 - Validating TEMP tablespace in DB102 ... pass
    Sat Apr 28 09:27:20 2007 - creating directory ... created
    Sat Apr 28 09:27:20 2007 - Stopping DB Control on all Nodes 
    stbdq04, r101b1, /oradbnas/sangeeta/10.1.0/db, stop, 0
    stbdq05, r101b2, /oradbnas/sangeeta/10.1.0/db, stop, 1
     
    Please Execute '/tmp/racdwgrd_dbctl.sh' on Node1, Node2. 
     
    Press yes to continue when the operations are successful. 
    Continue (yes/no) ?
    y
     
    ... stopped
    Sat Apr 28 09:27:21 2007 - dropping sysman schema ... dropped
    Sat Apr 28 09:27:22 2007 - recreating sysman user ... recreated
    Sat Apr 28 09:27:23 2007 - Restoring DB Control files 
    Executing Restore directories to node Node1
    Executing Restore directories to node Node2
     
    ... restored
    Sat Apr 28 09:27:23 2007 - Importing sysman schema ... imported
    Sat Apr 28 09:30:42 2007 - recompiling invalid objects ... recompiled
    Sat Apr 28 09:32:37 2007 - DB Control was restored successfully.
    Sat Apr 28 09:33:54 2007 - Starting DB Control On All nodes 
     
    Please Execute '/tmp/racdwgrd_dbctl.sh' on Node1, Node2. 
     
    Press yes to continue when the operations are successful. 
    Continue (yes/no) ?
    y
     
    ... started
    Sat Apr 28 09:38:57 2007 - Dump directory was dropped successfully.
    

Oracle Databaseのダウングレード後のOracle Database Vaultの再有効化

Oracle Database Vaultを使用している場合は、データベースをダウングレードする前にこれを無効にするように指示がありました。ダウングレード後にOracle Database Vaultを使用するには、これを再有効化する必要があります。

ダウングレード後にOracle Database Vaultを有効化するには、次の手順を実行します。

  1. DV_OWNERロールを付与されているユーザーとしてSQL*Plusに接続します。

  2. 次の文を発行します。

    ALTER TRIGGER DVSYS.DV_BEFORE_DDL_TRG ENABLE;
    ALTER TRIGGER DVSYS.DV_AFTER_DDL_TRG ENABLE;
    

関連項目:

『Oracle Database Vault管理者ガイド』

ダウングレード後のOracle Clusterware構成のリストア

Oracle Clusterware構成をOracle Clusterware 11gリリース2(11.2)のアップグレード前の状態にリストアできます。そのためには、アップグレード前のリリースをリストアする必要があります。11gリリース2(11.2)のアップグレード処理中またはアップグレード処理後に実行した構成変更は削除され、リカバリできません。


関連項目:

  • 『Oracle Grid Infrastructureインストレーション・ガイドfor Linux』

  • Microsoft Windows (32-Bit)、Microsoft Windows (64-Bit) on Intel Itanium、Microsoft Windows x64用の『Oracle Grid Infrastructureインストレーション・ガイド』

  • 『Oracle Clusterware管理およびデプロイメント・ガイド』

  • 『Oracle Databaseストレージ管理者ガイド』


以前のリリースからのダウングレードおよびデータベース・リンク

ダウングレードする前に、Oracle Data Pumpのデータベースの全体エクスポートをINCLUDE=DBLINKパラメータとともに使用して、ダウングレードするデータベースへのインポートに適したダンプ・ファイルに、すべてのデータベース・リンクをエクスポートする必要があります。その後、このダンプ・ファイルは、ダウングレード後にデータベース・リンクを置き換えるために使用できます。

新しく作成するデータベース・リンク(ダウングレード元の新しいリリースを実行中に作成する可能性があるデータベース・リンク)のパスワードを確認します。以前のリリース11.1にダウングレードした後でデータベース・リンク・パスワードをリセットする必要があるため、データベース・リンク・パスワードが必要です。これは、新しいリリースへのアップグレード後に新しく作成したdblinkにのみ必要です。

データベース・リンク・パスワードがリセットされない場合、そのデータベース・リンクの使用を試みると内部エラーが表示されます。Oracleサーバーがデータベース・リンクのパスワードを取得できないときにOracleトレース・ファイルに記録される内部エラーは、「ORA-00600: [kzdlk_zt2 err], [18446744073709551601]」です。また、ダウングレード完了後に、dblinkを再作成することもできます。


注意:

新しいOracle Databaseリリース11.2のアップグレード実行中に、ORA-00600の問題に影響されない新しいデータベース・リンクを作成する場合、Oracle Supportに問い合せることができます。

Oracle Databaseのダウングレードのトラブルシューティング

Oracleでは、Oracle Databaseをダウングレードする際に発生する可能性のある問題に関してトラブルシューティング情報を提供しています。このリリースに関する最新情報については、『Oracle Databaseプラットフォーム共通日本語README』を参照してください。

Oracle Grid Infrastructureのリリース11.2のダウングレードの失敗

Oracle Grid Infrastructureのリリース11.2のダウングレードが失敗した場合は、https://support.oracle.comでLinux/Unixに関するサポート・ノート「How to Proceed from Failed Upgrade to Grid Infrastructure」(ID 969254.1)を参照してください。対応を実行する前に、ノート全体を読んでおくことをお薦めします。

11.2.0.1 xsrelod.sqlスクリプトで発生したエラー

Oracle Databaseをリリース11.2.0.2または11.2.0.3からリリース11.2.0.1にダウングレードする場合、リリース11.2.0.1に付属するxsrelod.sqlスクリプトからエラーが発生する場合があります。この問題が発生するのは、リリース11.2.0.1にダウングレードした後に、XML DB索引を有効化しようとした場合のみです。エラー「ORA-01418: 指定した索引は存在しません。」が発生する可能性がありますが、無視して問題ありません。

Oracle Multimedia imrelod.sqlスクリプトで発生したエラー

Oracle Databaseをリリース11.2.0.2にダウングレードする場合、リリース11.2.0.2に付属するimrelod.sqlスクリプトからエラーが発生する場合があります。ORA-20000: レジストリ内のOracle ORDIMコンポーネントのステータスがDOWNGRADEDです。Oracle Multimediaをアップグレード、ダウングレードまたはパッチ適用する前にOracle ORDIMをインストールし、有効化しておく必要があります、というエラーは無視して問題ありません。

Oracle Databaseのダウングレードが原因の無効なオブジェクトCTX_FILTER_CACHE_STATISTICS

Oracle Databaseのダウングレード後に、次の無効なテキスト・オブジェクトが表示される場合があります。

CTX_FILTER_CACHE_STATISTICS (synonym)
CTX_FILTER_CACHE_STATISTICS (view)

Oracle Databaseの現行リリースでこの問題を修正するには、catdwgrd.sqlスクリプトの実行後、catrelod.sqlスクリプトの実行前に、次の2つのコマンドを発行します。

SQL> drop public synonym ctx_filter_cache_statistics;
SQL> drop view ctx_filter_cache_statistics;