この記事は、RACOneノードアーキテクチャでActiveDataGuardフィジカルスタンバイを設定する手順を説明する2部構成のシリーズのパート1です。
はじめに
Oracle Data Guardは、統合されたソリューションのセットであるOracle Database High Availability(HA)の主要コンポーネントの1つであり、組織が計画されているかどうかに関係なく、非アクティブを最小限に抑えるのに役立ちます。彼らのビジネスの流れを保証します。 Active Data Guardは、Oracle Database Enterprise Editionのライセンスオプションであり、コンサルテーション、レポート、プライマリデータベースに影響を与えないスタンバイデータベースの更新、破損したデータブロックの自動回復、とりわけ、増分バックアップ。
Oracle RAC One Nodeは、共有ディスクアーキテクチャを利用して、Oracle Real Application Clusters(RAC)と同様のデータベース可用性の高いソリューションを提供します。複数のインスタンスを同時に実行するOracleRACとは異なり、Oracle RAC One Nodeは、1つのインスタンスでのみフェイルオーバーソリューションを提供します。さらに、クラスター内のインフラストラクチャを容易にし、複数のインスタンスを持つOracle RealApplicationClusters設定に簡単に更新できます。
環境
- プライマリデータベースは2ノードのOracleRACを使用しています
- 使用される保護モードは、モード「非同期REDOトランスポート」を使用した「最大パフォーマンス」になります
- 「ファストスタートフェイルオーバー」機能は使用されません。
- DataGuardBrokerの設定
1. db_unique_nameをプライマリデータベースに設定します:
sqlplus> alter system set db_unique_name ='analytics' scope =spfile sid ='*';
2.「Oracleパスワードファイル」をサーバースタンバイにコピーします。
scp orapwanalytics oracle @ hostdr:/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs
3.プライマリサーバーのノード1および2のバンクインスタンスで、listener.oraにエントリを追加します。
ノード1:
(SID_DESC =(GLOBAL_DBNAME =analytics1_dgmgrl)(SID_NAME =analytics1)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
ノード2:
(SID_DESC =(GLOBAL_DBNAME =analytics2_dgmgrl)(SID_NAME =analytics2)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
4.スタンバイサーバーで、listener.oraにエントリを追加します
(SID_DESC =(GLOBAL_DBNAME =analytics_DG_DGMGRL)(SID_NAME =analytics_dg)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
これらの設定後、リスナーにlistener.oraエントリを再度読み取るように強制するには、コマンド「listenerreload」を実行する必要があります。注意!この操作はリスナーの可用性に影響します。
5.プライマリデータベースとスタンバイデータベースのファイルtnsnames.oraにエントリを追加します。
5.1。古いエントリにコメントする
#analytics =#(DESCRIPTION =#(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))#(CONNECT_DATA =#(SERVER =DEDICATED)#(SERVICE_NAME =analytics)#) )
5.2。新しいエントリを追加します:
analytics =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(UR =A)))analytics1 =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(SID =analytics1)(UR =A))) analytics2 =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(SID =analytics2)(UR =A)) )analytics1_DGMGRL =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_DGMGRL)(UR =A)))analytics2_DGMGRL =(説明=(ADDRESS =(PROTOCOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_DGMGRL)(UR =A)))
5.3。 DGのエントリ:
analytics_DG =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_dg)(UR =A)))analytics_DG_DGMGRL =(DESCRIPTION =(ADDRESS =(PROTOCOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_dg_dgmgrl)(UR =A)))
6.ファイルtnsnames.ora
の新しいエントリをテストしますtnsping analyticstnsping analytics1tnsping analytics2tnsping analytics_DGtnsping analytics1_DGMGRLtnsping analytics2_DGMGRLtnsping analytics_DG_DGMGRL
7.プライマリデータベースで「強制ログ」と「アーカイブログモード」を有効にします。注:インスタンスはすでにアーカイブログモードで構成されています。
sqlplus> alter database force logging; sqlplus> select force_logging、log_mode from v $ database; FORCE_LOGGING LOG_MODE --------------------------- ------------------------はいアーカイブログ
8.プライマリデータベースのRedoLogs設定を確認します。使用済みのスクリプトlogfiles.sqlは、oracle-base.comで入手できます。
9.スタンバイログファイルを追加します。
スタンバイREDOログの推奨数を決定するには、次の式[2]を使用します。
(ログファイルグループの最大数+1)*スレッドの最大数
私のプライマリデータベースには2つのスレッドがあり、それぞれに4つのREDOオンライングループがあるため、10のスタンバイREDOログが必要です。
(ログファイルグループの最大数+1)*スレッドの最大数=((4 + 1)* 2 =10)
sqlplus>データベース追加スタンバイログファイルスレッド1グループ41('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド2グループ42('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド1グループ43('+ DG_RECO_DR')サイズ1024M; sqlplus>データベース追加スタンバイログファイルスレッド2グループ44('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド1グループ45('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド2グループ46('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド1グループ47('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド2グループ48('+ DG_RECO_DR')サイズ1024M; sqlplus>データベース追加スタンバイログファイルスレッド2グループ49('+ DG_RECO_DR')サイズ1024M;sqlplus>データベース追加スタンバイログファイルスレッド2グループ50('+ DG_RECO_DR')サイズ1024M;
10.プライマリデータベースで、スタンバイデータベースパラメータファイルのベースとなるpfileを作成します。
spfileからpfile='/tmp/initanalytics_dg_aux.ora'を作成します;
11.スタンバイデータベースで、リモートサーバーの情報を使用してファイルpfileを作成します。このファイルを作成する最も簡単な方法は、プライマリデータベースのパラメータファイル(アイテム10)をスタンバイデータベースにコピーして編集することです。
$ cd $ ORACLE_HOME / dbs $ vi initanalytics_dg_aux.ora#*。audit_file_dest ='/ u01 / app / oracle / admin / analytics /adump'*。audit_file_dest='/u01 / app / oracle / admin / analytics_dg / adump '* .audit_trail ='db'#。cluster_database =true * .cluster_database =false * .compatible ='12 .1.0.2.0'#*。control_files ='+ DG_DATA_DR / analytics / controlfile / current.1257.954609365'、' + DG_RECO_DR /analytics/controlfile/current.527.954609365'*.control_files='+DG_DATA/analytics_dg/controlfile/current1.ctl'、' + DG_RECO / analytics_dg / controlfile /current2.ctl'*。db_block_size=8192#*。db_create_file_dest ='+ DG_DATA_DR'*。db_create_file_dest='+ DG_DATA'#*。db_create_online_log_dest_1 ='+DG_DATA_DR'*。db_create_online_log_dest_1='+ DG_DATA'#*。db_create_online_log_dest_2 ='+DG_RECO_DR'*。db * .db_name='analytics'*。db_files=2000#*。db_recovery_file_dest ='+DG_RECO_DR'*。db_recovery_file_dest='+DG_RECO'*。db_recovery_file_dest_size=100G#*。db_unique_name='analytics'*。db_unique / pre>12.ディレクトリ階層を作成します。
12.1。ファイルとデータベースの監査が作成される「監査ダンプ」用のディレクトリを作成します。
mkdir -p / u01 / app / oracle / admin / analytics_dg / adump12.2。 ASMで、制御ファイルとパラメータファイルのディレクトリを作成します。
mkdir + DG_DATA / analytics_DG / mkdir + DG_DATA / analytics_DG / PARAMETERFILEmkdir + DG_DATA / analytics_DG / CONTROLFILEmkdir + DG_DATA / analytics_DG / BROKERCFGmkdir + DG_RECO / analytics_DGmkdir + DG_RECO / analytics_DG / BROKERCFG13.スタンバイデータベースにspfileとpfileを作成します
$ export ORACLE_SID =analytics_dg $ sqlplus / as sysdba13.1。 pfile initanalytics_dg_aux.oraを使用してスタンバイデータベースを起動し、パラメータファイル(pfile)をspfileに変換します。
sqlplus> startup nomount pfile ='/ u01 / app / oracle / product / 12.1.0.2 / dbhome_1 / dbs / initanalytics_dg_aux.ora'; sqlplus> create spfile ='+ DG_DATA / analytics_DG / PARAMETERFILE / spfileanalytics_dg.ora' from pfile ='/ u01 / app / oracle / product / 12.1.0.2 / dbhome_1 / dbs / initanalytics_dg_aux.ora';13.2。 pfileを作成し、このファイルに次のエントリを挿入します。
echo "spfile ='+ DG_DATA / analytics_DG / PARAMETERFILE / spfileanalytics_dg.ora'">> initanalytics_dg.ora13.3。事後データベース復元へのspfileによるインスタンスの起動。
$ export ORACLE_SID =analytics_dg $ sqlplus sys as sysdbasqlplus> shutdownimmediate; sqlplus> startup nomount;14.データベースの複製を使用して復元を実行します;
接続ターゲットsys/xxxxxx @ analytics1; connectauxiliary sys / xxxxxx @ analytics_dg_dgmgrl;RUN{チャネルpr1デバイスタイプディスクの割り当て;チャネルpr2デバイスタイプディスクの割り当て;補助チャネルstby1タイプディスクの割り当て;補助チャネルstby2タイプディスクの割り当て;DUPLICATEアクティブなデータベースからのスタンバイ用のターゲットデータベース;リリースチャネルpr1;リリースチャネルpr2;リリースチャネルstby1;リリースチャネルstby2;}
次の投稿はこの物語を続けます!
参照
[1] Oracle ActiveDataGuardのベストプラクティス。 https://www.oracle.com/database/technologies/active-data-guard-12c-best-practice.htmlで入手できます。 [2] Oracle Database高可用性のベストプラクティス11gリリース2(11.2)。 https://docs.oracle.com/cd/E24693_01/server.11203/e10803/config_dg.htmで入手できます。 [3]DataGuardBroker。 https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781で入手できます。