Oracle Database 12c Release 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」
の対処法が書かれている。
以下抜粋
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の前にスペースを入れないさいという情報は多々見つけられるのだが
これの再設定方法についての情報がなかなか見つからない。
…
一息つく。
続きはまた次のエントリにて。