オラクル - 単一インスタンスのDG RACを作成し、スイッチからのショットを呼び出します

I.概要

この記事では、単一ノードのDG RACを構築し、どのような役割の逆転にする方法について説明します。( - 単一インスタンスのDGを構築するためにRAC構築シングルインスタンス)以前に知識を持っています

 

第二に、実験環境の紹介

メインライブラリRAC(既にインストールRAC、および既存のデータベースorcl)
のRac1:192.168.56.11、SID1:ORCL1、バージョン:11.2.0.4
RAC2:192.168.56.12、SID2:ORCL2、バージョン:11.2.0.4

ライブラリ(シングル・インスタンスのデータベース・ソフトウェアがインストールされている、いないデータベースインスタンス)から
192.168.56.102、SID:orcldg、バージョン:11.2.0.4 oradgなど

1

 

第三に、ビルドDG

次の主要なライブラリ操作がノード1で行われの**すべて、ノード2で行うために必要であれば、私はマークされます

 

1.メインライブラリアーカイブモードと書き込みログ

最初のビューには、状態データベースアーカイブとアーカイブを開いて、また書き込みログ力が入らない、現在のデータベースを参照することができチャートから、ログを書き込むように強制的になっている
のVからFORCE_LOGGING、SQL>を選択しlog_modeを $データベース;
3

データベースがアーカイブのマウント状態で開かれ
; SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION = +データ' SID = '*'スコープ= SPFILE
SQL> SHUTDOWN IMMEDIATEを、#2のノードが閉じている
SQL>マウントSTARTUP;#オープンのみのノード1。
SQL > ALTERデータベースのARCHIVELOG;
SQL> ALTERオープンデータベース。

ログを書き込むように強制、データベースがオープン状態の変更することができるようになります
SQL> alter databaseを力のログを、

SQL>スタートアップ;#1open完成したときに開いているデータベース内のノード、ノード2

アーカイブされた状態データベースを表示するには、是非、書き込みログを開いて強制するかどうか
log_modeを選択> SQLを、VのからFORCE_LOGGING $データベース;
4

 

2.一次ライブラリーは、スイッチのDataGuard

SQL> ALTER SYSTEMセットLOG_ARCHIVE_CONFIG = 'DG_CONFIG =(ORCL、orcldg)' SID = '*';#のORCLはライブラリDB_UNIQUE_NAMEからDB_UNIQUE_NAMEメインライブラリ、orcldgあります

 

3.メイン図書館は、リモート・アーカイブを設定しました

SQL> ALTER SYSTEMセットLOG_ARCHIVE_DEST_3 = 'サービス= orcldg VALID_FOR =(ONLINE_LOGFILES、PRIMARY_ROLE)DB_UNIQUE_NAME = orcldg' SID = '*';

 

ライブラリにライブラリからマスターパスワードファイルを転送4.

[オラクル@ RAC1〜] $ scpコマンド$ ORACLE_HOME / DBS / orapw $ ORACLE_SID 192.168.56.102:$ORACLE_HOME/dbs/orapworcldg

 

ライブラリの準備パラメータファイル5.

ここで構築されたDGとファイルのパラメータ単一インスタンスの単一のインスタンスに違いはありません、それが特異的に導入されていない
場合[root @ oradgなど〜]#viの $ ORACLE_HOME / dbsに/ initorcldg.ora

