プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
11g リリース2 (11.2)
B56290-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 新規クラスタのノードへのOracle RACのクローニング

この章では、LinuxおよびUNIXシステムで、Oracle Real Application Clusters(Oracle RAC)データベース・ホームを新規クラスタのノードにクローニングする方法について説明します。Oracle RACを既存クラスタのノードに拡張するには、第9章「クローニングを使用した同じクラスタのノードへのOracle RACの拡張」を参照してください。

この章では、スクリプトを使用して実装する非対話式のクローニング技術について説明します。この章で説明するクローニング技術は、複数の同時クラスタ・インストールを実行する場合に最適です。スクリプトの作成は手動プロセスであり、間違いが発生する可能性があります。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 RACのクローニングの概要

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

クローニングは、次のような状況で役立ちます。

  • クローニングによって、Oracleホームを一度準備してから、同時に多数のホストにデプロイできます。非対話形式のプロセスとして、インストールをサイレントに完了できます。グラフィカル・ユーザー・インタフェース(GUI)のコンソールを使用する必要がなく、必要に応じて、セキュア・シェル(SSH)・ターミナル・セッションからクローニングを実行できます。

  • クローニングでは、すべてのパッチを1つの手順で適用してインストール(本番、テストまたは開発インストールのコピー)を作成できます。ベースとなるインストールを実行し、すべてのパッチ・セットとパッチをソース・システムに適用した後、これらの個々の手順のすべてを1つの手順としてクローニングで実行します。この方法は、インストール、構成およびクラスタの各ノードでのインストールへのパッチ適用の手順を個別に実行するインストール・プロセスとは大幅に異なっています。

  • クローニングによるOracle RACのインストールは、非常に迅速なプロセスです。たとえば、3つ以上のノードの新規クラスタにOracleホームをクローニングする場合、Oracleベース・ソフトウェアのインストールに数分と各ノードに対して数分ずつ必要となります(root.shスクリプトの実行に要する時間とほぼ同じ)。

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

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

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

Oracle RACのクローニングの準備

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

手順1   Oracle RACのインストール

『Oracle Real Application Clustersインストレーション・ガイド』に従って、Oracle RACソフトウェアおよびパッチをインストールします。

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

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

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

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

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

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

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

クローニングを使用してOracle RACホームを作成する前に、クローニングされたOracle RACホームをコピーするノードにOracle Clusterwareをインストールし、起動しておく必要があります。つまり、元のノードでOracle ClusterwareとOracle RACソフトウェア・コンポーネントをインストールしたときと同じ順序で、ソース・クラスタからターゲット・クラスタのノードにクローニングしたOracle RACホームを構成します。


関連項目:

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

クラスタのノードへのOracle RACのクローニングのデプロイ

「Oracle RACのクローニングの準備」の項で説明した前提条件のタスクを完了した後、クローニングしたOracleホームをデプロイできます。

Oracle RACデータベース・ホームのクラスタへのデプロイは、複数の手順によるプロセスです。

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

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

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

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

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

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

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

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

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

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

  • Oracle ASMがアクティブであり、少なくとも1つのOracle ASMディスク・グループが存在し、マウント済であることを確認します。

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

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

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

  1. Oracleホームのクローンをすべてのノードにコピーします。次に例を示します。

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

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

  2. oracleユーザーまたはoinstallグループ(あるいはその両方)が、ソース・ノードと宛先ノード間で異なる場合は、次のように、Oracle Inventoryファイルの所有権を変更します。

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

    Gridホームで前述のコマンドを実行すると、Oracleバイナリからsetuidsetgidの情報が消去されます。


    注意:

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

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

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

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

  • oracleまたはOracle RACソフトウェアを所有するユーザーとしてスクリプトを実行します。

表8-1に、clone.plスクリプト・パラメータとその説明を示します。

表8-1 clone.plスクリプト・パラメータ

パラメータ 説明
ORACLE_HOME=Oracle_home

クローニングするOracleホームへの完全なパス。無効なパスを指定すると、スクリプトが終了します。このパラメータは必須です。

ORACLE_BASE=ORACLE_BASE

クローニングするOracleベースへの完全なパス。無効なパスを指定すると、スクリプトが終了します。このパラメータは必須です。

ORACLE_HOME_NAME=
Oracle_home_name |
-defaultHomeName

クローニングするホームのOracleホーム名。オプションで、-defaultHomeNameフラグを指定できます。このパラメータはオプションです。

OSDBA_GROUP=group_name

OSDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

OSOPER_GROUP=group_name

OSOPER権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

OSASM_GROUP=group_name

OSASM権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

-O

clone.plスクリプトによって、このフラグに続く内容がOracle Universal Installerのコマンドラインに渡されます。

-debug

このオプションは、clone.plスクリプトをデバッグ・モードで実行する場合に指定します。

-help

このオプションは、clone.plスクリプトのヘルプを表示する場合に指定します。


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

例8-1 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=/opt/oracle/product/11g/db
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

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

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

set ORACLE_home=C:\oracle\product\11g\db1
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%

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

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

記号 変数 説明

E01

ORACLE_HOME

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

E02

ORACLE_HOME_NAME

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

E03

ORACLE_BASE

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


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

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

変数 名前 パラメータ 説明

C01

クラスタ・ノード

CLUSTER_NODES

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

C02

ローカル・ノード

LOCAL_NODE

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


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

注意:

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

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

[root@node1 root]# /opt/oracle/product/11g/db/root.sh -silent

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

[root@node2 root]# /opt/oracle/product/11g/db/root.sh -silent

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

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

注意:

すべてのノードのOracle RACインスタンスを作成する場合、クラスタの1つのノードでDBCAを実行するだけで済みます。

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

次の例では、ERIという名前のOracle RACデータベースを各ノードで作成し、各ノードにデータベース・インスタンスを作成し、そのインスタンスをOCRに登録し、DATAと呼ばれるOracle 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 \
-nodelist node1,node2 -characterset WE8ISO8859P1 \
-obfuscatedPasswords false -sampleSchema true

関連項目:

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

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

クローニング・スクリプトは複数のツールを実行し、それぞれが独自にログ・ファイルを生成する可能性があります。clone.plスクリプトの実行が終了した後、ログ・ファイルを参照して、クローニング・プロセスに関する詳細情報を入手できます。

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

  • Central_Inventory/logs/cloneActionstimestamp.log

    クローニングのOracle Universal Installerの部分で発生したアクションの詳細なログが含まれます。

  • Central_Inventory/logs/oraInstalltimestamp.err

    Oracle Universal Installerの実行時に発生したエラーに関する情報が含まれます。

  • Central_Inventory/logs/oraInstalltimestamp.out

    Oracle Universal Installerによって生成されたその他のメッセージが含まれます。

  • $ORACLE_HOME/clone/logs/clonetimestamp.log

    クローニング前とクローニング操作中に発生したアクションの詳細なログが含まれます。

  • $ORACLE_HOME/clone/logs/errortimestamp.log

    クローニング前とクローニング操作中に発生したエラーに関する情報が含まれます。

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

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

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

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

/var/opt/oracle/oraInst.loc

IBM AIXおよびLinux

/etc/oraInst.locファイル。

Windows

C:\Program Files\Oracle\Inventory