ヘッダーをスキップ
Oracle Real Application Clusters管理およびデプロイメント・ガイド
11gリリース1(11.1)
E05738-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 クローニングを使用した新規クラスタのノードへのASMおよびOracle RACの追加

この章では、LinuxおよびUNIXシステムで、Oracle自動ストレージ管理(ASM)およびOracle Real Application Clusters(Oracle RAC)データベース・ホームを新規クラスタのノードにクローニングする方法について説明します。 Oracle RACを既存クラスタのノードに拡張する場合は、第7章を参照してください。

この章では、スクリプトの使用によって実装する非対話式のクローニング技術について説明します。 この章で説明するクローニング技術は、複数の同時クラスタ・インストールを実行する場合に最適です。スクリプトの作成は手動プロセスであり、間違いが発生する可能性があります。1つのクラスタのみをインストールする場合は、Oracle Universal InstallerやOracle Enterprise ManagerのProvisioning Pack機能などの従来の自動化された対話式のインストール方法を使用してください。


注意:

クローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerクローニングの間、プロビジョニング・プロセスでは、Oracleホームに関する詳細(クローニングのデプロイ先の位置、Oracle Databaseホームの名前、クラスタ内のノードのリストなど)が対話式で確認されます。

Oracle Enterprise Manager Grid ControlのProvisioning Pack機能のフレームワークによって、新規ノードおよびクラスタのプロビジョニングを簡単に自動化できます。多数のOracle RACクラスタを持つデータ・センターの場合、既存のクラスタへの新規クラスタおよび新規ノードのプロビジョニングを簡素化するクローニング手順を作成しておくと有効です。


内容は次のとおりです。

Oracle ASMおよびOracle Real Application Clustersのクローニングの概要

クローニングとは、既存のOracle Databaseインストールを別の位置にコピーし、コピーしたインストールを新しい環境で動作するように更新するプロセスのことです。ソースOracleホームで適用された1回限りのパッチによって行われた変更は、クローニング操作後も存在します。ソース・パスと宛先パス(クローニング対象のホスト)は同じである必要はありません。

クローニングは、次の場合に有効です。

クローン・インストールは、ソース・インストールと同様に動作します。たとえば、クローンOracleホームは、Oracle Universal Installerを使用して削除したり、OPatchを使用してパッチを適用することができます。また、クローンOracleホームを別のクローニング操作のソースとして使用することもできます。コマンドライン・クローニング・スクリプトを使用して、テスト、開発または本番インストールのクローン・コピーを作成できます。デフォルトのクローニング手順は、ほとんどの使用例に適しています。ただし、カスタム・ポート割当ての指定やカスタム設定の保存など、クローニングの様々な側面をカスタマイズすることもできます。

クローニング・プロセスでは、ソースOracleホームから宛先Oracleホームにすべてのファイルがコピーされます。このため、ソースOracleホームのディレクトリ構造外にあるソース・インスタンスによって使用されるすべてのファイルは、宛先位置にコピーされません。

ソースと宛先のバイナリのサイズは異なっている可能性があります。これは、これらのバイナリがクローニング操作の一部として再リンクされており、これら2つの位置のオペレーティング・システムのパッチ・レベルが異なっていることがあるためです。ソースからコピーされるいくつかのファイル、特にインスタンス化されているファイルは、クローニング操作の一部としてバックアップされるため、クローン・ホームのファイルの数は増加します。

Oracle ASMおよびOracle Real Application Clustersのクローニングの準備

準備フェーズでは、Oracle Databaseホームのコピーを作成し、次にそのコピーを使用して1つ以上のノードでクローニング手順を実行し、Oracle Clusterwareをインストールします。

手順1   Oracle Databaseソフトウェアのインストール

使用しているプラットフォーム固有のOracle Real Application Clustersのインストレーション・ガイドの詳細な説明に従って、Oracle Databaseソフトウェアおよびパッチをインストールします。

  1. Oracle Database 11gをインストールし、ソフトウェアのみインストール・オプションを選択します。

  2. リリースに必要なレベル(11.1.0.nなど)のパッチを適用します。

  3. 必要に応じて、1回限りのパッチを適用します。

手順2   ソース・ホームのバックアップの作成

Oracle Databaseホームのコピーを作成します。このファイルを使用して、Oracle Databaseホームをクラスタ内の各ノードにコピーします(「新規クラスタのノードへのASMおよびOracle RACのクローニング」を参照)。

バックアップ(tar)ファイルを作成する場合は、ファイルの名前にリリース番号を含めることをお薦めします。次に例を示します。