* .audit_file_dest = 'は/ u01 / app / oracle /管理/ orcldg / adump' 
* .audit_trail = 'db'と
* .compatible = '11 .2.0.4.0' 
* .control_files = 'は/ u01 / app / oracle / oradataの/ orcldg /制御ファイル/ control01.ctlと' 
* .db_block_size = 8192 
* .db_domain = '' 
* .db_name = 'ORCL' 
* .diagnostic_dest = '/ U01 /アプリ/オラクル' 
* .log_archive_config =' DG_CONFIG =(ORCL、orcldg) ' 
* .log_archive_dest_2 =' LOCATION = / U01 /アプリ/オラクル/ oradataに/ orcldg / archstdlog / VALID_FOR =(STANDBY_LOGFILES、STANDBY_ROLE)DB_UNIQUE_NAME = orcldg」
* .memory_target = 838860800 
* .open_cursors = 300 
* .processes = 150 
* .remote_login_passwordfile = '排他的な' 
* .undo_tablespace = 'UNDOTBS1'
パラメータのSTANDBY_FILE_MANAGEMENT =自動#デフォルト値はそれに応じて修正対応するライブラリーから、(例えば、新しい、名前の変更、等)が変更されたライブラリをマスタデータファイルを示す、自動に変更する必要がある、手動で
DB_UNIQUE_NAME = 'orcldg' 
DB_FILE_NAME_CONVERT = '+ DATA / ORCL /データファイル/'、 '/ U01 /アプリ/オラクル/ oradataに/ orcldg /データファイル/'、 '+ DATA / ORCL /一時ファイル/'、 '/ U01 /アプリ/オラクル/ oradataに/ orcldg /一時ファイル/」
LOG_FILE_NAME_CONVERT = '+ DATA / ORCL / ONLINELOG /'、 '/ U01 /アプリ/オラクル/ oradataに/ orcldg / ONLINELOG /'

 

ライブラリから関連するカタログを準備する6 

