Oracle DB 12.1 でData Guardを学ぶ – フィジカル・スタンバイ・データベースの作成(5)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【今日やること】

フィジカル・スタンバイ・データベースの作成。

---以下作業---

前回の続き。
アーカイブの初期設定を誤っていたので修正する。
# 詳細は前回記事に記載

ということで早速続き。
PFILE指定でDBを起動する手順を解説しているサイトを見つけたので倣ってみる。

sqlplusを起動。

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 金 12月 1 00:15:08 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
アイドル・インスタンスに接続しました。

PFILE指定でDBを起動。

SQL> startup pfile='ora.orcl.db'('node1')
LRM-00109: パラメータ・ファイル'ora.orcl.db('node1')'をオープンできません。
ORA-01078: システム・パラメータの処理に失敗しました

エラー。
()が不正かもしれないので念のため外して再度起動。

SQL> startup pfile='ora.orcl.db'
LRM-00109: パラメータ・ファイル'ora.orcl.db'をオープンできません。
ORA-01078: システム・パラメータの処理に失敗しました

()なしと同じエラー。

もし無事に起動できた場合は、この後PFILEからSPFILEの作成して、
DBシャットダウンして、作成したSPFILEからDBを起動する手順だったが
こちらの手順もダメのよう。

# ちなみに
pfile = 初期化パラメータ・ファイル。テキスト形式。
SPFILE = サーバー・パラメータ・ファイル。バイナリ形式。
だそうだが、ここでは深掘りしない。

うーむ。

あるサイトでこんな記述を見つけた。
「SPFILEのファイル名は、環境変数ORACLE_SIDと関係がある。」

ほう。
つまり環境変数ORACLE_SIDが誤っている可能性があるということか。

私の場合アーカイブ設定の誤りなのでORACLE_SIDが誤っているということは
考えにくいが、一応確認してみる。

[oracle@node1 ~]$ echo $ORACLE_SID
orcl

異常なし。

うーーん。

現時点で

SQL> startup

しても

ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed

が返ってくるので、やはりアーカイブ設定を正しくする必要がある。

SQL> archive log list
ORA-01012: not logged on

と出る。

SQL> alter database close;
alter database close
*
行1でエラーが発生しました。:
ORA-01034: ORACLE not available
プロセスID: 0
セッションID: 0、シリアル番号: 0

こんがらがってきたので少し休憩。。

Oracle DB 12.1 でData Guardを学ぶ – フィジカル・スタンバイ・データベースの作成(4)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

フィジカル・スタンバイ・データベースの作成。

---以下作業---

前回のエントリの続き。
ORA-16024やらORA-01034やらが出てしまい作業が進まなかったので、この部分の解消を目指す。

 

まず現状の整理。

# ローカル・ノードへのアーカイブREDOログ格納
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST
2  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=orcl'Scope=spfile;
システムが変更されました。
# リモート・ノードへのREDOログ転送
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=node2 ASYNC
2  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=orcls'scope=spfile;
システムが変更されました。

上記手順の中で「DB_UNIQUE_NAME」の前にスペースを入れていなかったことが原因で
アーカイブログが誤設定されていると思われる。
# 多分正しいと思う

なので今回はアーカイブログの再設定の手順を調べ、実行しようと思う。

アーカイブ運用の再設定

www.shift-the-oracle.com

このサイトを参考にしてアーカイブ運用の再設定を行ってみる。
まず以下のとおりDBを停止して、MOUNT状態にする。

SQL> SHUTDOWN IMMEDIATE ;
SQL> STARTUP MOUNT;

結果は以下。

SQL> SHUTDOWN IMMEDIATE ;
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3640
Additional information: 1371676159
プロセスID: 0
セッションID: 0、シリアル番号: 0
SQL> STARTUP MOUNT;
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed

思ってた挙動と違う。
もしかして一度アーカイブ設定を間違えると取り返しつかない?

いやそんなことないはず。
調べてみる。

こんなサイトを見つけた。

www.shift-the-oracle.com

「アーカイブの出力先設定を間違えて起動不能になった場合」というタイトルなので期待大。

 

こう記載がある。

メモリやプロセス関連の初期化パラメータに誤った設定を行なうとマウントができないことがあり、
初期化パラメータを元に戻せないことがある。