# cd /opt/oracle/product/11g/db_1# tar –zcvf /pathname/db11101.tgz .
手順3   Oracle Clusterwareのインストールおよび起動

クローニングを使用して新規Oracle RACホームを作成する前に、新規ノードにOracle Clusterwareをインストールし、起動する必要があります。つまり、OracleクラスタウェアおよびOracle Databaseソフトウェア・コンポーネントを元のノードにインストールした順序と同じ順序で、ソフトウェアを新規ノードに拡張します。


関連項目:

Oracle Clusterwareホームのクローニングによる新規クラスタの作成およびcrsctl start crsコマンドの発行によるOracle Clusterwareの起動については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

新規クラスタのノードへのASMおよびOracle RACのクローニング

「Oracle ASMおよびOracle Real Application Clustersのクローニングの準備」の項で説明した前提条件のタスクを完了した後、新規ASMおよびOracle RACホームをデプロイできます。この項のデプロイ手順は、2つのOracle Databaseホームを各ノードにデプロイすることを推奨するベスト・プラクティスに従います。1つのホームはASMインスタンス用、もう1つのホームはOracle RACデータベース・インスタンス用です。

次の項では、次の各手順を実行する方法について説明します。

これらの項で説明する複数手順のプロセスのスクリプトを作成し、サイレント・インストールとして自動的に実行できます。

ASMインスタンス・ホームのデプロイ

ASMホームをデプロイしてから、新規Oracle RACデータベース・ホームをデプロイする必要があります。この項では、次の各手順を実行する方法について説明します。

  1. 新規クラスタ・ノードの準備

  2. ASMソフトウェアのデプロイ

  3. 各ノードでのclone.plスクリプトの実行

  4. 各ノードでのASM_home/root.shスクリプトの実行

  5. NetCAの実行によるリスナーの作成

  6. DBCAの実行による各ノードでのASMインスタンスの作成


関連項目:

ASMの詳細は、『Oracle Databaseストレージ管理者ガイド』を参照してください。

手順1   新規クラスタ・ノードの準備

次のようなOracle Databaseのインストール前の手順を実行します。

  • カーネル・パラメータを指定します。

  • Hostsファイルでは、すべての名前に非ドメイン修飾の短縮名を使用します。

  • pingコマンドを使用して、インターコネクト・インタフェースに到達可能であるかどうかをテストします。

インストール前のチェックリストについては、ご使用のプラットフォーム固有のOracle RACのインストレーション・ガイドを参照してください。


注意:

インストールの従来の方法とは異なり、クローニング・プロセスでは、準備フェーズ中にユーザー入力が検証されません(Oracle Universal Installerを使用する従来のインストールの方法では、インタビュー・フェーズ中に様々なチェックが行われます)。このため、ハードウェアの設定中または準備フェーズで間違いがあった場合、クローン・インストールは失敗します。

手順2   ASMソフトウェアのデプロイ

ASMソフトウェアをデプロイするには、次の手順を実行する必要があります。

  1. ASMホームを元のホーム・ディレクトリ内のすべてのノード、または異なるディレクトリ・パスにリストアします。次に例を示します。

    [root@node1 root]# mkdir -p /opt/oracle/product/11g/asm
    [root@node1 root]# cd /opt/oracle/product/11g/asm
    [root@node1 asm]# tar –zxvf /pathname/asm11101.tgz
    

    ASMホームの位置は、tarファイルの作成に使用した元のソース・ホーム・ディレクトリと同じディレクトリ・パスにある必要はありません。

  2. すべてのファイルの所有権をoracleおよびoinstallグループに変更します。次に例を示します。

    [root@node1 asm]# chown –R oracle:oinstall /opt/oracle/product/11g/asm
    

注意:

この手順は、各クラスタ・ノードでclone.plスクリプトおよびASM_home/root.shスクリプトを実行する手順3および4と同時に実行できます。

手順3   各ノードでのclone.plスクリプトの実行

主なASMクローニング・タスクを実行するclone.plスクリプトを実行するには、次の操作を行う必要があります。

  • 表5-1および表5-2に示すように、start.shスクリプトに環境変数とクローニング・パラメータを指定します。clone.plスクリプトでは、渡されるパラメータが厳密に識別されるため、括弧、一重引用符および二重引用符を正確に使用する必要があります。

  • oracleのオペレーティング・システム・ユーザーとしてスクリプトを起動します。

例5-1に、LinuxおよびUNIXでclone.plスクリプトをコールするstart.shスクリプトからの抜粋を示します。

