Oracleドメイン・サービス・クラスタの12cリリース2 (12.2)へのダウングレード

アップグレードが正常に完了した後、Oracleドメイン・サービス・クラスタをOracle Grid Infrastructure 12cリリース2 (12.2)にダウングレードするには、次の手順を使用します。

  1. gridユーザーとして、管理データベースをOracle Grid Infrastructure 12cリリース2 (12.2)にダウングレードします。
    1. 最新のタイム・ゾーン・ファイルを18cのGridホームから12cリリース2 (12.2)のGridホームに手動でコピーします。ここで、timezlrg_numberは最新のtimzlrgファイルの名前で、timezone_numberは最新のtimezoneファイルの名前です。

      $ cp $ORACLE_HOME/oracore/zoneinfo/timezlrg_number.dat /u01/app/12.2.0/grid/oracore/zoneinfo/timezlrg_number.dat
      $ cp $ORACLE_HOME/oracore/zoneinfo/timezone_number.dat /u01/app/12.2.0/grid/oracore/zoneinfo/timezone_number.dat
    2. 18cのGridホームから次のコマンド構文を使用して、アプリケーション・スキーマをダウングレードします。

      $ $ORACLE_HOME/bin/mgmtua downgrade -local -oldOracleHome /u01/app/12.2.0/grid -skipSystemSchemaDowngrade
    3. 18cのGridホームからMGMTDBリソースを無効にして停止します。

      $ cd $ORACLE_HOME/bin
      $ ./srvctl disable mgmtdb
      $ ./srvctl stop mgmtdb
      
    4. 次の手順を使用して、システム・スキーマをダウングレードします。

      1. 18c GridホームのORACLE_SID環境変数を設定します。

        $ export ORACLE_SID=-MGMTDB
        $ cd $ORACLE_HOME/bin
      2. CDBおよびすべてのPDBをダウングレード・モードで起動します。

        $ ./sqlplus / as sysdba
        SQL> startup downgrade
        SQL> alter pluggable database all open downgrade;
        SQL> exit
        
      3. 次のコマンド構文を使用して、18cのManagement Databaseをダウングレードします。ここで、/u01/app/grid2はOracle Grid Infrastructure 18cのOracleベースです。

        $ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d 
        /u01/app/grid2 -e -l /u01/app/grid2/cfgtoollogs/mgmtua -b mgmtdowngrade -r 
        $ORACLE_HOME/rdbms/admin/catdwgrd.sql
      4. 12cリリース2 (12.2)のGridホームの環境変数ORACLE_HOMEおよびORACLE_SIDを設定します。

        $ export ORACLE_HOME=/u01/app/12.2.0/grid/
        $ export ORACLE_SID=-MGMTDB
        $ cd $ORACLE_HOME/bin
      5. CDBおよびすべてのPDBをアップグレード・モードで起動します。

        $ ./sqlplus / as sysdba
        SQL> shutdown immediate
        SQL> startup upgrade
        SQL> alter pluggable database all open upgrade;
        SQL> exit
        
      6. 次のコマンド構文を使用して、12cリリース2 (12.2) Management Databaseのcatrelodスクリプトを実行します。ここで、/u01/app/gridはOracle Grid Infrastructure 12cリリース2 (12.2)のOracleベースです。

        $ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d 
        /u01/app/grid -e -l /u01/app/grid/cfgtoollogs/mgmtua -b mgmtdowngrade 
        $ORACLE_HOME/rdbms/admin/catrelod.sql
      7. 12cリリース2 (12.2)のGridホームから次のコマンド構文を使用して、ダウングレード後に無効になっているすべてのオブジェクトを再コンパイルします。

        $ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d 
        /u01/app/grid -e -l /u01/app/grid/cfgtoollogs/mgmtua -b mgmtdowngrade 
        $ORACLE_HOME/rdbms/admin/utlrp.sql
    5. Management Databaseを手動で停止します。

      $ ./sqlplus / as sysdba
      SQL> shutdown immediate
      SQL> exit
  2. rootユーザーとして、18cのGridホームから次のコマンド構文rootcrs.sh -downgradeを使用して、すべてのノードのOracle Grid Infrastructureを任意の順序でダウングレードします。次に例を示します。
    # $ORACLE_HOME/crs/install/rootcrs.sh -downgrade
    

    Oracle Grid Infrastructureのインストール・ユーザーに対して書込み権限のあるディレクトリから、このコマンドを実行します。1つを除くすべてのクラスタ・ノード上で、ダウングレード・スクリプトを並行して実行できます。

  3. rootユーザーとして、その他すべてのノードをダウングレードしてから、最後のノードをダウングレードします。
    # $ORACLE_HOME/crs/install/rootcrs.sh -downgrade
  4. gridユーザーとして、Oracle Grid Infrastructure 18cのGridホームを、アクティブなOracle Clusterwareホームとして削除します。
    1. rootupgrade.shスクリプトが正常に実行されたクラスタ・メンバー・ノードのいずれかで、Oracle Grid Infrastructureインストール所有者としてログインします。

    2. 次のコマンドを使用してインストーラを起動します(/u01/app/18.0.0/gridは新しい(アップグレードされた) Gridホームです)。

      $ cd $ORACLE_HOME/oui/bin
      ./runInstaller -nowait -waitforcompletion -ignoreSysPrereqs
      -updateNodeList -silent CRS=false 
      ORACLE_HOME=/u01/app/18.0.0/grid
      "CLUSTER_NODES=node1,node2,node3" 
       -doNotUpdateNodeList 

      Gridホームが共有ホームの場合は、フラグ-cfsを追加します。

  5. rootユーザーとして、すべてのノードで12cリリース2 (12.2) Oracle Clusterwareスタックを起動します。
    # crsctl start crs
  6. gridユーザーとして、Oracle Grid Infrastructure 12cリリース2 (12.2)のGridホームを、アクティブなOracle Clusterwareホームとして設定します。
    1. rootupgradeスクリプトが正常に実行されたクラスタ・メンバー・ノードのいずれかで、Oracle Grid Infrastructureインストール所有者としてログインします。

    2. 次のコマンドを使用して、インストーラを開始します。ORACLE_HOMEに指定するパスは、以前のOracle Clusterwareインストールのホーム・ディレクトリの場所です。

      $ cd $ORACLE_HOME/oui/bin
      $ ./runInstaller -nowait -waitforcompletion -ignoreSysPrereqs 
      -updateNodeList -silent CRS=true 
      ORACLE_HOME=/u01/app/12.2.0/grid
      "CLUSTER_NODES=node1,node2,node3"
  7. gridユーザーとして、Grid Infrastructureスタックが12cリリース2 (12.2) Gridホームから実行され、管理データベースおよびochadが実行されているノードからCHAモデルをダウングレードします。
    $ ./srvctl stop cha
    $ ./chactl import model -file /u01/app/12.2.0/grid/cha/model/os_gold.svm -name DEFAULT_CLUSTER
    $ ./chactl import model -file /u01/app/12.2.0/grid/cha/model/db_gold.svm -name DEFAULT_DB
    $ ./srvctl start cha

    前述の例では、DEFAULT_CLUSTERおよびDEFAULT_DBは、値として渡す必要があるファンクション名です。