今回は下記のような流れです。
- 環境準備。Oracle Linux インストール ~ RPM 導入。
- Oracle Database のソフトウェアをサイレントインストール。
- DB を DBCA のサイレントモードで作成。
- 起動確認。
あえてサイレントモードの DBCA で作成してみました。
Oracle Linux インストール。
Oracle Linux 6.7 をインストールしました。
[root@db01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.7
[root@db01 ~]# uname -r
3.8.13-68.3.4.el6uek.x86_64
ちなみに、minimal インストールでも OK です。
OS の ネットワーク設定。
★ここからは、root ユーザで作業しています。
- DB サーバなので、静的な設定(DHCP でなく) にしておきます。
- インストール簡略化のために ORACLE の Public-yum サーバにアクセスするべく
インターネットに出られるようにしておきます。
1-3 Oracle のインストール要件となる RPM のインストール。
RPM をダウンロードできる Yum リポジトリは、
Oracle Linux をインストールするとデフォルトで設定されています。
[root@db01 ~]# yum repolist
読み込んだプラグイン:ulninfo
リポジトリー ID リポジトリー名 状態
public_ol6_UEKR3_latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 6Server (x86_64) 469
public_ol6_latest Oracle Linux 6Server Latest (x86_64) 32,352
repolist: 32,821
Oracle Database が必要とする RPM をインストールして、さらに
最低限の設定をしてくれる RPM 「oracle-rdbms-server-12cR1-preinstall」 をインストールします。
※この RPM は、Oracle Linux の ISO イメージにも含まれています。
※ちなみに、これにより今日の時点で 56 個の RPM がダウンロードされました。
※この RPM で、「oracle」 OS ユーザも作成されます。
[root@db01 ~]# yum install -y oracle-rdbms-server-12cR1-preinstall
あと、Oracle Database インストーラを解凍するために、
unzip (ついでに zip も) インストールしておきます。
[root@db01 ~]# yum install -y zip unzip
OS 設定の調整。
hosts ファイルを vi などのエディタで編集して、
IP アドレスと、ホスト名を追記しておきます。
[root@db01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.11 db01 db01.gowatana.lab
インストール先ディレクトリを作成しておきます。
※今回の ORACLE_BASE は /u01/app/oracle にします。
[root@db01 ~]# mkdir -p /u01/app/oracle
[root@db01 ~]# chown -R oracle:oinstall /u01/app
SELinux は、無効にしてしまいます。
下記のように設定ファイルを編集します。※OS 再起動で反映されます。
[root@db01 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
OS 再起動。
SELinux の設定変更などのため、いったん OS を再起動します。
[root@db01 ~]# reboot
Oracle Database インストーラの配置。
★ここ以降は、基本的に oracle ユーザでログインして作業します。
OTN から ダウンロードした、Oracle Database のインストーラを配置します。
インストーラのファイルは 2つに分割されています。
[oracle@db01 ~]$ ls -sh1 *zip
1.6G linuxamd64_12102_database_1of2.zip
968M linuxamd64_12102_database_2of2.zip
インストーラを解凍しておきます。
[oracle@db01 ~]$ mkdir work[oracle@db01 ~]$ cd work/
[oracle@db01 work]$ unzip ../linuxamd64_12102_database_1of2.zip
[oracle@db01 work]$ unzip ../linuxamd64_12102_database_2of2.zip
[oracle@db01 work]$ du -sh *2.8G database
OUI レスポンスファイルの作成。
サイレントインストールすべく、
Oracle Universal Installer(OUI) のレスポンスファイルを作成します。
ちなみにサンプルファイルは、Database のインストールメディアに含まれています。
( ./database/response/db_install.rsp)
また、いったんどこかで OUI を起動~インストールを進めて、
レスポンスファイルを生成することもできます。
今回は、下記のようなレスポンスファイルを作成しました。
ファイル名は、dbms_oui.rsp としています。
/home/oracle/work/dbms_oui.rsp の内容
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=db01.gowatana.lab
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=ja,en
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
DECLINE_SECURITY_UPDATES=true
DBMS インストールから DB 作成までまとめて実施することが可能ですが、
経験上、DB 作成で失敗すると悲しいので分けて実施します。
Oracle Database サイレントインストール。
レスポンスファイルを指定して、インストーラを起動します。
- レスポンスファイルは、フルパスで指定する。
「-responseFile 」 を相対パスで指定するとエラーになるようです。 - 気持ち的な妥協レベルに応じて、「-ignoreSysPrereqs」 をつける。
- 今回は、実は SWAP 容量が足りない環境なので付与しています。
- インストール処理が一通りおわってからプロンプトが戻るよう 「-waitforcompletion」 をつける。
デフォルトだと、インストーラが起動されたらプロンプトが戻ってしまいます。
これで処理の終了がわかりやすくなります。
runInstaller でインストールします。
インストール様子は、下記のような感じです。
[oracle@db01 work]$ /home/oracle/work/database/runInstaller -ignoreSysPrereqs -waitforcompletion -silent -responseFile /home/oracle/work/dbms_oui.rsp
Oracle Universal Installerを起動中です...
一時領域の確認中: 500MBを超えている必要があります. 実際 2804MB 問題なし
スワップ領域の確認中: 150MBを超えている必要があります. 実際 1227MB 問題なし
Oracle Universal Installerの起動を準備中 /tmp/OraInstall2015-10-18_08-49-55PM. お待ちください...[WARNING] [INS-13014] ターゲット環境は、いくつかのオプションの要件を満たしていません。
原因: 一部のオプションの前提条件が満たされていません。詳細はログを参照してください。/tmp/OraInstall2015-10-18_08-49-55PM/installActions2015-10-18_08-49-55PM.log
アクション: ログから失敗した前提条件チェックのリストを確認します: /tmp/OraInstall2015-10-18_08-49-55PM/installActions2015-10-18_08-49-55PM.log。次に、ログ・ファイルまたはインストレーション・マニュアル のいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。
このインストール・セッションのログは次の場所にあります:
/u01/app/oraInventory/logs/installActions2015-10-18_08-49-55PM.log
Oracle Database 12cのインストールが成功しました。
詳細は'/u01/app/oraInventory/logs/silentInstall2015-10-18_08-49-55PM.log'を確認してください。
rootユーザーとして次のスクリプトを実行します:
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Successfully Setup Software.
[oracle@db01 work]$
root ユーザでのスクリプト実行。
上記にもある指示に従って、OUI でのインストールの場合と同じようにスクリプトを実行します。
※これは、root ユーザで実行します。
[root@db01 ~]# id
uid=0(root) gid=0(root) 所属グループ=0(root)
一つめ。
[root@db01 ~]# /u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。
グループ名の変更 /u01/app/oraInventory 宛先 oinstall.
スクリプトの実行が完了しました。
二つめ。
[root@db01 ~]# /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Check /u01/app/oracle/product/12.1.0/dbhome_1/install/root_db01_2015-10-18_20-57-06.log for the output of root script
DB 作成のためのレスポンスファイルの作成。
DB は、サイレントモードの DBCA で作成してみます。
dbca コマンドで指定するレスポンスファイルを作成しておきます。
こちらも OUI のもの同様、サンプルファイルが Database のインストールメディアに含まれています。
( ./database/response/dbca.rsp)
今回のレスポンスファイル /home/oracle/work/dbca_testdb.rsp の内容。
※せっかくなので、コンテナデータベースにして、PDB を 2つ作成してみます。
[GENERAL]
RESPONSEFILE_VERSION = "12.1.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "testdb"
SID = "testdb"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET = "AL16UTF16"
CREATEASCONTAINERDATABASE = true
NUMBEROFPDBS = 2
PDBNAME = pdb
いろいろ省略して、メモリ容量すら省略してますが、
これでとりあえず DB が作成できます。
レスポンスファイルのパラメータは、
だいたい DBCA の GUI と同じ感覚で指定(省略も)できるようです。
サイレントモードの DBCA で DB 作成。これでとりあえず DB が作成できます。
レスポンスファイルのパラメータは、
だいたい DBCA の GUI と同じ感覚で指定(省略も)できるようです。
とりあえず、環境変数を設定しておきます。
[oracle@db01 work]$ export ORACLE_BASE=/u01/app/oracle
[oracle@db01 work]$ export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
[oracle@db01 work]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@db01 work]$ env | grep ORACLE
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@db01 work]$ which dbca
/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca
dbca をサイレント実行します。
インストール様子は、下記のような感じです。
[oracle@db01 work]$ dbca -silent -responseFile /home/oracle/work/dbca_testdb.rsp
SYSユーザー・パスワードを入力してください: ★設定するパスワードを入力。
SYSTEMユーザー・パスワードを入力してください: ★設定するパスワードを入力。
PDBADMINユーザー・パスワードを入力してください: ★設定するパスワードを入力。
データベース・ファイルのコピー中
1%完了
2%完了
8%完了
13%完了
27%完了
Oracleインスタンスの作成および起動中
29%完了
32%完了
33%完了
34%完了
38%完了
42%完了
43%完了
45%完了
データベース作成の完了
48%完了
51%完了
53%完了
62%完了
70%完了
72%完了
プラガブル・データベースの作成
78%完了
83%完了
100%完了
詳細はログ・ファイル"/u01/app/oracle/cfgtoollogs/dbca/testdb/testdb.log"を参照してください。
[oracle@db01 work]$
作成された DB の様子。
DBCA の終了直後に、DB インスタンスに接続してみました。
[oracle@db01 work]$ export ORACLE_SID=testdb
[oracle@db01 work]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sun Oct 18 22:18:32 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
testdb OPEN
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
PDB もちゃんと 2つ作成されていました。
レスポンスファイルで指定した PDBNAME の末尾に数字が付きます。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
以上、Oracle Database のサイレントインストールでした。
0 件のコメント:
コメントを投稿