私のことですね。
早速手順に従って作業を行う。

f:id:ysk_son:20171130235753p:plain

…わからない。
今までの作業工程で’initXXX.ora’とか一度も出てきていない。。
とりあえず[]内は飛ばしてOKとあるので以下のようにコマンド。

SQL> CREATE PFILE FROM SPFILE
2  CREATE SPFILE FROM PFILE
3

コマンドはエラーなく受け入れてもらえるんだけど、特にメッセージもない。
これで正しいのかどうかわからないので試しにアーカイブログ・モードの設定へと作業を進めてみる。

SQLモードを終えて以下を実行。

[oracle@node1 ~]$ srvctl stop database -db orcl -stopoption immediate
PRCC-1016 : orclはすでに停止しています
[oracle@node1 ~]$ srvctl start database -db orcl -startoption mount
PRCR-1079 : リソースora.orcl.dbの起動に失敗しました
CRS-5017: リソース・アクション"ora.orcl.db start"に次のエラーが発生しました:
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed
。詳細は"(:CLSN00107:)"("/u01/app/grid/diag/crs/node1/crs/trace/ohasd_oraagent_grid.trc")を参照してください。
CRS-2674: 'ora.orcl.db'('node1')の起動に失敗しました
[oracle@node1 ~]$

DBの起動に失敗したとのこと。
また「ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed」が出てきているので
一つ前の手順は正解ではなかったということか。

「詳細は”(:CLSN00107:)”(“/u01/app/grid/diag/crs/node1/crs/trace/ohasd_oraagent_grid.trc”)を参照してください。」
というのが気になるので調べてみよう。

……

ううん。。。有効な手段が見つからない。。

Oracle DB 12.1 でData Guardを学ぶ – フィジカル・スタンバイ・データベースの作成(3)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

フィジカル・スタンバイ・データベースの作成。

---以下作業---

前回のエントリでORA-16024やらORA-01034やらが
出てしまい作業が進まなかったので、今回はこの部分の解消を目指す。

まずはORA-01034について調査。

調べたところ、REDOログをアーカイブする際に、何らかの原因でREDOログが
アーカイブREDOログに書き込めずエラーとなっている可能性が考えられるので、
アーカイブログのモードを一旦リセットしてみることに。

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 木 11月 30 20:20:02 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
アイドル・インスタンスに接続しました。

SQL接続はできた。
次に試しにDBパラメータを確認してみる。

SQL> show parameters db_name
ORA-01034: ORACLE not available

エラー。
またORA-01034。

この状態で

SQL> startup mount

とすると

ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed

と返ってくるので、アーカイブログの設定がおかしいのは間違いなさそう。
こいつを一旦リセットして設定をし直せば良いのだろうか。

調査…

おぉ。このサイトはドンピシャで「ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed」
の対処法が書かれている。

www.dba-oracle.com

 

以下抜粋

Question: I am getting the ORA-16024 error in my init.ora file:

log_archive_dest_1 = ‘LOCATION=/u01/app/oracle/prim/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=prim’

ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed

Answer: The cause of this ORA-16024 error is a missing space in the variable declaration.

log_archive_dest_1 = ‘LOCATION=/u01/app/oracle/prim/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=prim’

Should be containing a space before db)uniaue_name:

log_archive_dest_1 = ‘LOCATION=/u01/app/oracle/prim/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=prim’

unique_nameの前にスペースを入れなさいとの事。
前回の私の記事を見ると。。

# ローカル・ノードへのアーカイブREDOログ格納
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST
2  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=orcl'Scope=spfile;
システムが変更されました。
# リモート・ノードへのREDOログ転送
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=node2 ASYNC
2  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=orcls'scope=spfile;
システムが変更されました。

スペースない。

ここを設定し直せば良さそうだ。

スペースの見落としがこんなに重要とは。
コピペを使わなかった自分を呪いたい。
# 手打ちした方が覚えると思ってわざわざ打ち込んでた

そしてこの場合エラーも出ずに設定を進められてしまうことも勉強になった。

 

「ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed」で調べると
unique_nameの前にスペースを入れないさいという情報は多々見つけられるのだが
これの再設定方法についての情報がなかなか見つからない。

一息つく。
続きはまた次のエントリにて。