例5-1 ASMをクローニングするstart.shスクリプトからの抜粋(LinuxおよびUNIX)

ORACLE_BASE=/opt/oracle
ASM_home=/opt/oracle/product/11g/asm
cd ASM_home/clone
THISNODE=`hostname -s`
E01=ORACLE_HOME=${ASM_home}
E02=ORACLE_HOME_NAME=OraDBASM
E03=ORACLE_BASE=/opt/oracle
C01="-O'CLUSTER_NODES={node1, node2}'"
C02="'-OLOCAL_NODE=$THISNODE'"
perl ASM_home/clone/bin/clone.pl $E01 $E02 $E03 $C01 $C02

例5-2に、ユーザーが作成する必要があり、Windowsでclone.plスクリプトをコールするstart.batスクリプトからの抜粋を示します。

例5-2 ASMをクローニングするstart.batスクリプトからの抜粋(Windows)

set ASM_home=Oracle_home
cd %ASM_home%\clone\bin
set THISNODE=%hostname%
set E01=ORACLE_HOME=%ASM_home%
set E02=ORACLE_HOME_NAME=OraDBASM
set E03=ORACLE_BASE=Oracle_Base
set C01="-O'CLUSTER_NODES={node1,node2}'"
set C02="-O'LOCAL_NODE=%THISNODE%'"
perl clone.pl %E01% %E02% %E03% %C01% %C02%

例5-1に太字体で示されている環境変数E01、E02およびE03を表5-1に示します。

表5-1 clone.plスクリプトに渡される環境変数

記号 変数 説明

E01

ORACLE_HOME

ASMホームの位置。このディレクトリ位置が存在し、Oracleオペレーティング・システム・グループoinstallによって所有されている必要があります。

E02

ORACLE_HOME_NAME

ASMホームのOracleホームの名前。Oracleインベントリに格納されています。

E03

ORACLE_BASE

Oracleベース・ディレクトリの位置。


表5-2に、例5-1に太字体で示されているクローニング・パラメータC01およびC02を示します。

表5-2 clone.plスクリプトに渡されるクローニング・パラメータ

変数 名前 パラメータ 説明

C01

クラスタ・ノード

CLUSTER_NODES

クラスタ内のノードのリストを表示します。

C02

ローカル・ノード

LOCAL_NODE

ローカル・ノードの名前。


手順4   各ノードでのASM_home/root.shスクリプトの実行

注意:

この手順は、LinuxおよびUNIXのインストールに対してのみ実行します。

ノードでclone.plプロシージャが完了した後、すぐにrootオペレーティング・システム・ユーザーとしてASM_home/root.shを実行します。

各ノードでスクリプトが完了していることを確認し、次の手順に進みます。

手順5   NetCAの実行によるリスナーの作成

Oracle ASMホームのインストールの最後に、Oracle Universal Installerでは各ノードにリスナーを作成し、ノードをOracle ClusterwareとともにCRSリソースとして登録します。

次の例では、NetCAをサイレント・モードで実行してリスナーを作成する方法を示します。 レスポンス・ファイルに、変数のかわりにnode1node2のノード名を指定します。NetCAでは、レスポンス・ファイルを使用して、各ノードでlistener.oraエントリの作成、リスナーの起動およびOracle Cluster Registry(OCR)へのリスナーの追加を行います。

[oracle@node1 oracle]$ cd $ORACLE_HOME/bin/
[oracle@node1 bin]$ ./netca /silent \
            /responseFile $ORACLE_HOME/network/install/netca_typ.rsp \
            /inscomp server \
            /nodeinfo node1,node2
手順6   DBCAの実行による各ノードでのASMインスタンスの作成

この手順では、DBCAをサイレント・モードで実行し、レスポンス・ファイルに入力してASMインスタンスおよび最初のASMディスク・グループを作成する方法を示します。

次の例では、各ノードでASMインスタンスを作成し、それらのインスタンスをOracle Cluster Registryに登録し、+DATAと呼ばれるASMディスク・グループを作成します。ASMディスク・グループは、sde1sdf1sdg1およびsdh1の4つのディスクで構成されます。また、この例では、passwordにSYSパスワードを設定します。passwordはパスワードです。

