ここではスタンバイ運用において Oracle 11g R2で ASM を使用する場合の構築手順について説明します。
ポイント
スタンバイ運用において Oracle 11g R2 で ASM を使用する場合は Oracle Grid Infrastructure をインストールする必要があります。
注意
Oracle Grid Infrastructure をインストールする場合は Oracle Database のインストールユーザーと Oracle Grid Infrastructure のインストールユーザーを分割する構成をサポートします。単一インストールユーザーの構成はサポートしません。
また、Oracle Database のインストールユーザーの ORACLE_BASE 環境変数と Oracle Grid Infrastructure のインストールユーザーの ORACLE_BASE 環境変数は、異なるディレクトリを指定してください。
PRIMECLUSTER Wizard for Oracleで、Oracle 11g R2のASMをスタンバイ運用で使用する場合、Oracleのサービスリソースは使用できません。
Oracle Grid Infrastructure および Oracle Database は両ノードのローカルディスクにインストールします。
ASM インスタンスとデータベースは運用ノードで作成し、待機ノードでは運用ノードで作成した ASM インスタンスとデータベースを動作させるための設定を行います。
以下に、構築手順を示します。
項番 | 概要 | |
運用ノード | 待機ノード | |
1 | カーネルパラメータの設定 | カーネルパラメータの設定 |
2 | Grid ユーザー、Oracle ユーザーを作成 | Grid ユーザー、Oracle ユーザーを作成 |
3 | 共用ディスク装置の設定 |
|
4 | Oracle リソースを含まない userApplication の作成 | Oracle リソースを含まない userApplication の作成 |
5 | userApplication の起動 | |
6 | Oracle Grid Infrastructure をインストール |
|
7 | Oracle Database をインストール |
|
8 | データベースを作成 |
|
9 | Oracle リスナーのIPアドレスを修正 | |
10 | ASM の SPFILE の確認 |
|
11 | データベースのパラメータ・ファイルの確認 | |
12 | データベース、ASM、Oracle リスナーを停止 |
|
13 | userApplication を切替え | |
14 |
| Oracle Grid Infrastructure をインストール |
15 |
| Oracle Database をインストール |
16 | Oracle のディレクトリをコピー | Oracle のディレクトリをコピー |
17 | Oracle リスナーの再起動 | |
18 |
| ASM の SPFILE の変更 |
19 |
| 仮の Diskgroup を停止 |
20 |
| ASM の再起動 |
21 |
| 仮の Diskgroup を削除 |
22 |
| データベースリソースの登録 |
23 |
| データベースリソースの起動 |
24 | データベース、ASM、Oracle リスナーを停止 |
各手順の詳細は以下の通りです。
カーネルパラメータの設定
PRIMECLUSTERで使用する値に、Oracle自身が使用する値を加えたものを/etc/sysctl.confに設定する必要があります。カーネルパラメータの設定は使用するOracleのバージョンやデータベースの構成によって異なるため、Oracleのインストールガイドを参照してください。パラメータの設定は全てのノードで同一になることを推奨します。
カーネルパラメータsemopmには、4以上の値を設定してください。
Grid ユーザー、Oracle ユーザーを作成
Oracle Grid Infrastructure のインストールユーザーとして Grid ユーザーを、Oracle Database のインストールユーザーとして Oracle ユーザーを作成してください。単一インストールユーザーの構成はサポートしません。
Grid ユーザーの ORACLE_BASE 環境変数と Oracle ユーザーの ORACLE_BASE 環境変数は、異なるディレクトリを指定してください。
Grid ユーザーの ORACLE_HOME 環境変数は Oracle Grid Infrastructure の ORACLE_HOME を設定してください。Oracle ユーザーの ORACLE_HOME 環境変数は、Oracle Database の ORACLE_HOME を設定してください。Grid ユーザーの ORACLE_SID 環境変数と Oracle ユーザーの ORACLE_SID 環境変数を設定してください。
ユーザーID、グループID、環境変数は、全ノードで同一にしてください。
例
Oracle ユーザーの環境変数の設定例です。
(.bash_profile)
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=/u01/app/oracle/product/db; export ORACLE_HOME ORACLE_SID=ora; export ORACLE_SID LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/local/bin; export PATH
例
Grid ユーザーの環境変数の設定例です。
(.bash_profile)
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/grid/product/db; export ORACLE_HOME ORACLE_SID=+ASM; export ORACLE_SID PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/local/bin; export PATH
共用ディスク装置の設定
ASM で管理する共用ディスク装置を設定してください。このときデータベースを格納するための共用ディスクと、“14.”で仮の Diskgroup を作成するための共用ディスクを作成してください。作成した共用ディスクのデバイスファイルの所有者には Grid ユーザーを設定してください。
Oracle リソースを含まない userApplication の作成
Oracle Grid Infrastructure をインストールする前に Oracle リソースを含まない userApplication を作成してください。以下の章を参考にして userApplication を作成してください。
運用ノードで userApplication の起動
運用ノードで userApplication を起動し、共用ディスク装置および論理IPアドレスが活性化されたことを確認してください。
運用ノードへ Oracle Grid Infrastructure をインストール
Oracle のマニュアルおよびインストールガイドに従って、運用ノードのローカルディスクへ Grid ユーザーで Oracle Grid Infrastructure をインストールしてください。
Oracle Grid Infrastructure のインストール時のオプションは“Configure Oracle Grid Infrastructure for a Standalone Server”を選択し、ASM インスタンスおよびデータベースを格納する Diskgroup を作成してください。
ASM インスタンス作成時は SID の先頭に「+」がつくように設定してください (デフォルトでは“+ASM”となります) 。
運用ノードへ Oracle Database をインストール
Oracle のマニュアルおよびインストールガイドに従って、運用ノードのローカルディスクへ Oracle ユーザーで Oracle Database をインストールしてください。ここでは、Oracle Database ソフトウェアのみをインストールして、データベースの作成は行わないでください。
運用ノードでデータベースを作成
運用ノードで“6.”で作成した Diskgroup 上にデータベースを作成してください。
Oracle リスナーのIPアドレスを修正
論理IPアドレスを使用した Oracle リスナーの切替え運用を行う場合は、以下のファイルを修正して Oracle リスナーの IPアドレスに論理IPアドレスを設定してください。
<Grid ユーザーの$ORACLE_HOME>/network/admin/listener.ora
また、Oracle リスナーの監視において、tnsping による Oracle リスナー動作監視を行う場合は、以下のファイルの設定を行ってください。
<Oracle ユーザーの$ORACLE_HOME>/network/admin/tnsnames.ora
<Grid ユーザーの$ORACLE_HOME>/network/admin/tnsnames.ora
修正方法については“2.2.6 データベースの作成/設定”を参照してください。
ASM の SPFILE の確認
運用ノード上で Grid ユーザーで以下のコマンドを実行し、SPFILE の場所を確認してください。
# su - <Grid ユーザー> $ export ORACLE_SID=+ASM $ asmcmd spget +DATA/asm/asmparameterfile/registry.xxx ←この行を記録する
データベースのパラメータ・ファイルの確認
運用ノード上で Grid ユーザーで以下のコマンドを実行し、データベースのパラメータ・ファイルの場所を確認してください。
# su - <Grid ユーザー> $ crsctl status resource <Oracleデータベースリソース名> -p | grep SPFILE SPFILE=+DATA/xxxx/spfilexxxx.ora ←この行の“SPFILE=”から後ろを記録する
例
Oracle データベースリソース名は、crsctl status resource -t コマンドで確認可能です。
# su - <Grid ユーザー> $ crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE node1 ora.LISTENER.lsnr ONLINE ONLINE node1 ora.asm ONLINE ONLINE node1 Started ora.ons OFFLINE OFFLINE node1 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.orcl.db 1 ONLINE ONLINE node1 Open ora.cssd 1 ONLINE ONLINE node1 ora.diskmon 1 OFFLINE OFFLINE ora.evmd 1 ONLINE ONLINE node1 $
この構成の場合、 "ora.orcl.db" が、Oracle データベースリソース名になります。
データベース、ASM、Oracle リスナーを停止
運用ノード上で Grid ユーザーで以下のコマンドを実行し、データベース、ASM、Oracle リスナーを停止してください。<db_name>は“8.”で作成したデータベース名を指定してください。<diskgroup_name>は“6.”で作成した Diskgroup を指定してください。
# su - <Grid ユーザー> $ srvctl stop database -d <db_name> $ srvctl stop diskgroup -g <diskgroup_name> $ srvctl stop asm $ srvctl stop listener
待機ノードへ userApplication を切替え
待機ノードへ userApplication を切替えて、共用ディスク装置および論理IPアドレスが活性化されたことを確認してください。
待機ノードへ Oracle Grid Infrastructure をインストール
Oracle のマニュアルおよびインストールガイドに従って、待機ノードのローカルディスクへ Grid ユーザーで Oracle Grid Infrastructure をインストールしてください。
Oracle Grid Infrastructure のインストール時のオプションは“Configure Oracle Grid Infrastructure for a Standalone Server”を選択し、ASM インスタンスおよび仮の Diskgroup を作成してください。
ASM インスタンスの SID は“6.”で作成した ASM インスタンスと同じ SID を指定してください。
Diskgroup 名は“6.”で作成した Diskgroup と異なる名前で仮の Diskgroup を作成してください。
待機ノードへ Oracle Database をインストール
Oracle のマニュアルおよびインストールガイドに従って、待機ノードのローカルディスクへ Oracle ユーザーで Oracle Database をインストールしてください。ここでは、Oracle Database ソフトウェアのみをインストールして、データベースの作成は行わないでください。
Oracle のディレクトリをコピー
運用ノードの以下のディレクトリを、待機ノードへコピーしてください。
<Oracle ユーザーの$ORACLE_HOME>/dbs 配下
<$ORACLE_BASE>/admin/$ORACLE_SID 配下
<$ORACLE_BASE>/diag 配下
<Grid ユーザーの$ORACLE_HOME>/network/admin 配下
上記でコピーしたディレクトリとファイルのアクセス権限を運用ノードと同一にしてください。
参考
/opt/FJSVclora/sbin/cloracpy コマンドを使って、運用ノードの必要なファイルを tar 形式にバックアップすることができます。「4.4 cloracpy - Oracle 設定ツール(待機ノード用)」を参照してください。
/opt/FJSVclora/sbin/cloracpy コマンドを使用する場合は、Oracle ユーザーと Grid ユーザーでそれぞれ実行してください。
Oracle リスナーの再起動
待機ノード上で Grid ユーザーで以下のコマンドを実行し、Oracle リスナーを再起動できることを確認してください。
# su - <Grid ユーザー> $ srvctl stop listener $ srvctl start listener
ASM の SPFILE の変更
“10.”で確認した SPFILE の場所を設定します。待機ノード上で Grid ユーザーで以下のコマンドを実行してください。
# su - <Grid ユーザー> $ export ORACLE_SID=<ASMのSID> $ asmcmd spset <SPFILEのパス>
仮の Diskgroup を停止
待機ノード上で Grid ユーザーで以下のコマンドを実行し、仮の Diskgroup を停止してください。<diskgroup_name>は“14.”で作成した仮の Diskgroup を指定してください。
# su - <Grid ユーザー> $ srvctl stop diskgroup -g <diskgroup_name>
ASM の再起動
待機ノード上で Grid ユーザーで以下のコマンドを実行し、ASM を再起動してください。
# su - <Grid ユーザー> $ srvctl stop asm $ srvctl start asm
仮の Diskgroup を削除
待機ノード上で Grid ユーザーで以下のコマンドを実行し、仮の Diskgroup を削除してください。<diskgroup_name>は“14.”で作成した仮の Diskgroup を指定してください。
# su - <Grid ユーザー> $ srvctl remove diskgroup -g <diskgroup_name>
データベースリソースの登録
待機ノードの Oracle Restart に“8.”で作成したデータベースリソースを登録します。待機ノード上でOracle ユーザーで以下のコマンドを実行してください。<db_unique_name>と<db_name>は“8.”で作成したデータベース名を指定してください。<oracle_home>は Oracle ユーザーの ORACLE_HOME を指定してください。<パラメータ・ファイルのパス>は“11.”で確認したデータベースのパラメータ・ファイルを指定してください。<disk_group_list>は“6.”で作成した Diskgroup を指定してください。
# su - <Oracle ユーザー> $ srvctl add database -d <db_unique_name> -o <oracle_home> -p <パラメータ・ファイルのパス> -n <db_name> -a <disk_group_list>
待機ノードでデータベースリソースの起動
待機ノード上で Grid ユーザーで以下のコマンドを実行し、データベースを起動できることを確認してください。<db_name>は“8.”で作成したデータベース名を指定してください。
# su - <Grid ユーザー> $ srvctl start database -d <db_name>
データベース、ASM、Oracle リスナーを停止
待機ノード上で Grid ユーザーで以下のコマンドを実行し、データベース、ASM、Oracle リスナーを停止してください。<db_name>は“8.”で作成したデータベース名を指定してください。<diskgroup_name>は“6.”で作成した Diskgroup を指定してください。
# su - <Grid ユーザー> $ srvctl stop database -d <db_name> $ srvctl stop diskgroup -g <diskgroup_name> $ srvctl stop asm $ srvctl stop listener
Oracle Grid Infrastructure および Oracle Database のインストールが完了したら、Oracle Restart の設定変更と userApplication の作成を行います。これらの手順については、「2.3.2.2 環境構築時の注意(Oracle 11g R2の場合)」を参照してください。