Oracle DB 12.1 でData Guardを学ぶ – フィジカル・スタンバイ・データベースの作成(2)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

フィジカル・スタンバイ・データベースの作成。

---以下作業---

前回のエントリでData Guard用初期化パラメータの設定まで完了しているので、
今回はアーカイブログ・モードの設定から作業を行う。

まずMOUNTモードで起動。

[oracle@node1 ~]$ srvctl stop database -db orcl -stopoption immediate
PRCC-1016 : orclはすでに停止しています

ん??

[oracle@node1 ~]$ srvctl start database -db orcl -startoption mount
PRCR-1079 : リソースora.orcl.dbの起動に失敗しました
CRS-5017: リソース・アクション"ora.orcl.db start"に次のエラーが発生しました:
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed
。詳細は"(:CLSN00107:)"("/u01/app/grid/diag/crs/node1/crs/trace/ohasd_oraagent_grid.trc")を参照してください。
CRS-2674: 'ora.orcl.db'('node1')の起動に失敗しました

エラー。
ORA-16024は以下が原因とのこと。

ORA-16024: パラメータstringを解析できません。
原因: 指定されたLOG_ARCHIVE_DEST_n(n = 1から31)パラメータの値を解析できませんでした。このエラーの一般的な原因は、等号の位置が誤っているか、属性が認識できないか、または属性に要求されている値がないことです。

前回のエントリの中でLOG_ARCHIVE_DEST_n やった記憶があるので見返してみたが、
特に問題なく見える。

試しにもう一度SQLでパラメータ設定をしてみる。

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 水 11月 29 22:30:41 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
アイドル・インスタンスに接続しました。
SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcls)' scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcls)' scope=spfile
*
行1でエラーが発生しました。:
ORA-01034: ORACLE not available
プロセスID: 0
セッションID: 0、シリアル番号: 0

ORA-01034。
環境起因のエラーらしい。
原因は複数考えられるそう。困った。

・接続先インスタンスが起動していない状態で、ローカル接続を実行した
・環境変数ORACLE_SIDに誤った値を設定して、ローカル接続を実行した
の2つがよくある原因らしいので、インスタンスが正しく起動されているか確認する。

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 水 11月 29 22:44:01 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
アイドル・インスタンスに接続しました。
SQL> startup open
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed

またORA-16024きた。
パラメータ設定が正しくない→インスタンス起動したい→パラメータ設定が正しくない…
んん。。

おそらくORA-01034を解決する必要があるのだろう。

調査せねば。。

Oracle DB 12.1 でData Guardを学ぶ – フィジカル・スタンバイ・データベースの作成(1)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

フィジカル・スタンバイ・データベースの作成。

---以下作業---
そもそもフィジカル・スタンバイ・データベースとは?
フィジカル・スタンバイ・データベースはプライマリ・データベースを正確に、ブロックごとにコピーしたものです。フィジカル・スタンバイはREDO Applyと呼ばれるプロセスによって正確なコピーとして維持されます。このプロセスではデータベース・リカバリ・メカニズムを使用して、プライマリ・データベースから受信したREDOデータを継続的にフィジカル・スタンバイ・データベースに適用します。
フィジカル・スタンバイ・データベースは、読取り専用アクセス用にオープンし、問合せをプライマリ・データベースからオフロードするために使用できます。 Oracle Active Data Guardオプションのライセンスを購入している場合は、フィジカル・スタンバイ・データベースを開いている間はRedo Applyをアクティブにすることができます。それにより、問合せによって、プライマリ・データベースからのものと同じ結果が得られます。この機能は、リアルタイム問合せ機能と呼ばれます。
出典:[https://docs.oracle.com/cd/E16338_01/server.112/b56302/standby.htm:title=Oracle® Data Guard概要および管理]

日常でのセールストークはこんな具合と想像。
・本番DBのREDOデータを継続的にDRサイトのDBに適用することで高可用性を確保できます。
・ストレージバックアップとは違いデータの破損およびユーザーエラーからも保護されます。
 # 本番DBでのストレージレベルの物理的な破損がDRサイトのDBに伝播することはありません(これ大事)

ということでフィジカル・スタンバイ・データベースの作成を始める。
まずはプライマリ・データベース設定の確認から。

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 水 11月 29 17:35:27 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
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> show parameters db_name
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_name 			     string
orcl
SQL> show parameter db_unique_name
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_unique_name			     string
orcl
SQL> show parameters db_block size
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_block_buffers		     integer
0db_block_checking		     string
FALSE
db_block_checksum		     string
TYPICAL
db_block_size			     integer
8192
SQL> show parameters audit_file_dest
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
audit_file_dest 		     string
/u01/app/oracle/admin/orcl/adu
mp
SQL> show parameters remote_login_passwordfile
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
remote_login_passwordfile	     string
EXCLUSIVE
SQL> show parameters listener
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
listener_networks		     string
local_listener			     string
LISTENER_ORCL
remote_listener 		     string
SQL> show parameters DB_RECOVERY_FILE_DEST
NAME				     TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_recovery_file_dest		     string
+FRA
db_recovery_file_dest_size	     big integer
4800M

ここまでが設定の確認。
赤字で記載した部分が特にチェックすべき項目。

次にData Guard用初期化パラメータの設定を行う。

# DG_CONFIGにはData Guard構成に含まれるすべてのデータベースのDB_UNIQUE_NAMEを設定
SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcls)'scope=spfile;
システムが変更されました。
# ローカル・ノードへのアーカイブREDOログ格納
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST
2  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=orcl'Scope=spfile;
システムが変更されました。
# リモート・ノードへのREDOログ転送
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=node2 ASYNC
2  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=orcls'scope=spfile;
システムが変更されました。