[oracle@node1 oracle]$ export ORACLE_HOME=/opt/oracle/product/11g/asm
[oracle@node1 oracle]$ cd $ORACLE_HOME/bin/
[oracle@node1 bin]$ ./dbca -silent -configureASM -gdbName NO -sid NO \
             -emConfiguration NONE \
             -diskList "/dev/sde1,/dev/sdf1,/dev/sdg1,/dev/sdh1" \
             -diskString "/dev/sd[e-h]1" \
             -diskGroupName "DATA" \
             -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates \
             -nodeinfo node1,node2 \
             -obfuscatedPasswords false \
             -oratabLocation /etc/oratab \
             -asmSysPassword password \
             -redundancy EXTERNAL

関連項目:

DBCAを使用したデータベースの作成と構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

Oracle Real Application Clustersデータベース・ホームのデプロイ

新規クラスタへのOracle RACデータベース・ホームのデプロイメントは複数手順のプロセスです。手順は、「ASMインスタンス・ホームのデプロイ」で説明したASMホームの作成で実行した手順とほぼ同じです。相違は、Oracle RACデータベースをデプロイする場合、データベース・ホーム内にリスナーを作成せず、異なるDBCAパラメータを指定してOracle RACデータベース・ホームをデプロイする点です。

この項では、次の各手順を実行する方法について説明します。

  1. 新規クラスタ・ノードの準備

  2. Oracle RACデータベース・ソフトウェアのデプロイ

  3. 各ノードでのclone.plスクリプトの実行

  4. 各ノードでの$ORACLE_HOME/root.shスクリプトの実行

  5. DBCAの実行による各ノードでのOracle RACインスタンスの作成

手順1   新規クラスタ・ノードの準備

次のようなOracle Databaseのインストール前の手順を実行します。

  • カーネル・パラメータを指定します。

  • Hostsファイルでは、すべての名前に非ドメイン修飾の短縮名を使用します。

  • パブリック名およびインターコネクト名がping可能であることを検証します。

  • Oracle Clusterwareがアクティブであることを確認します。

  • ASMがアクティブであり、少なくとも1つのASMディスク・グループが構成されていることを確認します。

インストール前のチェックリストについては、ご使用のプラットフォーム固有のOracle RACのインストレーション・ガイドを参照してください。

手順2   Oracle RACデータベース・ソフトウェアのデプロイ

Oracle RACデータベース・ソフトウェアをデプロイするには、次の手順を実行する必要があります。

  1. Oracle Databaseホームをすべてのノードにリストアします。次に例を示します。

    [root@node1 root]# mkdir -p /opt/oracle/product/11g/db
    [root@node1 root]# cd /opt/oracle/product/11g/db
    [root@node1 db]# tar –zxvf /pathname/db11101.tgz
    

    ホームの位置とpathnameの指定では、ホームの位置を、tarの作成に使用したソース・ホームと同じディレクトリ・パスにすることも、異なるディレクトリ・パスにすることもできます。

  2. すべてのファイルの所有権をoracleおよびoinstallグループに変更します。次に例を示します。

    [root@node1 db]# chown –R oracle:oinstall /opt/oracle/product/11g/db
    

注意:

この手順は、各クラスタ・ノードでclone.plスクリプトおよびORACLE_HOME/root.shスクリプトを実行する手順3および4と同時に実行できます。

手順3   各ノードでのclone.plスクリプトの実行

主なOracle RACクローニング・タスクを実行するclone.plスクリプトを実行するには、次の操作を行う必要があります。

  • 表5-3および表5-4に示すように、start.shスクリプトに環境変数とクローニング・パラメータを指定します。clone.plスクリプトでは、渡されるパラメータが厳密に識別されるため、括弧、一重引用符および二重引用符を正確に使用する必要があります。

  • oracleのオペレーティング・システム・ユーザーとしてスクリプトを起動します。

例5-3に、clone.plスクリプトをコールするstart.shスクリプトからの抜粋を示します。

例5-3 Oracle RACデータベースをクローニングするstart.shスクリプトからの抜粋(LinuxおよびUNIX)

ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/11g/db
cd $ORACLE_HOME/clone
THISNODE=`hostname -s`

E01=ORACLE_HOME=${ORACLE_HOME}
E02=ORACLE_HOME_NAME=OraDBRAC
E03=ORACLE_BASE=/opt/oracle
C01="-O'CLUSTER_NODES={node1, node2}'"
C02="-O'LOCAL_NODE=$THISNODE'"

perl $ORACLE_HOME/clone/bin/clone.pl $E01 $E02 $E03 $C01 $C02

例5-4に、ユーザーが作成する必要があり、clone.plスクリプトをコールするstart.batスクリプトからの抜粋を示します。

例5-4 Oracle RACデータベースをクローニングするstart.batスクリプトからの抜粋(Windows)

