Oracle Database 12c Release 2(12.2.0.1)のサイレントインストール
本記事は、Oracle Database 12c Release 2(12.2.0.1.0)をCentOS7(もしくはRHEL7)にサイレントインストールをするためのメモになります。
環境によってはGUIが用意されていない場合もあり、その際はCUIのみでインストールする必要が生じます。
事前準備
環境については以下構成で実施します。
また以下のOracle公式サイトから今回インストールする12c R2をダウンロードします。
(ダウンロードするには事前にOracleアカウントの作成が必要になります)
インストール手順
必要なパッケージのインストール
まずはインストールに必要なパッケージのインストールを行います。
なお、以下からの作業はrootユーザで実施します。
> yum -y install \ binutils \ compat-libcap1 \ compat-libstdc++-33.i686 \ compat-libstdc++-33 \ gcc-c++ \ glibc.i686 \ glibc \ glibc-devel.i686 \ glibc-devel \ ksh \ libaio.i686 \ libaio \ libaio-devel.i686 \ libaio-devel \ libgcc.i686 \ libgcc \ libstdc++.i686 \ libstdc++ \ libstdc++-devel.i686 \ libstdc++-devel \ libxcb.i686 \ libxcb \ libX11.i686 \ libX11 \ libXau.i686 \ libXau \ libXi.i686 \ libXi \ libXtst.i686 \ libXtst \ make \ net-tools \ smartmontools \ sysstat unzip
カーネルパラメータの設定
Oracle公式の「インストレーション・ガイドfor Linux」では、カーネルパラメータ値を以下のように設定するように記載されています。
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
以下のコマンドで現在の設定値を確認します。
> sysctl -a | grep [param_name]
上記で確認した結果、差異があった個所を以下のsysctl.conf
に追記します。
# /etc/sysctl.conf fs.file-max = 6815744 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_max = 4194304 net.core.rmem_default = 262144 net.core.wmem_max = 1048576 net.core.wmem_default = 262144
以下のコマンドでsysctl.conf
を再読み込みします
> /sbin/sysctl -p
リロードが完了したら上記で行った手順で、再度設定値が反映されているか確認をします。
Oracle Databaseのグループ作成
オペレーションに必要なグループを作成します。
> groupadd -g 54321 oinstall > groupadd -g 54322 dba > groupadd -g 54323 oper > groupadd -g 54324 backupdba > groupadd -g 54325 dgdba > groupadd -g 54326 kmdba > groupadd -g 54327 racdba
Oracle Databaseのユーザ作成
オペレーションに必要なユーザを作成し、同時にパスワードも設定します。
> useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba -d /home/oracle oracle > passwd oracle > [Enter password]
インストール・ディレクトリの作成
今回のインストール先のディレクトリを作成し、同時にパーミッションを設定します。
> mkdir -p /opt/app/oracle > chown oracle:oinstall /opt/app/oracle > chmod -R 775 /opt/app/oracle
インストール・インベントリの準備
今回のインストールに使用するインベントリを作成し、同時にパーミッションを設定します。
> mkdir -p /opt/app/oraInventory > chown oracle:oinstall /opt/app/oraInventory > chmod -R 775 /opt/app/oraInventory
リソース制限の設定
Oracle公式の「インストレーション・ガイドfor Linux」では、リソース制限の推奨値を以下のように設定するように記載されています。
以下のlimits.conf
に以下を追記します。
# /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768
ダウンロードファイルの配置
上記でダウンロードしたzipファイルをWinSCPなどで/home/oracle
直下に配置し、unzip
コマンドで解凍します。
> cd /home/oracle > unzip linuxx64_12201_database.zip
上記を実行すると、/home/oracle
直下にdatabase
というフォルダが作成されます。
インストールレスポンスファイルの作成
サイレントインストールに必要なレスポンスファイルを作成します。
既存のレスポンスファイルのバックアップを作成した後に、以下のようにファイルを書き換えます。
> cp database/response/db_install.rsp database/response/db_install.rsp.org > vi database/response/db_install.rsp # database/response/db_install.rspの書き換え oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/app/oraInventory SELECTED_LANGUAGES=ja,en ORACLE_HOME=/opt/app/oracle/product/12.2.0.1/dbhome_1 ORACLE_BASE=/opt/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper oracle.install.db.BACKUPDBA_GROUP=backupdba oracle.install.db.DGDBA_GROUP=dgdba oracle.install.db.KMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=racdba DECLINE_SECURITY_UPDATES=true COLLECTOR_SUPPORTHUB_URL=AL32UTF8
oracleユーザでサイレントインストールを実行
oracleユーザに切り替えて以下コマンドでインストールを開始します。
> su oracle > /home/oracle/database/runInstaller -ignoreSysPrereqs -waitforcompletion -silent -responseFile /home/oracle/database/response/db_install.rsp Oracle Universal Installerを起動中です... 一時領域の確認中: 500MBを超えている必要があります. 実際 21405MB 問題なし スワップ領域の確認中: 150MBを超えている必要があります. 実際 2047MB 問題なし Oracle Universal Installerの起動を準備中 /tmp/OraInstall2020-03-13_09-40-04PM. お待ちください...[WARNING] [INS-13014] ターゲット環境は、いくつかのオプションの要件を満たしていません。 原因: 一部のオプションの前提条件が満たされていません。詳細はログを参照してください。installActions2020-03-13_09-40-04PM.log アクション: ログから失敗した前提条件チェックのリストを確認します: installActions2020-03-13_09-40-04PM.log。次に、ログ・ファイルまたはインストレーション・マニュアルのいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。 このインストール・セッションのログは次の場所にあります: /opt/app/oraInventory/logs/installActions2020-03-13_09-40-04PM.log Oracle Database 12cのインストールが成功しました。 詳細は'/opt/app/oraInventory/logs/silentInstall2020-03-13_09-40-04PM.log'を確認してください。 rootユーザーとして次のスクリプトを実行します: 1. /opt/app/oraInventory/orainstRoot.sh 2. /opt/app/oracle/product/12.2.0.1/dbhome_1/root.sh Successfully Setup Software.
結構時間を要した後、上記のSuccessfully Setup Software.
が表示されれば問題ありません。
rootユーザで2つのシェルスクリプトを実行
インストールが完了したら、rootユーザで以下のシェルスクリプトを実行します。
# 上記の流れならexitでrootに戻る > /opt/app/oraInventory/orainstRoot.sh > /opt/app/oracle/product/12.2.0.1/dbhome_1/root.sh
環境変数の設定
oracleユーザでsqlplus
コマンド、dbca
コマンドやlsnrctl
コマンドを利用するために環境変数を設定しておきます。
> su oracle > vi ~/.bash_profile # bash_profileに以下を追記 export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/dbhome_1 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH export LANG=ja_JP.UTF-8 export NLS_LANG=Japanese_Japan.AL32UTF8
以下コマンドでbash_profile
を再読み込みします
> source ~/.bash_profile
これで一通りのインストール作業が完了しました。
最後に
今回はOracle Database 12c Release 2のサイレントインストール方法について学びました。
次回はサイレントモードでのデータベースの作成方法について学んでいきます。