EMC AutoStart 5.3 SP4 Oracle for Windows module Version 3.1.4 2 ノード構成クラスタ設定ガイド 初版 2010 年 4 月 19 日
改定履歴 版 改定日 改定ページ 改定内容 初版 2010/4/19 初版 2
目次 改定履歴...2 はじめに...4 1. システム要件...5 2. 注意点...7 3. Oracle Database のインストール...7 1. 制限...8 2. Oracle のインストール方法...8 1 既に Oracle をインストール済みの場合...8 2 クラスタ化予定のドライブに全てインストールする場合...8 3 プログラムとデータベースを分ける場合...9 4. AutoStart のインストール... 11 5. モジュールの有効化... 11 6. Oracle Module インスタンスの作成... 12 7. Oracle の停止と起動... 25 付録 1 データベースの設定例...26 付録 2 Enterprise Manager Database Control を使用する場合...28 付録 3 Listener サービスの停止スクリプトについて... 29 3
はじめに 本資料は EMC Corporation の正式文書ではありません このドキュメントは情報提供のみを目的としており このドキュメントの情報について NetJapan はいかなる責任も負わないものとします なお 本資料は AutoStart の一般的な設定について記述されたものであり 全ての環境や運用方法に対応したものではありません お客様ご自身の責任において あくまでも参考資料としてご使用いただくよう あらかじめご了承願います 本資料は これからシステムを設計 導入しようとしているシステムエンジニアや すでに導入されている保守 運用管理を行う管理者や保守員の方を対象にしています また Windows Server のオペレーティングシステムの知識を必要とします 運用上 必要最小限の事項のみ記述してありますので 詳細な内容につきましては AutoStart マニュアルを参考していただけるようお願いします 本マニュアルに掲載してあります画像に関しては 設定例のため実際と異なる場合がございます 4
1. システム要件 Oracle for Windows module を実行するには 次の要件を満たした構成が必要です 各ノードに Microsoft Windows 2003(SP1 以降 )/2008(SP1 以降 )/2008 R2 がインストールされていること 両ノードに AutoStart がインストールされていること 各ノードに Oracle9i,Oracle10g,Oracle11g がインストール可能なハードウェア環境であること Oracle は モジュールのセットアップウィザードを実行する前にインストールされている必要があります 各サーバに最低 2 枚の NIC が設置されていること 実稼動ネットワーク ( 必須 ) 専用のミラーリングリンク ( 必須 ) NIC1 枚を追加し NIC3 枚での構成を推奨いたします クライアント用の名前解決として WINS または DNS が使用可能であること Oracle for Windows module は以下のデータソースをサポートしています EMC Mirroring for Windows EMC Mirroring for Windows では Windows サーバのローカルディスクのミラーリングが可能です ミラーリングは 2 ノード間でサポートされます EMC Mirroring for Windows は ミラーリング用の NIC が Auto detect 速度に設定されている場合 適切に機能しないことがあります EMC Mirroring for Windows を定義する前に作成されていた共有設定は データソースがソースノードに接続されると Agent は新規および削除された共有を監視し 許可は共有とともに移行されます EMC Mirroring for Windows を使用する前提条件は 以下のとおりです 2 台のサーバの各スペック ( メモリ CPU ディスク装置 ) を同じものにしてください ドライブレター サイズは同じにしてください 専用リンクを適切に設定してください 基本パーティションのみサポートします Shared Disk Device for Windows Shared Disk Device for Windows データソースは 複数のノードが共有ディスクに物理的に接続されている場合に使用されます AutoStart は どのノードがディスクにアクセスし 読み取り 書き込みの操作を行なうかを管理します Shared Disk データソースを使用する前提条件は 以下のとおりです ディスク接続が適切に設定されている 接続済みのノードがすべてオンライン状態で ディスクを認識する ドライブが AutoStart で定義され システムも共有ディスクとして定義されている 基本パーティションのみサポートします Shared Disk Device for Windows を定義する前に作成されていた共有設定は データソースがソースノードに接続されると Agent は新規および削除された共有を監視し 許可は共有とともに移行されます 共有ディスクを使用する場合は 冗長ネットワークの使用を強くお勧めします ディスクにアクセスするマシン間でネットワークが分割される場合 通信が失われて 一度に 1 台のマシンだけがディスクに接続するためのチェックができなくなり 同時書き込みによるディスク破損の可能性があります Windows 共有ディスクの構成には 同一のディスクコントローラの使用が推奨されます 異なるコントローラを使用すると予期しないトラブルが生じる可能性があります 5
専用リンクのネットワークには 以下の設定を行います TCP/IP のみバインドし IPX などのその他のプロトコルや Microsoft ネットワーク用クライアント などのクライアントはバインドしない デフォルトゲートウエイは設定しない NetBIOS over IP は使用しない LMHOST の参照はしない DNS タブの この接続のアドレスを DNS に登録する のチェックを外す マイネットワークのプロパティを開きメニューバーの詳細設定で専用リンクの優先順位を下げてください 2 つのノードを CAT-5 6 クロスケーブルで繋ぐことをお勧めします また スイッチ Hub を使用することもできますが ミラーネットワーク上をミラーリングトラフィック以外のトラフィックが通過しないようにする必要があります 6
2. 注意点 Oracle for Windows module を使用するには 両サーバで Oracle のインストールが同一である必要があります 各サーバのハードウェアは同一である必要はありませんが アプリケーションのパフォーマンスを保持するためには RAM の量 CPU 速度 ディスク規格がほぼ同じでなければなりません 各サーバでデータベースファイルを格納するために使用されるドライブのサイズも同じであることが推奨されます 製造元のモデルのディスクジオメトリの違いにより同一サイズのドライブを使用できない場合は プライマリサーバのミラードライブのサイズがセカンダリサーバのミラードライブよりも小さくなければなりません ミラーディスクドライブまたは共有ディスクドライブのドライブ文字が両方のサーバで同じである必要があります Oracle データベースをインストールするドライブは Windows システムや pagefile.sys があるドライブにインストールできません データベースデータ専用でなければなりません Oracle for Windows module では Active/passive 構成をサポートしています 3. Oracle Database のインストール 両サーバに同じ設定で Oracle のデータベースをインストールします 設定例の環境サーバ ORASRV1( 稼動サーバ ) ORASRV2( 待機サーバ ) 専用リンク IP アドレス 172.16.0.187 172.16.0.188 専用リンクネットワークカード 1000Base 1000Base パブリックネットワーク IP アドレス 192.168.0.187 192.168.0.188 パブリックネットワークカード 1000Base 1000Base Oracleデータベース Oドライブ Oドライブ ORASRV1 ORASRV2 7
1. 制限 Oracle for Windows module は Oracle 10g 以降で提供された以下の機能はサポートしません Data Guard Automated Storage Management (ASM) Real Application Cluster (RAC) 2. Oracle のインストール方法 AutoStart によるクラスタを構成可能にするために Oracle のインストール概要について説明します 1 既に Oracle をインストール済みの場合 Oracle for Windows module を使用して 既にインストール済みの Oracle をクラスタ化させる場合 以下のタスクを実行しなければなりません 既存のオラクルデータベースをミラードライブもしくは共有ディスクに移行する必要があります Oracle の各サービスのスタートアップを手動に変更する必要があります listener.ora tnsnames.ora の記述を修正する必要があります 追加ノードに最初のノードからのパスワードファイル (PWD(<db_ 名前 >).ora) をコピーしなければなりません 2 クラスタ化予定のドライブに全てインストールする場合 1. Oracle をインストールするドライブを準備してください 2. プライマリのサーバのクラスタ化予定のドライブにOracle を全てインストールします A) Oracle をインストールします B) Oracle サービスのスタートアップ設定を手動に変更します C) サーバを再起動します 3. セカンダリのサーバのクラスタ化予定のドライブにOracle を全てインストールします A) Oracle をインストールします B) Oracle サービスのスタートアップ設定を手動に変更します C) サーバを再起動します 4. Oracle Net の設定 この構成のメリット 標準構成でインストールが出来るためインストールが容易である listener.ora tnsnames.ora 等の設定ファイルも全てミラーされるので設定変更は片側のノードだけでよい この構成のデメリット データソースがオフラインになっていると Oracle 関連ファイルを開くことが出来なくなる ( データソースをオンラインにすれば可能になる ) 8
3 プログラムとデータベースを分ける場合 1. Oracle をインストールするドライブを準備してください 2. プライマリのサーバのローカルドライブにOracle をインストールします A) Oracle をインストールします B) Oracle のデータベースをクラスタ化予定のドライブに作成します C) リスナーを作成します D) Oracle サービスのスタートアップ設定を手動に変更します E) サーバを再起動します 3. セカンダリのサーバにOracle をインストールします A) Oracle をインストールします B) Oracle のデータベースをクラスタ化予定のドライブに作成します C) リスナーを作成します D) Oracle サービスのスタートアップ設定を手動に変更します E) サーバを再起動します 4. Oracle Net の設定 この構成のメリット Oracle 関連ファイルを常時開くことが可能 この構成のデメリット listener.ora tnsnames.ora 等の設定ファイルを変更する場合 両ノードで変更をする必要がある 注意! Windows Server 2008 R2 の場合 クラスタ化予定のドライブにプログラム データベースをインストールしてしまうと Lanman Server Service が起動できなくなる現象が確認されています Windows Server 2008 R2 に Oracle をインストールする場合は 必ず上記のようにプログラムとデータベースを分けてインストールしてください 9
3. Oracle Database のインストール この手順書では クラスタ化予定のドライブに全てインストールする場合 のインストール例を説明しています 1. あらかじめインストール先のドライブを作成します ( この例では O ドライブにインストールします ) 2. インストールする場合 図のように Oracle ホームのパスは ミラー化するドライブに変更します 10
3. サービスの設定変更 AutoStart が Oracle のサービスを制御できるようにサービスのスタートアップを手動にする必要があります 次の Oracle のサービスを設定します ( クラスタ化するサービスが他にある場合 スタートアップを手動に設定しなければなりません ) OracleOraDb11g_home1TNSListener OracleService<database_name> クラスタ化しない Oracle サービスは全て手動もしくは無効にしてください 4. Oracle net の設定 Listener.ora tnsnames.ora の設定を行ってください 詳細は付録 1 データベースの設定例を参照してください 4. AutoStart のインストール 2 台のサーバに AutoStart をインストールしてください インストールについては弊社 HP の 2 ノードミラー構成インストールガイド をご確認下さい http://www.netjapan.co.jp/e/product/control/autostart/technical.php ミラーリングの要件について INSTALLATION GUIDE もしくは 2 ノードミラー構成インストールガイド を良くお読みになってから作業を行ってください ホットフィックスがリリースされている場合 最新のホットフィックスを必ずインストールしてください 5. モジュールの有効化 インストールしたモジュールを有効にするためには ライセンスキーを入力する必要があります 以下のステップを使用して ライセンスキーを入れてください : 1. [AutoStart Console] から ディレクトリツリーで [Module] ツリーを展開します 2. [Oracle on Windows] を選択します 3. [Configuration] タブをクリックします 11
図 1 Configuration Tab 4. [New License Key] フィールドに ライセンスキーを入力してください 評価をする場合 oweval を入力してください 次に [Add] をクリックします ライセンスキーは License Key リストの中に表示されるようになります 6. Oracle Module インスタンスの作成 Oracle Module のインスタンスを作成すると オラクルのサービスを管理する新しいリソースグループが作られます ウィザードを起動する前に オラクルのサービスが手動設定になっているか確認してください 次に Windows Services コンソールでサービスを必ず止めてください また Oracle Module インスタンスを作成する前に 付録 1 データベースの設定例 を参考にしてグローバルデータベース名をリスナーに設定する必要があります 12
Oracle Module インスタンスの作成方法 : 1. ディレクトリツリーの oracle on windows モジュールを右クリックしてください そして [Create for Oracle Windows Instance] を選択します 2. [Instance Name] フィールドに 新しいモジュール例 ( リソースグループ ) のために名前を入力します [Description] フィールドに 任意にモジュール例の記述を入力します 図 2 Instance Information 3. [Domain] フィールドに Windows ドメインを入力します ワークグループ環境の場合はピリオド. を入力してください 管理者権限を持っているユーザを [User Name] フィールドへ入力します [Password] と [Confirm] フィールドに ユーザパスワードを入力します 図 3 AutoStart Login info 13
4. [Oracle User Name] フィールドに SYSDBA 特権を持っているオラクルユーザアカウントを入力します [Oracle User Password] と [Oracle User Confirm] フィールドに パスワードを入力します 図 4 Oracle Login Information 5. [Available Nodes] にあるサーバを [Selected Node] リストに移動します 図 5 Valid Node List 14
6. 以下の Oracle の設定を選択してください [Selected Node] リストの中では Oracle Service と listener の場所を見つけるのに使用されるユーティリティプロセスを実行するノードを選択してください デフォルトで 現在のノードを選択して 自動的にリスナー サービス名 およびデータベースを認識します [TNS Listener] リストの中では AutoStart によってモニターされる listener サービスを選択してください [Oracle Service Name] リストの中では AutoStart にモニターされるサービスを選択してください [Database Name] リストの中では モニターへのデータベースを選択してください 図 6 Oracle Settings [Database Name] に表示されず空欄になっている場合は 付録 1 データベースの設定例 を参考にグローバルデータベース名をリスナーに設定する必要があります 図 6 Oracle Settings 15
7. [IP Address] リストは AutoStart によって管理される仮想の IP アドレスを選択します オラクルのサービスがドメインの中を移動するのに応じて この IP アドレスはノードからノードへリロケートするようになります 8. [IP Address] リストは 管理 IP アドレスを作成していない場合 <none> と表示されています この場合は [New] ボタンをクリックし管理 IP アドレスを作成できます 図 7 IP Address-1 16
9. [New] ボタンをクリックすると図 8 のダイアログボックスが表示されます [Name Service Entry] に管理する IP アドレスを xxx.xxx.xxx.xxx の形式で入力します 入力したら [Apply] を押します 図 8 Create IP Address 17
10. IP Address リストに管理 IP アドレスが表示されますので選択し [Next] をクリックして続行します 図 9 Create IP Address-2 11. [Node Aliases] ドロップダウンリストから クライアント通信に使用される管理対象 IP アドレスに関連付けられるエイリアスを選択します Oracle がクラスタ内でリロケートされる際には このエイリアスもノードからノードへとリロケートされます [Next] をクリックして続行します ノードエイリアスを作成していない場合 <none> と表示されています この場合は [New] ボタンをクリックしノードエイリアスを作成できます 図 10 Node Aliases-1 18
12. [New] ボタンをクリックすると図 11 のダイアログボックスが表示されます [Name] にノードエイリアス名を入力し [Apply] を押します 図 11 Create Node Aliases DNS サーバがある環境では [DNS Registration Options] を使用する事で A レコードや C ネームを設定する事が出来ます 19
13. ノードエイリアスが表示されますので選択し [Next] をクリックして続行します 図 12 Node Aliases-2 14. データソースを作成していない場合 図 13 のように何も表示されません この場合は [New] ボタンをクリックしデータソースを作成できます 図 13 Data Source 20
15. [New] ボタンをクリックし [EMC Mirroring for Windows] を選択してください 図 14 のダイアログボックスが表示されます [Data Source Name] にデータソース名を入力し [Apply] を押します 図 14 Create Data Source ミラーデータソースを作成する場合 ソースノードとターゲットノードを間違えないようにしてください 初めてデータソースに接続するとき ソースノードのデータがターゲットノードに向けてミラーされます 21
16. [Available Databases] から監視するデータソースを [Selected Databases] へ移動します 図 15 Data Source-2 17. [Send Email to] テキストボックスに 問題の発生時に通知を送信する管理者の電子メールアドレスを入力します [Next] をクリックして続行します 送信しない場合はスキップしてください 図 16 User Notification Settings 22
記述例 : yourname@company.com 複数の人またはグループに通知するために複数の電子メールアドレスを指定する必要がある場合は [Send Email To] テキストボックスに 各電子メールアドレスをスペースで区切って入力します 記述例 : name1@company.com name2@company.com name3@company.com 電子メール通知機能を使用する場合は 以下の手順で [SMTP Server] 属性を設定します ドメインの SMTP サーバの設定手順 1. AutoStart Console で ドメインツリーからドメインを選択します 2. 右パネルの [Settings] タブを選択します 3. [SMTP_Server] フィールドに SMTP サーバの名前を入力します ( たとえば mail.servername.com) 4. [Apply] をクリックします 18. [deffile] をクリックすると設定の詳細が確認できます 図 17 Results 19. [Finish] をクリックして 新規インスタンスを作成します 新しい Oracle モジュールのインスタンスが作成され ディレクトリツリーの [Oracle] と [Resource Groups] の下に表示されます Oracle 用のリソースグループが正しく作成されたことを確認するには Oracle モジュールのインスタンスの作成時に指定した名前で新しいリソースグループが作成されているかどうかを調べます また そのリソースグループに 指定した Oracle サービス IP アドレス ノードエイリアス データソースが含まれていることを確認します リソースグループをオンラインにする前に データソースが接続解除されていること また Oracle サービスが停止していることを確認してください 23
20. リソースグループをオンラインにする前にデータソースをミラーリングしておくことを推奨いたします listener やローカルネーミングの記述が誤っていた場合 listener process の起動が失敗してリソースの起動 停止のループが起こりミラードライブのファイルシステムが破損する可能性があります リソースグループをオンラインにする前に先ほど作成した Data Sources にある [Data Source Name] を選択し [Attach Data Sources] をクリックするとノードの選択が出てきます 出来る限りソースノードからアタッチしてミラーの初期化を行ってください 初めてデータソースにアタッチしてミラーの初期化を行う場合 どちらのノードを選択しても必ずソースノードからターゲットノードへデータがミラーされますので注意してください 初期化が終わればリソースグループがオンラインになっているノードから相手ノードにミラーされます 両サーバにデータが無い場合どちらを選択してもかまいません ミラーリングが開始されると図 18 のようなデータのステータスに変わります 図 18 Mirroring 24
21. Oracle モジュールを開始するには モジュールの [Bring Online] コマンドを使用します 必ずデータベースのデータがあるノードを選択して開始してください 図 19 online 7. Oracle の停止と起動 Oracle は AutoStart と Oracle リソースグループによって監視されています つまり 何らかの理由で Oracle を停止させたい場合 停止操作は管理コンソールから実行する必要があります Oracle を停止するには リソースグループの [Take Offline] コマンド (Oracle モジュールのインスタンスを右クリックすると表示される ) を使用します また IP アドレスとディスクが使用可能な状態で Oracle を停止するには [Stop Monitoring] コマンドを使用してリソースグループの監視を無効にしてから サービスを停止します Oracle を開始するには モジュールの [Bring Online] コマンドを使用します 以上で Oracle モジュールを使用したクラスタ設定は完了です 25
付録 1 データベースの設定例 いずれもホスト変数には AutoStart で作成した仮想 IP アドレスに変更します 既定のインストールでは GLOBAL_DBNAME の項目の記載がありません Net Manager のリスナーの設定で データベース サービス を以下の図を参考に編集して下さい listener.ora の設定例 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) --------- 環境に合わせて変更 (ORACLE_HOME = O:\app\Administrator\product\11.1.0\db_1) --------- 環境に合わせて変更 (SID_NAME = ORCL) --------- 環境に合わせて変更 ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.189)(PORT = 1521)) -------IP を環境に合わせて変更 ) ) 26
tnsnames.ora の設定例 ORCL =--------- 環境に合わせて変更 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.189)(PORT = 1521)) ---------IP を環境に合わせて変更 (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) --------- 環境に合わせて変更 ) ) 27
付録 2 Enterprise Manager Database Control を使用する場合 Web ベースの管理ツールである Enterprise Manager Database Control をクラスタ環境で使用する場合 ソースサーバの SYSAUX 表領域に格納されている管理リポジトリがターゲットサーバにミラーされるためフェイルオーバー後にデータベースの情報を正しく参照できません Enterprise Manager を使用したい場合は クラスタとは別の監視サーバを用意し Enterprise Manager Grid Control をインストールします このような環境であればクラスタでも Enterprise Manager を使用することができます 28
付録 3 Listener サービスの停止スクリプトについて Oracle Module より Oracle をクラスタ化した後 Listener サービスの停止スクリプトを追加で記述してください 図.Start_Script 修正の手順 1. [Processes]-[ グループ名 _Listener]-[Default] を選択すると右ペインに Start_Script が表示されます 2. そのスクリプトの記述で以下の項目を探します `net start Oracle_homeTNSListener`; 3. 右クリックしてコピーします 4. Stop_Script タブに移り 図.Stop_Script の最後の行に貼り付けます 5. Net start の部分を net stop に変更します 29
記述例 図.Stop_Script $resp_cookie = "$ENV{FT_DIR}\\log\\modules\\OracleWindows_3.1\\ora11g_listener_no_resp.cookie"; $exist_cookie = "$ENV{FT_DIR}\\log\\modules\\OracleWindows_3.1\\ora11g_listener_exist.cookie"; $monitor_log = "$ENV{FT_DIR}\\log\\modules\\OracleWindows_3.1\\ora11g_monitor.log"; open LOGFILE, ">>$monitor_log"; if (-e $resp_cookie) { `del $resp_cookie`; print LOGFILE (printdatetime()," deleted response test cookie file ora11g_listener_no_resp.cookie\n"); } if (-e $exist_cookie) { `del $exist_cookie`; print LOGFILE (printdatetime()," deleted Existence test cookie file ora11g_listener_exist.cookie\n"); } close LOGFILE; sub printdatetime { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $value =sprintf("%4d-%02d-%02d %02d:%02d:%02d:",$year+1900,$mon+1,$mday,$hour,$min,$sec); return $value; } `net stop OracleOraDb11g_home1TNSListener`; 30