ものぐさ日記(仮)

特にテーマはありません。仕事のこと、趣味のこと、思いついたこと、だらだら綴っていきます。

【Oracle】Oracle 12c セットアップメモ

 機会があり、Oracle 12c をセットアップしたので、作業の流れをメモしておく。

 

①対応プラットフォーム確認

【参考】

 

②セットアップ用メディア(PSR、CPU、PSUWindows Bundle Patch)入手 

【参考】

 メディアの入手先は、メディアキット、ダウンロード(My Oracle Support、Oracle Software Delivery Cloud 等)があるが、パッチを入手する為にはサポート契約が必要。

 

Oracle のセットアップ(今回は12c(12.1))

a.メディアのzipファイルを展開し、セットアップできるようにフォルダを構成する。
 (V77408-01_1of2.zip 内の database フォルダに V77408-01_2of2.zip 内の database フォルダを上書きコピーする)

 

b.database フォルダ内の setup.exe を実行する。

f:id:michio_s:20160908062744p:plain

 

c.必要に応じて、セキュリティ・アップデートの構成情報を入力する。

f:id:michio_s:20160908062812p:plain

 

d.意図して電子メール・アドレスを指定しない場合は、[はい]ボタンを押下し、先に進める。

f:id:michio_s:20160908065310p:plain

 

e.「データベース・ソフトウェアのみインストール」を選択し、[次へ]ボタンを押下する。

f:id:michio_s:20160908124651p:plain

 

f.「単一インスタンス・データベースのインストール」を選択し、[次へ]ボタンを押下する。

f:id:michio_s:20160908071054p:plain

 

g.選択された言語は最初から「日本語」、「英語」が選択されているので、そのまま[次へ]ボタンを押下する。

f:id:michio_s:20160908071113p:plain

 

h.適切なエディション(今回は「Standard Edition Two」)を選択し、[次へ]ボタンを押下する。

f:id:michio_s:20160908071145p:plain

 

i.セットアップにおいて、(唯一)11g以前と比べて大きく変わったところがこの部分。Oracleホーム用のユーザーを指定し(今回は新規に作成した)、[次へ]ボタンを押下する。

f:id:michio_s:20160908071200p:plain

 

j.インストール・パスに問題が無ければ、[次へ]ボタンを押下する。

f:id:michio_s:20160908071213p:plain

 

k.前提条件のチェックが完了するまで、しばし待つ。

f:id:michio_s:20160908071227p:plain

 

l.サマリーの内容に問題が無ければ、[インストール]ボタンを押下する。

f:id:michio_s:20160908071241p:plain

 

m.インストールが完了するまで、しばし待つ。

f:id:michio_s:20160908071255p:plain

 

n.[閉じる]ボタンを押下し、作業完了。

f:id:michio_s:20160908071313p:plain

 

④データベース作成

a.スタートメニューから「Database Configuration Assitant」を起動する。

f:id:michio_s:20160908075808p:plain

 

b.「データベースの作成」を選択し、[次へ]ボタンを押下する。

f:id:michio_s:20160908075850p:plain

 

c.細かくパラメータを指定したいので、「拡張モード」を選択し、[次へ]ボタンを押下する。

f:id:michio_s:20160908075927p:plain

 

d.「拡張モード」を選択すると、セットアップの流れが11g以前のようになる。データベース・テンプレートを選択し、(今回は「汎用またはトランザクション処理」)[次へ]ボタンを押下する。

f:id:michio_s:20160908080044p:plain

 

e.12cならではの設定画面。従来通りのデータベースを作成したい場合は、「コンテナ・データベースとして作成」にチェックを入れないようにする。

今回はコンテナ・データベースとして作成する。必要な情報を入力し、[次へ]ボタンを押下する。

f:id:michio_s:20160908080521p:plain

ここではコンテナ・データベース(CDB)を作成していますが、Standard Edition だと、PDB数が1つに制限されている為、実質的に意味がありません。PDBを複数作成できるようにする為には Enterprise Edition に加え、Oracle Multitenant(オプション)が必要なようです;

 

f.EM Express を使用するので、そのまま[次へ]ボタンを押下する。

f:id:michio_s:20160908080729p:plain

 

g.要件に応じたパスワード情報を入力し、[次へ]ボタンを押下する。※伝統的(?)なパスワードを入力したら、怒られた;

f:id:michio_s:20160908080915p:plain

 

h.今回はとりあえず[はい]ボタンを押下し、続行する。

f:id:michio_s:20160908081155p:plain

 

