目的
Oracle Database 12c Release 1 の機能評価用検証環境 構築手順を説明します。
Oracleからガイドが提供されていますので、補足する形で説明します。
利用するガイドはこちら。
Oracle VM VirtualBox を用いた Oracle Database 12c Release 1 環境の構築
以下、文中での「ガイド」はこのガイドを指します。
環境
VM上でOracle Linux 6を稼働させ、Oracle Database 12c Release 1をインストールします。
Oracle Database 12c Release 1が要求する要件は以下を参照ください。
Oracle Databaseのインストールのチェックリスト
1.1 Oracle Databaseインストールのハードウェアのチェックリスト
1.2 LinuxでのOracle Databaseインストールのオペレーティング・システムのチェックリスト
ハードウェア
今回はHyper-V(ガイドに従ってVirtualBoxを利用しても、その他でも構いません)で以下のVMを作成しました。
メモリ:2048MB
ハードディスク:50GB
ネットワークアダプタ:外部ネットワーク接続可能な仮想スイッチ
VirtualBox以外を利用する場合、ガイドのVM作成手順を一部読み替えて実施する必要がありますので、ご注意ください。
ガイドの補足
基本的にはガイドの通り進めれば問題ありません(環境の違いなどは適宜読み替えてください)。以下、補足の必要な箇所を説明します。
補足する手順を実施することにより、以下の点が改善されます。
・Oracle Pre-Install RPMパッケージを11gR2用ではなく12cR1用を適用
・前提条件チェックの失敗回避
・インベントリの作成失敗回避
・ガイドと実際の画面差異の補足
1)
『4.2 Oracle Linux 6 のインストール』の『12. ソフトウェアの設定(P40)』で「後でカスタマイズ」を選択します。これにより、『13. ソフトウェアのカスタマイズ(P40)』をスキップします。
これはOracle Pre-Install RPMパッケージを11gR2用ではなく、12cR1用を適用するためです。
2)
『5.1 oracle-validated-verify の実行(P58)』を実行する前に、ネットワーク接続のセットアップを『5.4 ネットワーク要件の確認(P63)』に従って行います。その後は3)の作業を続けます。
3)
『5.1 oracle-validated-verify の実行(P58)』で以下のコマンドを実行します。
# yum -y install oracle-rdbms-server-12cR1-preinstall.x86_64 # yum update # export LANG=C # oracle-rdbms-server-12cR1-preinstall-verify
なお、Oracle Databaseのインストレーション・ガイドでは"oracle-rdbms-server-12cR1-preinstall-verify"の実行について触れられていません。ですが、今回参照しているガイドでは手順に含まれています。そのため、ガイドに従って実行しています。
参考:インストレーション・ガイドの該当箇所
Oracle Preinstallation RPMによるOracle Linuxの自動構成
4)
『5.2 OS グループ、OS ユーザー、およびディレクトリの作成(P59)』のOSユーザーコマンド作成は以下のコマンドで実行してください。
【ガイド】 # usermod -u 54321 -g oinstall -G dba,backupdba,dgdba,kmdba oracle 【修正版】 # usermod -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle
ガイドの通りに実行すると、『前提条件チェックの実行(P77)』で失敗します。その場合は前提条件チェック画面の「修正及び再チェック」を利用し、画面の指示に従って修正可能です。
5)
『5.2 OS グループ、OS ユーザー、およびディレクトリの作成(P59)』にて、『oracleユーザーに対して設定されている初期パスワードは oracle です。』とありますが、実際には異なるようです(何が設定されているかは不明ですが、少なくとも oracle ではなかった)。
ガイドに従ってoracleユーザーのパスワードを変更すれば問題ありません。
6)
『5.2 OS グループ、OS ユーザー、およびディレクトリの作成(P59)』のディレクトリ作成後に、以下のコマンドも実行してください。
# mkdir -p /u01/app/oraInventory # chown -R oracle:oinstall /u01/app/oraInventory # chmod -R 775 /u01/app/oraInventory
ガイドの通りに実行すると、『インベントリの作成(P75)』で失敗します。その場合は上記コマンドを実行することでインストールを続行できます。
参考:インベントリ作成の失敗例
以下のエラーメッセージが表示される。
[INS-32031]インベントリの場所が無効です。
[INS-32033]中央インベントリの場所は書込み不可です。
参考:インベントリの作成失敗について
Not just a DBA !!!: INS-32031 INS-32033 while installing 11.2.0.3 on linux
7)
『6.1 Oracle Database のインストール』で『3. Software Update のダウンロード』の記載がありますが、手順通り進める限り、この手順はスキップされました。
8)
『6.2 DBCAを利用したデータベースの作成(P80)』で『8. ネットワーク構成(P84)』のキャプチャと説明が実際と異なるようです。
入力は以下の通り行ってください。
新規リスナーの作成:チェックする
リスナー名:LISTENER
リスナー・ポート:1521
参考:キャプチャと設定例
9)
『7.1. 環境変数の設定』で環境変数の設定後、oracleユーザで以下のコマンドを実行してください。
[oracle@node1 ~]$ mkdir /home/oracle/tmp
これを行わないと、Oracle LinuxのGUIのログイン画面でoracleユーザでのログインができなくなります。なお、CUIであればログイン可能です。
参考:エラーダイアログ
以下のエラーメッセージが表示される。
設定サーバに問題があるようです
(/usr/libexec/gconf-sanity-check2 がステータス 256 で終了しました)
10)
『7.2. リスナーとデータベースの稼働確認(P91)』でSHOW PDBSコマンドを使ってPDBのOPEN MODEを確認していますが、SYSDBA権限がないと失敗するのでご注意ください。
SQL> connect system パスワードを入力してください: 接続されました。 SQL> show pdbs; SP2-0382: SHOW PDBSコマンドは使用できません。 SQL> SQL> connect system as sysdba パスワードを入力してください: 接続されました。 SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED SQL>
リスナー
リスナーの起動
原則として、Oracle Database ではリスナーを起動した後、インスタンスを起動します。
参考:Oracle Database インスタンスとリスナーの起動順序 - ぱと隊長日誌
[oracle@node1 ~]$ lsnrctl start LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 08-11月-2014 08:48:39 Copyright (c) 1991, 2014, Oracle. All rights reserved. /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnrを起動しています。お待ちくだ さい... TNSLSNR for Linux: Version 12.1.0.2.0 - Production システム・パラメータ・ファイルは/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.oraです。 ログ・メッセージを/u01/app/oracle/diag/tnslsnr/node1/listener/alert/log.xmlに書 き込みました。 リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1.oracle12c.jp)(PORT=1521))) リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1.oracle12c.jp)(PORT=1521)))に接続中 リスナーのステータス ------------------------ 別名 LISTENER バージョン TNSLSNR for Linux: Version 12.1.0.2.0 - Production 開始日 08-11月-2014 08:48:39 稼働時間 0 日 0 時間 0 分 0 秒 トレース・レベル off セキュリティ ON: Local OS Authentication SNMP OFF パラメータ・ファイル /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora ログ・ファイル /u01/app/oracle/diag/tnslsnr/node1/listener/alert/log.xml リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1.oracle12c.jp)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) リスナーはサービスをサポートしていません。 コマンドは正常に終了しました。 [oracle@node1 ~]$
リスナーの停止
[oracle@node1 ~]$ lsnrctl stop LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 08-11月-2014 08:50:27 Copyright (c) 1991, 2014, Oracle. All rights reserved. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1.oracle12c.jp)(PORT=1521)))に接続中 コマンドは正常に終了しました。 [oracle@node1 ~]$
プラガブルデータベースの起動・停止
プラガブルデータベース(PDB)はCDBとPDBの起動・停止が分離されています。そのため、CDB→PDBの順で起動することになります(停止時は逆)。
インスタンスを起動し、データベースをマウントしてオープンする
[oracle@node1 ~]$ sqlplus /nolog SQL*Plus: Release 12.1.0.2.0 Production on 月 10月 13 11:05:06 2014 Copyright (c) 1982, 2014, Oracle. All rights reserved. SQL> CONNECT / AS SYSDBA; アイドル・インスタンスに接続しました。 SQL> STARTUP; ORACLEインスタンスが起動しました。 Total System Global Area 796917760 bytes Fixed Size 2929448 bytes Variable Size 545262808 bytes Database Buffers 243269632 bytes Redo Buffers 5455872 bytes データベースがマウントされました。 データベースがオープンされました。 SQL>
PDBの起動
SQL> SHOW PDBS; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED SQL> SQL> ALTER PLUGGABLE DATABASE ALL OPEN; プラガブル・データベースが変更されました。 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 SQL>
CDBインスタンスの停止
SQL> SHUTDOWN IMMEDIATE; データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 SQL>
参考
Oracle Databaseインストレーション・ガイド, 12cリリース1 (12.1) for Linux
ユーザー目線でチェック! Oracle Database 12cの知りたいところ(2):データベース統合の新たな手法「マルチテナント・アーキテクチャ」 (1/3) - @IT
更新情報
2014/11/08
- リスナーの章を追記しました