まあ、マニュアル(Oracle® Database Express Editionインストレーション・ガイド)を見ればすぐわかる事なんですが、備忘録として。
Oracle XEのダウンロード先
現時点での最新バージョンは11.2.0.2。
32bit/64bit版好きな方をダウンロードしてください。
サイレントインストールの方法
インストーラーのZipを展開した"response"フォルダにある3つの.issファイルをSetup.exeの引数に渡して実行するだけです。
.issファイルはそれぞれ
- OracleXE-install.iss : インストール用
- OracleXE-repair.iss : 修復用
- OracleXE-remove.iss : アンインストール用
で、OracleXE-install.issのみカスタマイズが必要になります。
OracleXE-install.issファイルは以下の様になっており、赤字で示した部分をカスタマイズすることができます。
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-DlgOrder]
Dlg0={05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdWelcome-0
Count=7
Dlg1={05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdLicense2Rtf-0
Dlg2={05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdComponentDialog-0
Dlg3={05A7B662-80A3-4EB9-AE1D-89A62449431C}-AskPort-13013
Dlg4={05A7B662-80A3-4EB9-AE1D-89A62449431C}-AskSYSPassword-13011
Dlg5={05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdStartCopy-0
Dlg6={05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdFinish-0
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdWelcome-0]
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdLicense2Rtf-0]
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdComponentDialog-0]
szDir=C:\oraclexe\
Component-type=string
Component-count=1
Component-0=DefaultFeature
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-AskPort-13013]
TNSPort=1521
MTSPort=2031
HTTPPort=8080
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-AskSYSPassword-13011]
SYSPassword=oraclexe
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdStartCopy-0]
Result=1
[{05A7B662-80A3-4EB9-AE1D-89A62449431C}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
szDir
- Oracle XEのインストール先
- ORACLE_HOMEは
[szDirで指定したディレクトリ]¥app¥oracle¥product¥11.2.0¥server¥
になります。
TNSPort
- Listenerのリスニングポート番号
MTSPort
- OracleMTSRecoveryService (Oracle Services for Microsoft Transaction Server)のポート番号*1
HTTPPort
- Oracle XE管理GUI(APEX)のポート番号
SYSPassword
- sysおよびsystemユーザーのパスワード(平文)
そしてSetup.exeに渡す引数は、
Setup.exe /s /f1"[.issファイルのパス]" /f2"[ログファイルのパス]"
となり、インストール結果が/f2で指定したログファイルに出力されます。
ログの内容は、
[ResponseResult]
ResultCode=0
の様な形で出力され、正常終了時はResultCode=0でエラー時はそれ以外の値が返されます。
エラー時のコードの詳細はドキュメント化されていない様です。
実行例
具体的な実行例を以下に示しておきます。
インストール
Setup.exe /s /f1".¥response¥OracleXE-install.iss" /f2".¥OracleXE-install.log"
修復
Setup.exe /s /f1".¥response¥OracleXE-repair.iss" /f2".¥OracleXE-repair.log"
アンインストール
Setup.exe /s /f1".¥response¥OracleXE-remove.iss" /f2".¥OracleXE-remove.log"
*1:通常であればTCP2030ポートがデフォルトなのですが、このissファイルでは何故か2031ポートになっています。理由は不明。