本シリーズの概要と一覧はこちらからどうぞ。
上の記事で紹介したGrid Infrastructureのインストール方法に関して、レスポンスファイルを使ってサイレントインストールするのを試してみたのでその方法を紹介しようと思います。
レスポンスファイルを使用してGrid Infrastructureをインストールする
事前準備
OUIを使ったインストールではインストールウィザードの途中でASMTool(asmtoolg.exe)を使ってASMディスクのスタンプ付けを行いましたが、レスポンスファイルを使ったインストールではそれができません。
このため、事前にASMToolを使いディスクのスタンプ付けをしておく必要があります。
今回はサイレントインストールですのでCUIのasmtool.exeを使った方法を採ることにします。
asmtool.exeはGrid Infrastructureのインストール前は[インストール媒体]\asmtoolフォルダに存在し、今回の検証環境だとD:\Temp\grid\asmtool\になります。
このASMToolを使って以下の様にスタンプ付けしていきます。
まずはasmtool.exe -listでディスクの状態を確認。
PS C:\Users\oracle> D:\Temp\grid\asmtool\asmtool.exe -list
NTFS \Device\Harddisk0\Partition1 350M
NTFS \Device\Harddisk0\Partition2 20480M
NTFS \Device\Harddisk0\Partition3 20480M
\Device\Harddisk1\Partition1 10237M
\Device\Harddisk2\Partition1 30717M
OCR用のDisk1(\Device\Harddisk1\Partition1)に対してORCLDISKOCR0とスタンプ付けします。
PS C:\Users\oracle> D:\Temp\grid\asmtool\asmtool.exe -add \Device\Harddisk1\Partition1 ORCLDISKOCR0
ディスクの状態を再度確認。
PS C:\Users\oracle> D:\Temp\grid\asmtool\asmtool.exe -list
NTFS \Device\Harddisk0\Partition1 350M
NTFS \Device\Harddisk0\Partition2 20480M
NTFS \Device\Harddisk0\Partition3 20480M
ORCLDISKOCR0 \Device\Harddisk1\Partition1 10237M
\Device\Harddisk2\Partition1 30717M
サイレントインストール手順
レスポンスファイルを用意して(ファイルの内容は長いので次項で説明します)、OUIを以下の引数で実行するとサイレントインストールすることができます。
PS D:\Temp\grid> .\setup.exe -silent -showProgress -nowait -responseFile D:\Temp\grid\grid.rsp
各引数について説明すると、
-silentおよび-responseFileでレスポンスファイルを指定してサイレントインストールすることができます。- レスポンスファイルのファイル指定は相対パスが指定できないので注意してください。
-nowaitをつけないとサイレントインストール後にプロンプトが終了しないので注意してください。-showProgressでサイレントインストールの進捗状況を表示することができます。この引数はオプションです。
といった感じになります。
インストール結果はC:\Users\[インストールユーザー]\AppData\Local\Temp\[連番]\OraInstall[時刻]およびC:\Program Files\Oracle\Inventory\logsフォルダにログファイルができるのでそこで確認することができます。
サイレントインストールが完了した後はcrsctl stat res -tでクラスタの状態を確認すると以下の様になり通常のインストールと同様の結果が得られることがわかります。
PS C:\Users\oracle> crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oraserver01 STABLE
ONLINE ONLINE oraserver02 STABLE
ora.OCR.dg
ONLINE ONLINE oraserver01 STABLE
ONLINE ONLINE oraserver02 STABLE
ora.asm
ONLINE ONLINE oraserver01 Started,STABLE
ONLINE ONLINE oraserver02 Started,STABLE
ora.net1.network
ONLINE ONLINE oraserver01 STABLE
ONLINE ONLINE oraserver02 STABLE
ora.ons
ONLINE ONLINE oraserver01 STABLE
ONLINE ONLINE oraserver02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oraserver02 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE oraserver01 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE oraserver01 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE oraserver01 192.168.35.31,STABLE
ora.cvu
1 ONLINE ONLINE oraserver01 STABLE
ora.mgmtdb
1 ONLINE ONLINE oraserver01 Open,STABLE
ora.oc4j
1 ONLINE ONLINE oraserver01 STABLE
ora.oraserver01.vip
1 ONLINE ONLINE oraserver01 STABLE
ora.oraserver02.vip
1 ONLINE ONLINE oraserver02 STABLE
ora.scan1.vip
1 ONLINE ONLINE oraserver02 STABLE
ora.scan2.vip
1 ONLINE ONLINE oraserver01 STABLE
ora.scan3.vip
1 ONLINE ONLINE oraserver01 STABLE
--------------------------------------------------------------------------------
レスポンスファイル例
レスポンスファイル例を一番最後に記載しました。
これはAll Windows Serverな環境でOracle Real Application Clusters(RAC)を構築してみる - 4.GIインストール編 - しばたテックブログの手順でレスポンス・ファイルの保存を行ったものをベースとしています。
自動生成されたベースに対して以下の点をカスタマイズしています。
自動生成されたレスポンスファイルにはパスワードは保存されないので以下のパスワードを設定しています。
- Oracleホーム・ユーザーのパスワード :
oracle.install.OracleHomeUserPassword=P@ssw0rd - SYSASMユーザーのパスワード :
oracle.install.asm.SYSASMPassword=Passw0rd - ASMSNMPユーザーのパスワード :
oracle.install.asm.monitorPassword=Passw0rd
- Oracleホーム・ユーザーのパスワード :
GUIのインストールでは未使用のNIC名称に日本語が含まれていても問題ないのですが、サイレントインストールの場合はエラーとなってしまいます。
必要に応じてoracle.install.crs.config.networkInterfaceListの内容を修正してください。その他の部分を変更する場合はレスポンスファイルの説明を読むかマニュアルを読むなどして気合でなんとかします。
GUIから自動生成されればさほど困難なことはないかとは思います。