set ORACLE_home=Oracle_home
cd %ORACLE_home%\clone\bin
set THISNODE=%hostname%
set E01=ORACLE_HOME=%ORACLE_home%
set E02=ORACLE_HOME_NAME=OraDBRAC
set E03=ORACLE_BASE=Oracle_Base
set C01="-O'CLUSTER_NODES={node1,node2}'"
set C02="-O'LOCAL_NODE=%THISNODE%'"
perl clone.pl %E01% %E02% %E03% %C01% %C02%

表5-3に、例5-3に太字体で示されている環境変数E01、E02およびE03を示します。

表5-3 clone.plスクリプトに渡される環境変数

記号 変数 説明

E01

ORACLE_HOME

Oracle RACデータベース・ホームの位置。このディレクトリ位置が存在し、Oracleオペレーティング・システム・グループoinstallによって所有されている必要があります。

E02

ORACLE_HOME_NAME

Oracle RACデータベースのOracleホームの名前。Oracleインベントリに格納されています。

E03

ORACLE_BASE

Oracleベース・ディレクトリの位置。


表5-4に、例5-3に太字体で示されているクローニング・パラメータC01およびC02を示します。

表5-4 clone.plスクリプトに渡されるクローニング・パラメータ

変数 名前 パラメータ 説明

C01

クラスタ・ノード

CLUSTER_NODES

クラスタ内のノードのリストを表示します。

C02

ローカル・ノード

LOCAL_NODE

ローカル・ノードの名前。


手順4   各ノードでの$ORACLE_HOME/root.shスクリプトの実行

注意:

この手順は、LinuxおよびUNIXのインストールに対してのみ実行します。

ノードでclone.plプロシージャが完了した後、すぐにrootオペレーティング・システム・ユーザーとして$ORACLE_HOME/root.shを実行します。

LD_LIBRARY_PATH環境変数を設定してから、root.shスクリプトを実行する必要があります。次に例を示します。

[root@node1 root]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
[root@node1 root]# /opt/oracle/product/11g/db/root.sh -silent

各ノードでスクリプトを同時に実行できます。

[root@node2 root]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
[root@node2 root]# /opt/oracle/product/11g/db/root.sh -silent

各ノードでスクリプトが完了していることを確認し、次の手順に進みます。

手順5   DBCAの実行による各ノードでのOracle RACインスタンスの作成

この手順では、DBCAをサイレント・モードで実行し、レスポンス・ファイルに入力してOracle RACインスタンスを作成する方法を示します。

次の例では、各ノードでOracle RACインスタンスを作成し、OCRにインスタンスを登録し、DATAと呼ばれるASMディスク・グループにデータベース・ファイルを作成し、サンプル・スキーマを作成します。また、この例では、syssystemsysmanおよびdbsnmpパスワードを、それぞれのパスワードpasswordに設定しています。

               [oracle@node1 oracle]$ export ORACLE_HOME=/opt/oracle/product/11g/db
               [oracle@node1 oracle]$ cd $ORACLE_HOME/bin/
               [oracle@node1 bin]$./dbca -silent -createDatabase -templateName General_Purpose.dbc\
           -gdbName ERI -sid ERI
           -sysPassword password -systemPassword password \
           -sysmanPassword password -dbsnmpPassword password \
           -emConfiguration LOCAL \
           -storageType ASM -diskGroupName DATA \
           -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates \
           -nodeinfo node1,node2 -characterset WE8ISO8859P1 \
           -obfuscatedPasswords false -sampleSchema true \
           -oratabLocation /etc/oratab

関連項目:

DBCAを使用したデータベースの作成と構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

クローニング時に生成されたログ・ファイルの検索および表示

クローニング・スクリプトでは、複数のツールが実行されます。これらのツールでは、それぞれ独自のログ・ファイルが生成されます。clone.plスクリプトの実行が完了した後、ログ・ファイルを表示してクローニング処理の詳細を参照できます。

クローニング時に生成された次のログ・ファイルは、診断のための主要なログ・ファイルです。

表5-5に、Oracleインベントリ・ディレクトリの位置を確認する方法を示します。

表5-5 Oracleインベントリ・ディレクトリの位置の確認

システムのタイプ Oracleインベントリ・ディレクトリの位置

LinuxおよびIBM AIXを除くすべてのUNIXコンピュータ

/var/opt/oracle/oraInst.loc

IBM AIXおよびLinux

/etc/oraInst.locファイル

Windows

Windowsのレジストリ・キーHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\INST_LOCから位置を取得します。