[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle /管理/ orcldg / adump
[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg /制御ファイル
[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg / archstdlog
[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg /データ・ファイルの
[オラクル@ oradgなど〜] $ます。mkdir -p / U01 / app / oracleは/ oradataに/ orcldg /一時ファイル
[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg / ONLINELOG

 

ライブラリの例から7.スタート

[オラクル@ oradgなど〜] $輸出ORACLE_SID = orcldg
[オラクル@ oradgなど〜] $ sqlplusを/ SYSDBAのよう
SQL>、PFILEからSPFILEを作成します。
SQL>起動NOMOUNT

 

ライブラリーから8.設定やリスナーを開始

重複データの方法の使用が主なライブラリをコピーするので、コンフィギュレーション・レジスタから静的ライブラリを形成する必要があります

[オラクル@ oradgなど〜] $ viの$ ORACLE_HOME / network / adminに/のlistener.ora

SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (GLOBAL_DBNAME = orcldg)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcldg) )
     
LISTENER = 
  (DESCRIPTION = 
    (ADDRESS =(PROTOCOL = TCP )(HOST = 192.168.56.102)(PORT = 1521)) 


 

[オラクル@ oradgなど〜] $ LSNRCTL開始

 

9.メインライブラリ構成・ネーミング・サービス 

#2つのノードを設定する必要があります
[オラクル@ RAC1〜] $ viの $ ORACLE_HOME / network / adminに/ tnsnames.oraの

orcldg = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcldg) )
    

 
[オラクル@ RAC2〜] $ viの $ ORACLE_HOME / network / adminに/ tnsnames.oraファイル
、RAC1とコンテンツの一貫わずか 

 

ネットワーク接続を使用して、ライブラリーから10のメインライブラリ(接続性テスト)

ここに私のメインのライブラリは、ライブラリからのメインライブラリと一致し、123456である#SYSパスワード
[オラクル@ RAC1〜] $ sqlplusとのsys / 123456 @ orcldg SYSDBAとして

 

11.メイン図書館開始RMANでライブラリからコピーします

RMANライブラリーからの接続とマスターライブラリ
[オラクル@ RAC1〜] $ Recovery Managerは 、ターゲット/補助SYS / 123456 @ orcldg

RMAN>のアクティブ・データベースからスタンバイのための複製ターゲット・データベース。

 

ライブラリーからの12追加standbylog

ONLINELOG追加ログのサイズは、メインのライブラリと一致して、数個以上の(ビュー情報をメインライブラリONLINELOGは、V $をログ)
グループ番号が繰り返されていないと、現在のONLINELOGへ

[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg / standbylog /
       
SQL> ALTERデータベースの追加スタンバイログファイルグループ21 '/u01/app/oracle/oradata/orcldg/standbylog/std01.log'サイズ50M;
SQL> alter databaseを追加スタンバイログファイルグループ22 '/u01/app/oracle/oradata/orcldg/standbylog/std02.log'サイズ50M;
SQL> alter databaseを追加スタンバイログファイルグループ23 '/u01/app/oracle/oradata/orcldg/standbylog/std03.log'サイズ50M;
SQL> alter databaseを追加スタンバイログファイルグループ24 '/u01/app/oracle/oradata/orcldg/standbylog/std04.log'サイズ50M;
SQL> alter databaseを追加スタンバイログファイルグループ25 '/u01/app/oracle/oradata/orcldg/standbylog/std05.log'サイズ50M;
SQL> alter databaseを追加スタンバイログファイルグループ26 '

 

13.オープンライブラリーからのアプリケーションログ

SQL> alter databaseコマンドは、セッションから管理対象スタンバイ・データベースの切断を回復します。

 

マスターアーカイブライブラリを切り替える14. A

SQL> ALTER SYSTEMスイッチのログファイル。

 

ライブラリから15.オープン

ライブラリアーカイブアプリケーションからの期間の後、あなたはライブラリから、開いているアプリケーションのアーカイブログを閉じます。
SQL>データベースSTANDBYキャンセルALTER管理データベースを回復し、
SQL>開くのALTER DATABASE;
SQL> ALTERデータベースは、セッションから使用してデータベース管理スタンバイ電流のログファイルの切断を回復。

 

16.同期を確認します

メイクの主なライブラリが変更
SQL>更新SCOTT.EMP SET SAL = 2000;
SQL>をコミット。

データベースクエリから
SQL>を選択* SCOTT.EMPから。

この時点で、ギブRACはそれの単一のインスタンスは、単一のインスタンスで、行われた構築DG差なしの単一のインスタンスを構築DG。その後、我々は切り替える方法を説明します。

 

スイッチングマスターから調製した第四に、

17.プライマリ・データベースのアーカイブ・パスのスタンバイ・ログファイルを追加します。

使用グリッドアカウント、アーカイブパスを作成することは
$ ASMCMD [Rac1の〜@グリッド]
ASMCMD> lsdg#は、ディスク・グループ名を表示
ASMCMD> CDデータ
ASMCMD> CD ORCL
ASMCMD>ます。mkdir ARCHSTDLOG

パラメータデータベース変更に使用SYSアカウントデータベース、
SQL>をALTERシステムセットLOG_ARCHIVE_DEST_2 = ' LOCATION = + DATA / ORCL / ARCHSTDLOG / VALID_FOR =(STANDBY_LOGFILES、STANDBY_ROLE)DB_UNIQUE_NAME = ORCL' SID = '*'。

 

18.メインライブラリは、スタンバイログファイルを追加します

ONLINELOGは、プライマリ・データベースのログのサイズを追加一貫性がある、(メイン情報レポジトリビュー$ログV ONLINELOG)複数のグループの数は
サイズ50Mを追加データベース21ログファイルSQL> ALTER STANDBYがスレッドグループである1(「+データ」);
SQL> ALTERデータベースの追加STANDBYログファイルスレッド1グループ22は、( '+データ')サイズ50Mである;。
。SQL> ALTERデータベースの追加STANDBYログファイルスレッド1グループ23( '+データ')でサイズ50M;
SQL> ALTERデータベースの追加STANDBYログファイルスレッド2グループ24( '+データ')サイズ50M;
SQL> ALTER STANDBYデータベースの追加25スレッドグループ2( '+データ')サイズ50Mログファイル、
データベースの追加26ログファイルSQL> ALTER STANDBYは、スレッドグループ2( '+データ')サイズ50Mです。

 

19.メインライブラリの変更パラメータファイル

SQL> ALTER SYSTEMセットSTANDBY_FILE_MANAGEMENT =自動SID = '*';
SQL> ALTER SYSTEMセットDB_FILE_NAME_CONVERT = '/ U01 /アプリ/オラクル/ oradataに/ orcldg /データファイル/'、 '+ DATA / ORCL /データファイル/'、 '/ U01 /アプリ/オラクル/ oradataに/ orcldg /一時ファイル/'、」 + DATA / ORCL /一時ファイル/」SID = '*'スコープ= SPFILE。
SQL> ALTER SYSTEMセットLOG_FILE_NAME_CONVERT = '/ U01 /アプリ/オラクル/ oradataに/ orcldg / ONLINELOG /'、 '+ DATA / ORCL / ONLINELOG /' SID = '*'スコープ= SPFILE。

ここでは、主なライブラリは、準備作業が完了したライブラリ装置に変換しました!

 

構成リポジトリTNSNAMES.ORAから20

ここでの目的は、configure tnsnams.oraにあるライブラリーメインライブラリーからの移行は、ライブラリーは、DGライブラリアプリケーションのみをアーカイブするためので、ここでは、ライブラリに原点をTNSNAMES、そして、起源のライブラリにライブラリからアーカイブログを送信するために元の所有者のニーズになったとき一つのノードにすることができ、唯一のノード1 toorclを指します。

[オラクル@ oradgなど〜] $ viの$ ORACLE_HOME / network / adminに/ tnsnames.oraの

toorcl = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.56.11)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL) )
    

 

