2.12.8 交換データベース・サーバーへのOracle Grid Infrastructureのクローニング

この手順では、交換データベース・サーバーにOracle Grid Infrastructureをクローニングする方法について説明します。

次のコマンドのworking_serverは動作しているデータベース・サーバー、replacement_serverは交換データベース・サーバーです。この手順中のコマンドは、動作しているデータベース・サーバーからグリッド・ホーム所有者として実行します。コマンドの実行にrootユーザーが必要な場合はコールアウトされます。

  1. クラスタ検証ユーティリティ(cluvfy)を使用して、ハードウェアおよびオペレーティング・システムのインストールを検証します。
    $ cluvfy stage -post hwos -n replacement_server,working_server -verbose
    

    レポートの最後にPost-check for hardware and operating system setup was successfulのフレーズが表示されます。クラスタ検証ユーティリティが交換サーバーの記憶域の検証に失敗した場合は、それらのメッセージを無視できます。

  2. ピア互換性を検証します。
    $ cluvfy comp peer -refnode working_server -n replacement_server  \
      -orainv oinstall -osdba dba | grep -B 3 -A 2 mismatched
    

    次に、出力の例を示します。

    Compatibility check: Available memory [reference node: dm01db02]
    Node Name Status Ref. node status Comment
    ------------ ----------------------- ----------------------- ----------
    dm01db01 31.02GB (3.2527572E7KB) 29.26GB (3.0681252E7KB) mismatched
    Available memory check failed
    Compatibility check: Free disk space for "/tmp" [reference node: dm01db02]
    Node Name Status Ref. node status Comment
    ------------ ----------------------- ---------------------- ----------
    dm01db01 55.52GB (5.8217472E7KB) 51.82GB (5.4340608E7KB) mismatched
    Free disk space check failed
    

    障害が発生したコンポーネントだけが物理メモリー、スワップ領域およびディスク領域に関連している場合は、手順を継続できます。

  3. サーバーを追加するための前提条件チェックを実行します。
    1. GRID_HOME/network/admin/samplesディレクトリの権限が750に設定されていることを確認します。
    2. データベース・サーバーの追加を検証します。

      oracleユーザーとして次のコマンドを実行します。このコマンドでは、rootユーザーのパスワードを入力するよう求められます。

      $ cluvfy stage -pre nodeadd -n replacement_server -fixup -method root -verbose
      Enter "ROOT" password:

      障害が発生したコンポーネントだけがスワップ領域に関連している場合は、手順を継続できます。

      コマンドでエラーが返される場合は、次の環境変数を設定してコマンドを再実行します。

      $ export IGNORE_PREADDNODE_CHECKS=Y
      
  4. クラスタに交換データベース・サーバーを追加します。

    Oracle Grid Infrastructureリリース12.1以上を使用している場合は、次の例に示すようにCLUSTER_NEW_NODE_ROLES属性を含めます。

    $ cd GRID_HOME/addnode
    
    $ ./addnode.sh -silent "CLUSTER_NEW_NODES={replacement_server}" \
         "CLUSTER_NEW_VIRTUAL_HOSTNAMES={replacement_server-vip}" \
         "CLUSTER_NEW_NODE_ROLES={hub}"
    

    2つ目のコマンドを使用すると、Oracle Universal InstallerによってOracle Clusterwareソフトウェアが交換データベース・サーバーにコピーされます。次のようなメッセージが表示されます。

    WARNING: A new inventory has been created on one or more nodes in this session.
    However, it has not yet been registered as the central inventory of this
    system. To register the new inventory please run the script at
    '/u01/app/oraInventory/orainstRoot.sh' with root privileges on nodes
    'dm01db01'. If you do not register the inventory, you may not be able to update
    or patch the products you installed.
    
    The following configuration scripts need to be executed as the "root" user in
    each cluster node:
    
    /u01/app/oraInventory/orainstRoot.sh #On nodes dm01db01
    
    /u01/app/12.1.0.2/grid/root.sh #On nodes dm01db01
    
  5. 構成スクリプトを実行します。
    rootユーザーとして、次の例に示すコマンドを使用して、まずHAIPを無効にしてから、交換データベース・サーバーでorainstRoot.shおよびroot.shスクリプトを実行します。
    # export HAIP_UNSUPPORTED=true
    # /u01/app/oraInventory/orainstRoot.sh
    Creating the Oracle inventory pointer file (/etc/oraInst.loc)
    Changing permissions of /u01/app/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    Changing groupname of /u01/app/oraInventory to oinstall.
    The execution of the script is complete.
     
    # GRID_HOME/root.sh
    

    ノート:

    GRID_HOME/install/ログ・ファイルで、root.shスクリプトの出力結果を確認します。

    Oracle Grid Infrastructureリリース11.2を実行している場合、スクリプトによって作成された出力ファイルで、交換したデータベース・サーバーのリスナー・リソースの起動が失敗したことがレポートされます。これは予想された出力です。

    /u01/app/11.2.0/grid/bin/srvctl start listener -n dm01db01 \
    ...Failed
    /u01/app/11.2.0/grid/perl/bin/perl \
    -I/u01/app/11.2.0/grid/perl/lib \
    -I/u01/app/11.2.0/grid/crs/install \
    /u01/app/11.2.0/grid/crs/install/rootcrs.pl execution failed

    スクリプトの実行後、次のメッセージが表示されます。

    The Cluster Node Addition of /u01/app/12.1.0.2/grid was successful.
    Please check '/tmp/silentInstall.log' for more details.
    
  6. クラスタを確認します。
    $ GRID_HOME/bin/crsctl check cluster -all
    
    **************************************************************
    node1:
    CRS-4537: Cluster Ready Services is online
    CRS-4529: Cluster Synchronization Services is online
    CRS-4533: Event Manager is online
    **************************************************************
    node2:
    CRS-4537: Cluster Ready Services is online
    CRS-4529: Cluster Synchronization Services is online
    CRS-4533: Event Manager is online
    **************************************************************
    node3:
    CRS-4537: Cluster Ready Services is online
    CRS-4529: Cluster Synchronization Services is online
    CRS-4533: Event Manager is online
  7. Oracle Grid Infrastructureリリース11.2を実行している場合は、リスナー・リソースを再度有効にします。

    交換データベース・サーバーで次のコマンドを実行します。

    # GRID_HOME/grid/bin/srvctl enable listener -l LISTENER \
      -n replacement_server
    
    # GRID_HOME/grid/bin/srvctl start listener -l LISTENER  \
      -n replacement_server
  8. 交換サーバーでディスク・グループを起動します。
    1. ディスク・グループのステータスを確認します。

      次の例では、交換サーバーでディスク・グループがオフラインになっていることに注意してください。

      $ crsctl stat res -t
      --------------------------------------------------------------------------------
      Name           Target  State        Server                   State details       
      --------------------------------------------------------------------------------
      Local Resources
      --------------------------------------------------------------------------------
      ora.DATAC1.dg
                     ONLINE  ONLINE       node1              STABLE
                     OFFLINE OFFLINE      node2              STABLE
      ora.DBFS_DG.dg
                     ONLINE  ONLINE       node1              STABLE
                     ONLINE  ONLINE       node2              STABLE
      ora.LISTENER.lsnr
                     ONLINE  ONLINE       node1              STABLE
                     ONLINE  ONLINE       node2              STABLE
      ora.RECOC1.dg
                     ONLINE  ONLINE       node1              STABLE
                     OFFLINE OFFLINE      node2              STABLE
      
    2. オフライン・ディスク・グループごとに、元のサーバーまたは交換サーバーからオフラインであるディスク・グループごとにSTART DISKGROUPコマンドを実行します。
      $ srvctl start diskgroup -diskgroup dgname