i.DBCAにおける一番の改善点ではなかろうか(言い過ぎ)?何とDBCAの過程でリスナーを作成することができるようになりました。リスナーの情報を入力し、[次へ]ボタンを押下する。

f:id:michio_s:20160908081236p:plain

 

j.記憶域関係の情報を入力し、[次へ]ボタンを押下する。今回はバックアップの絡みもあるので、「アーカイブログモード」にする。

f:id:michio_s:20160908081415p:plain

 

k.ざっと初期化パラメータを確認し、問題が無ければ、[次へ]ボタンを押下する。

f:id:michio_s:20160908081707p:plain

(「自動メモリー管理の使用」にチェックが入っていなかったので、入れた)

f:id:michio_s:20160908081742p:plain

f:id:michio_s:20160908081754p:plain

f:id:michio_s:20160908081806p:plain

 

l.「データベースの作成」にチェックが入っているのを確認し、[次へ」ボタンを押下する。

f:id:michio_s:20160908082014p:plain

 

m.サマリーの内容に問題が無ければ、[終了]ボタンを押下する。

f:id:michio_s:20160908082139p:plain

 

n.データベースの作成が完了するまで、しばし待つ。

f:id:michio_s:20160908082250p:plain

 

o.[閉じる]ボタンを押下し、作業完了。

f:id:michio_s:20160908082356p:plain

 

p.データベースの起動確認を行う。


PS C:¥Users¥Administrator> sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on 金 9月 2 14:24:16 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> select instance_name, host_name, version, status from v$instance;

INSTANCE_NAME
----------------
HOST_NAME
----------------------------------------------------------------
VERSION           STATUS
----------------- ------------
orcl
TESTDBSVR
12.1.0.2.0        OPEN


SQL> alter session set container = TEST;

セッションが変更されました。

SQL> select name, open_mode from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
TEST                           READ WRITE

SQL> exit
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Productionとの接続が切断されました。

⑤パッチ適用

a.パッチ本体とパッチを適用する為のツール(OPatch)を任意の場所に展開する。

(今回は WINDOWS DB BUNDLE PATCH 12.1.0.2.160719 を適用する)

b.リスナーを停止する。

PS C:¥Users¥Administrator> lsnrctl

LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 02-9月 -2016 16:29:31

Copyright (c) 1991, 2014, Oracle. All rights reserved.

LSNRCTLへようこそ。詳細は"help"と入力してください。

LSNRCTL> stop
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testdbsvr)(PORT=1521)))に接続中
コマンドは正常に終了しました。
LSNRCTL> exit

c.DBをシャットダウンする。

PS C:¥Users¥Administrator> sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on 金 9月 2 15:59:08 2016

Copyright (c) 1982, 2014, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> exit
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Productionとの接続が切断されました。

d.Oracle の各サービスを停止する。

PS C:¥Users¥Administrator> net stop OracleServiceORCL
OracleServiceORCL サービスを停止中です.
OracleServiceORCL サービスは正常に停止されました。

PS C:¥Users¥Administrator> net stop OracleVssWriterORCL
OracleVssWriterORCL サービスを停止中です.
OracleVssWriterORCL サービスは正常に停止されました。
patch適用(apply)前にサービスを停止しておかないと、「OPatch failed with error code 73」が発生します。

 

e.OPatchを実行する。

PS C:¥Users¥Administrator> cmd
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:¥Users¥Administrator>SET ORACLE_HOME=D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1

C:¥Users¥Administrator>SET PATH=%PATH%;%ORACLE_HOME%¥OPatch

C:¥Users¥Administrator>cd /d %ORACLE_HOME%¥patch¥23530387

D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥patch¥23530387>opatch lspatches
このOracleホームには仮パッチがインストールされていません "D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1".

D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥patch¥23530387>opatch lsinventory

Oracle Interim Patch Installerバージョン12.2.0.1.7
Copyright (c) 2016, Oracle Corporation.  All rights reserved。


Oracle Home       : D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1
Central Inventory : C:¥Program Files¥Oracle¥Inventory
   from           :
OPatch version    : 12.2.0.1.7
OUI version       : 12.1.0.2.0
Log file location : D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥cfgtoollogs¥opatch¥opatch2016-09-02_16-35-37午後_1.log

Lsinventory Output file location : D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥cfgtoollogs¥opatch¥lsinv¥lsinventory2016-09
-02_16-35-37午後.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: testdbsvr
ARU platform id: 233
ARU platform description:: Microsoft Windows (64-bit AMD)


インストールされた最上位製品(1):

Oracle Database 12c                                                  12.1.0.2.0
このOracleホームには1の製品がインストールされています。