アーカイブライブラリパスから21. ONLINELOGに配置されました

[オラクル@ oradgなど〜] $ます。mkdir -pは/ u01 / app / oracle / oradataに/ orcldg /アーカイブ・ログ

SQL> ALTER SYSTEMセットLOG_ARCHIVE_DEST_1 = 'LOCATION = / U01 /アプリ/オラクル/ oradataに/ orcldg /アーカイブ・ログ/ VALID_FOR =(ONLINE_LOGFILES、PRIMARY_ROLE)DB_UNIQUE_NAME = orcldg'。

 

リモートアーカイブライブラリから22パラメータを設定

SQL> ALTER SYSTEMセットLOG_ARCHIVE_DEST_3 = 'サービス= toorcl VALID_FOR =(ONLINE_LOGFILES、PRIMARY_ROLE)DB_UNIQUE_NAME = ORCL'。

ここで、完了した準備作業のライブラリーからの主なライブラリを回します!

 

第四に、マスター・スレーブの切り替え

2

 

23.役割の逆転メインライブラリーの状態を確認してください

SQL> DATABASE_ROLEを選択し、五$データベースからSWITCHOVER_STATUS。
5 
  

24.マスターノードから転送された1

集群在做角色转换时,只能有一个实例是打开状态,其余都要关闭,所以将节点2的实例关闭。
SQL> shutdown immediate;  # 只在节点2上做

在节点1上执行以下命令,将主库转为从库,并且关闭实例
SQL> alter database commit to switchover to physical standby with session shutdown; 

 

25. 在节点3上从转主

SQL> select database_role,switchover_status from v$database;
6

如果是"NOT ALLOWED"表示归档还没有应用完成,可以等待一段时间

如果日志全部应用了再查看角色转换状态
SQL> select database_role,switchover_status from v$database;
7

如果角色转换状态是TO PRIMARY,那么表示可以进行角色转换

执行从转主的命令,命令执行成功后,数据库的状态会变为mount
SQL> alter database commit to switchover to primary;
SQL> alter database open;

 

26. 打开新从库

在节点1和节点2上
SQL> startup

节点1上应用归档
SQL> alter database recover managed standby database using current logfile disconnect from session;

3ノード切替アーカイブ
SQL> ALTERシステムスイッチログファイルを、

 

27.同期を確認します

一次ライブラリーは、変更ありません
。SQL> SET SALを=アップデート3000 SCOTT.EMP
SQL>コミットを。

データベースクエリから
SQL>を選択* SCOTT.EMPから。

 

28.エラー処理

あなたはログがスタンバイ・データベースに到達していないことが判明した場合は、次のコマンドでメインライブラリでエラー原因を表示することができます

SQL> DEST_ID、DEST_NAME、log_sequence、ステータス、ARCHIVE_DEST V $からエラーを選択します。
8

エラー上記のメッセージは、スイッチを再起動した場合にアーカイブすることができます
。SQL> SET ALTERシステムlog_archive_dest_state_3 = '延期' SID = '*';
SQL> SET ALTERシステムlog_archive_dest_state_3 = SIDを= '*' '有効';

 

V.の概要

1. DGハンドオーバ要求は、すべてのアプリケーションを停止し、アンロックスイッチの完了後、すべてのすべてのデータベース、全体ロックアカウントに接続された殺すために
、他のすべての閉鎖ライブのみ残して、実施例2のスイッチングラセミ
3。各コマンドの実行、返された結果に注意を払う、とリアルタイムビューALERT.LOG

おすすめ

転載: www.cnblogs.com/ddzj01/p/12044310.html