上記アーカイブログの保存先の指定とREDOログの有効化を行った。
ASYNC属性を指定することでプライマリでのREDOの生成とスタンバイへの転送が非同期に行われる。
その他の細かい説明は省略してData Guard用初期化パラメータの設定を続ける。

SQL> alter system set LOG_ARCHIVE_DEST_STATE_1='ENABLE' scope=spfile;
システムが変更されました。
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2='ENABLE' scope=spfile;
システムが変更されました。

上記手順ではLOG_ARCHIVE_DEST_1及びLOG_ARCHIVE_DEST_2を
アーカイブ操作の宛先として使用するか否かを設定した。
今回は両方使用するため「ENABLE」に設定。

次。

SQL> alter system set FAL_SERVER='node2' scope=spfile;
システムが変更されました。
SQL> alter system set STANDBY_FILE_MANAGEMENT='AUTO' scope=spfile;
システムが変更されました。

FAL_SERVER=’node2′ について手元の資料は以下のように記載がある。

「FAL_SERVERには、スタンバイ・データベースのFAL(Fetch Archive Log)サーバーを指定する」

FALとは何か?については後で復習するとしてとりあえず作業を進める。

また、STANDBY_FILE_MANAGEMENT=’AUTO’ ではデータファイルがプライマリ・データベースに
追加または削除された場合に、
それに対応してスタンバイ・データベースも自動的に変更されるよう、

AUTOに設定をした。
※このパラメータは、フィジカル・スタンバイ・データベースに対してのみ適用される

ここまででData Guard用初期化パラメータの設定は完了。
だいぶ長くなったので本エントリはここまで。

Oracle DB 12.1 でData Guardを学ぶ – 環境の構築(2)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

まずは環境設定を行う。
(新規マシンを立ち上げてLinuxを入れたり)

---以下作業---
■環境の準備
# 前回のエントリで仮想マシンの立ち上げまでは完了しているので、今回は環境の確認

以下について確認。

■各仮想マシンごとの時刻が離れすぎていないか

■node1(プライマリDB)
192.168.56.101
Oracle Enterprise Linux 6.4
Oracle Database 12c Release 1
12.1.0.2
Oracle Restart構成済み
データベース作成済み
ORACLE_SID=orcl

■node2(スタンバイDB)
192.168.56.102
Oracle Enterprise Linux 6.4
Oracle Database 12c Release 1
12.1.0.2
Oracle Restart構成済み
データベース未作成
ORACLE_SID=orcls で作成

■各仮想マシンには以下ユーザーを作成済み
root
grid
oracle

■Oracle Restart構成(gridユーザー)はともに以下
ORACLE_BASE : /u01/app/grid
ORACLE_HOME : /u01/app/grid/product/12.1.0/grid
ASMインスタンスのORACLE_SID : +ASM

