しばたテックブログ

気分で書いている技術ブログです。

Oracle XE(Windows版)のサイレントインストール方法

まあ、マニュアル(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ポートになっています。理由は不明。