このOracleホームには仮パッチがインストールされていません。


--------------------------------------------------------------------------------

OPatch succeeded.

D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥patch¥23530387>opatch apply

Oracle Interim Patch Installerバージョン12.2.0.1.7
Copyright (c) 2016, Oracle Corporation.  All rights reserved。


Oracle Home       : D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1
Central Inventory : C:¥Program Files¥Oracle¥Inventory
   from           :
OPatch version    : 12.2.0.1.7
OUI version       : 12.1.0.2.0
Log file location : D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥cfgtoollogs¥opatch¥opatch2016-09-02_16-35-58午後_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   23530387

続行しますか。[y|n]
y
User Responded with: Y
All checks passed.

ローカル・システムのこのORACLE_HOME以外で実行しているOracleインスタンスを停止してください。
(Oracleホーム = 'D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1')


ローカル・システムにパッチを適用する準備ができましたか。 [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '23530387' to OH 'D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1'
ApplySession: オプションのコンポーネント[ oracle.rdbms.tg4db2, 12.1.0.2.0 ] , [ oracle.rdbms.tg4ifmx, 12.1.0.2.0 ] , [ o
racle.rdbms.tg4sybs, 12.1.0.2.0 ] , [ oracle.rdbms.tg4tera, 12.1.0.2.0 ] , [ oracle.rdbms.tg4msql, 12.1.0.2.0 ] , [ orac
le.rdbms.tg4ims, 12.1.0.2.0 ] , [ oracle.rdbms.tg4adbs, 12.1.0.2.0 ] , [ oracle.ldap.ztk, 12.1.0.1.0 ] , [ oracle.oraola
p, 12.1.0.2.0 ] , [ oracle.rdbms.ic, 12.1.0.2.0 ] , [ oracle.usm, 12.1.0.2.0 ] , [ oracle.has.cfs, 12.1.0.2.0 ] , [ orac
le.has.crs, 12.1.0.2.0 ] , [ oracle.has.cvu, 12.1.0.2.0 ] がOracleホームに存在しないか、上位バージョンが見つかりました。


コンポーネントoracle.rdbms, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.deconfig, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.dbscripts, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.dv, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.hsodbc, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ldap.rsf.ic, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ldap.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.rman, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.xdk.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.util, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.network.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.precomp.common, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.precomp.lang, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.precomp.common.core, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.precomp.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.nlsrtl.rsf, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.xdk.parser.java, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.rdbms.rsf.ic, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.odbc.ic, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.oraolap.dbscripts, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ctx, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ctx.atg, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.swd.oui.core.min, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.assistants.server, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.sdo.locator, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.aspnet_2, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.clrintg.ode_net_2, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ntoledb, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ntoledb.odp_net_2, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ntoramts, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ntrdbms.admin, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.ntrdbms.oraconfig, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.usm.deconfig, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.has.common, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.has.common.cvu, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.has.db, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.has.deconfig, 12.1.0.2.0にパッチを適用中...

コンポーネントoracle.has.rsf, 12.1.0.2.0にパッチを適用中...
Patch 23530387 successfully applied.
Log file location: D:¥app¥oraclehome¥product¥12.1.0¥dbhome_1¥cfgtoollogs¥opatch¥opatch2016-09-02_16-35-58午後_1.log

OPatch succeeded.

 

PDB自動起動設定(※CDB構成時のみ)

 データベースをCDBにした場合、PDBを起動状態で保存しておかないと、CDB再起動時にPDBが立ち上がらない。

PS C:¥Users¥Administrator> sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on 月 9月 5 12:20:30 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> alter session set container = TEST;

セッションが変更されました。

SQL> select name, open_mode from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
TEST                           MOUNTED

SQL> show con_name

CON_NAME
------------------------------
TEST
SQL> alter pluggable database test open;

プラガブル・データベースが変更されました。

SQL> select name, open_mode from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
TEST                           READ WRITE

SQL> alter pluggable database test save state;

プラガブル・データベースが変更されました。

SQL> exit
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Productionとの接続が切断されました。

 

PDB用EM Express 構成(※CDB構成時のみ)

 DB作成時に設定された EM Express はCDBを参照する為のもの。PDBを参照する為には別途構成(ポート設定)が必要。

PS C:¥Users¥Administrator> sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on 月 9月 5 12:25:39 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> alter session set container = TEST;

セッションが変更されました。

SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                             0

SQL> exec dbms_xdb_config.sethttpsport(5501);

PL/SQLプロシージャが正常に完了しました。

SQL> exit
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Productionとの接続が切断されました。

−以上