■node1のOracle Database構成(oracleユーザー)は以下
ORACLE_BASE : /u01/app/oracle
ORACLE_HOME : /u01/app/oracle/product/12.1.0/dbhome_1
高速リカバリ領域 : +FRA
アーカイブログファイル : 高速リカバリ領域に出力
データベースファイル群 : +DATA
DBユーザーのパスワード : *********

■node2のOracle Database構成(oracleユーザー)は以下
ORACLE_BASE : /u01/app/oracle
ORACLE_HOME : /u01/app/oracle/product/12.1.0/dbhome_1

■node1のデータベース構成は以下
IP Address : 192.168.56.101
Software : Oracle Database 12c Release 1
 12.1.0.2
Oracle Restart : 構成済み
DB_NAME=orcl
データベース作成済み(CDB構成、1つのPDB)
DB_UNIQUE_NAME=orcl
ORACLE_SID=orcl
ノーアーカイブログ・モード
フラッシュバック・データベース未設定

■node2のデータベース構成は以下
IP Address : 192.168.56.102
Software : Oracle Database 12c Release 1
 12.1.0.2
Oracle Restart : 構成済み
DB_NAME=orcl
データベース未作成
DB_UNIQUE_NAME=orcls
ORACLE_SID=orcls で作成

Oracle DB 12.1 でData Guardを学ぶ – 環境の構築(1)

【目的】

Oracle Database 12c Release 1 でData Guardを実装する。

【環境】

ホストOS:MacBook Air OS X EI Capitan / 1.6GHz Intel Core i5 / 4GB /
ゲストOS:Oracle Linux Release 6 Update 4 for x86_64 (64 bit)

# 今回の勉強用途でMacBook Air買ったのだかすでに容量パンパン。。

【参考資料】

Data Guardに関する社内ハンズオンの資料とかWeb上の資料とか。

【現状】

このエントリに書いたとおり、VirtualBox上にOracle DB 12cR2を構築した経験はある。
逆にそれ以外の経験はなし。

【今日やること】

まずは環境設定を行う。
(新規マシンを立ち上げてLinuxを入れたり)

---以下作業---
■環境の準備
# 仮想マシンの構築については社内ハンズオンの際に配布されたイメージファイルを使う

まずWindows上にVirtualBoxイメージの配置ディレクトリの作成する。

次の2つのフォルダを作成する。

C:\VBox\handson
C:\VBox\image

C:\VBox\handsonに本ハンズオン・キットのdgディレクトリを配置する。

C:\VBox\handson\dg

そして社内ハンズオンで使用したVirtualBoxイメージをC:\VBoxに配置、展開。
これらファイルをVirtualBoxマネージャからファイル選択して立ち上げる。

マシンが立ち上がったらIPアドレスとOSユーザー名を定義するのだが。

マシンが立ち上がらない。
f:id:ysk_son:20171129010422p:plain

ホストオンリーアダプターの設定が不正と言っている?
しかしVirtualBoxの設定はホストオンリーアダプターとなっている。
なんだろか。。

どうやらホストOSとゲストOSの間の通信の設定ができていなかったようだ。
↓がVirtualBoxの画面。ホストオンリーアダプターとなっている。
f:id:ysk_son:20171129115856p:plain

しかしVirtualBoxの環境設定(仮想マシンの環境設定ではなく)からネットワークを
確認すると↓のようになっており、ネットワークの定義がされていないことがわかる。
f:id:ysk_son:20171129115859p:plain

なのでまずはホストオンリーアダプターのネットワークを定義する。

まずプライマリDBとなるマシンの設定を以下の通り行った。
f:id:ysk_son:20171129121919p:plain
f:id:ysk_son:20171129121929p:plain

次にスタンバイDBとなるマシンの設定が以下。
# IPv4アドレス以外は全て同じ値を入力したのだが、正しいのだろうか。。
f:id:ysk_son:20171129122156p:plain
f:id:ysk_son:20171129122228p:plain

これでホストオンリーアダプターの設定が完了したつもりなので、
再度仮想マシンを起動してみる。

無事マシンの起動ができた。
これで環境の構築(イメージファイルの読み込み)はできたと思われるので、
次回以降は環境を理解した上でDG構築に進む。