Oracle 12c をRHEL7.3にサイレントインストール

Oracleの構築はいろいろと面倒ですが、OEMがあればGUIでそこそこ簡単に構築できます。しかし、実際の業務サーバはGUIが使えない環境でせざるを得ないことが多く、その都度苦労するのもなんなんで、サイレントインストールの仕方をメモしておきます。

 

 

環境:VMWare上のRed Hat Enterprise Linux 7.3

OSのインストールオプション:最小(X-Windowはありません)

 

RHELのインストールは完了し、SELinuxやFirewalldは停止しているという前提です。

なお、Oracleはソフトウェア領域だけでもかなりのディスクを消費します。一時的にインストーラzipなども配置しますので、ルートパーティションに50GBくらいはあったほうがいいです。データのパーティションは、要件に合わせて別ディスクに領域を確保するのが普通です。

 

いつものごとく、赤字がコマンドです。

 

 

1.事前に必要なパッケージインストール

必要なパッケージはOracleのマニュアルにも記載はあるのですが、RHELCentOSのバージョンによって細かいところは異なります。ここでは前提通り、RHEL7.3を最小インストールした前提で、記載します。このインストールはroot作業で行います。

 

yum -y install binutils compat-libcap1 gcc gcc-c++ ksh ibXtst libX11 libxcb libXi make sysstat zip unzip




2.カーネルメモリ設定変更

 

cd /etc

cp -p sysctl.conf sysctl.conf.org

vi sysctl.conf

以下の内容を追加します。

kernel.shmall = 1073741824

kernel.shmmax = 4398046511104

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

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 -p




 

3.ユーザ・グループ追加

必要なグループを追加します。

groupadd -g 54321 oinstall

groupadd -g 54322 dba

groupadd -g 54323 backupdba

groupadd -g 54324 oper

groupadd -g 54325 dgdba

groupadd -g 54326 kmdba

groupadd -g 54327 racdba

 

oracleユーザを追加します。

useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba -d /home/oracle oracle

 

oracleユーザのパスワードを設定しておきましょう。

passwd oracle




 

4.ディレクトリ作成

インストール先のディレクトリ、DBデータを格納するディレクトリを準備しておきましょう。ここでは、/u01/app/以下にOracle本体を、/data以下にデータを格納する前提で記載しています。

 

mkdir -p /u01/app/oracle

chown oracle:oinstall /u01/app/oracle

mkdir -p /u01/app/oraInventory

chown oracle:oinstall /u01/app/oraInventory

chmod -R 775 /u01

 

mkdir /data

chown oracle.oinstall /data






5.ファイルディスクリプタ制限の設定

ファイルオープン数の上限を変更します。

 

cd /etc/security/

cp -p limits.conf limits.conf.org

vi 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







6.インストール

インストールは、上で作ったoracleユーザで実行します。

su - oracle

 

mkdir install

 

linuxx64_12201_database.zipをOracleサイトから入手し/home/oracle/install直下に配置し、展開します。

 

cd install

unzip linuxx64_12201_database.zip

 

 

インストール用のrspファイルを準備します。
cp -p database/response/db_install.rsp oracle_install.rsp

vi oracle_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=/u01/app/oraInventory

ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oper

oracle.install.db.OSBACKUPDBA_GROUP=backupdba

oracle.install.db.OSDGDBA_GROUP=dgdba

oracle.install.db.OSKMDBA_GROUP=kmdba

oracle.install.db.OSRACDBA_GROUP=dba

DECLINE_SECURITY_UPDATES=true




編集したら、インストーラを起動。

database/runInstaller -ignoreSysPrereqs -waitforcompletion -silent -responseFile /home/oracle/install/oracle_install.rsp




 

インストールが完了したら、次はroot権限の後作業が待っています。

su -l

 

/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/12.1.0/db_1/root.sh



これでインストールは完了です。次はDB構築。

 

 

 

7.DB構築

oracleで作業します。

 

su - oracle

vi ~/.bashrc

以下のようにシェル設定に環境変数を設定し、読み込んでおきます。

 

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=${ORACLE_BASE}/product/12.1.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export ORACLE_SID=orcl

export NLS_LANG=Japanese_japan.ja16euctilde

export LC_ALL=ja_JP.utf8



source ~/.bashrc



データベース作成コマンドを実行します。パスワードは適当な文字列に変更してください。

dbca -silent -createDatabase -templateName New_Database.dbt -gdbName orcl -sid orcl -sysPassword パスワード -systemPassword パスワード -datafileDestination /data -recoveryAreaDestination $ORACLE_BASE/recovery_area -characterSet "JA16EUCTILDE" -nationalCharacterSet "AL16UTF16"

 

どえらい時間かかります。最速マシンでも1.5時間くらい。遅いマシンなら数時間かかるかも。


コマンドが正常に完了していたら、その時点ですでにインスタンス軌道までされています。試しに接続してみます。

 

sqlplus sys as sysdba

 

いったん停止しましょう。

SQL> shutdown immediate

 

起動しましょう。

SQL> startup

ORACLEインスタンスが起動しました。

 

Total System Global Area  763363328 bytes

Fixed Size                  8625368 bytes

Variable Size             595591976 bytes

Database Buffers          155189248 bytes

Redo Buffers                3956736 bytes

データベースがマウントされました。

データベースがオープンされました。



リスナも起動しましょう。

SQL> quit

lsnrctl start 







これで、外からアクセスできる状態になります。

 

 

 

ではでは。今回はこれまで。