Oracleデータベースに基づく(STREAMSストリームコピー)ホット・スタンバイ構成マニュアル

-------------------------------------------------- -----------------------------
masterデータベース:
  オペレーティングシステム:Windows 2012
  IPアドレス:192.168.160.122
  データベース:Oracleの11.2.0.2。 0
  ORACLE_SID:ORCL
  GLOBAL_NAME:ORCL

  データベースから:
  オペレーティングシステム:Windows 2012
  IPアドレス:192.168.160.123
  データベース:Oracleは11.2.0.2.0
  ORACLE_SIDを:ORCL
  GLOBAL_NAME:ORCL

両方=システム設定DEFERRED_SEGMENT_CREATION = falseの範囲を変更します。
両方= SEC_CASE_SENSITIVE_LOGON =偽範囲設定システムを変更します。
PROFILEのDEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITEDを改変すること。

主数据库配置
アーカイブログリスト。
五$データベースからsupplemental_log_data_minを選択します。
シャットダウン即時;
STARTUP MOUNT;
データベースのアーカイブログを変更します。
データベースは、サプリメンタル・ログ・データを追加変更します。
アーカイブログのリスト;
五$データベースからsupplemental_log_data_minを選択します。
開いているデータベースを変更します。

设置参数
両方= = 2スコープシステムセットAQ_TM_PROCESSESを変更します。
  システム設定GLOBAL_NAMESを変える=真の範囲=両方;
  システム設定JOB_QUEUE_PROCESSESを変える= 10スコープ=両方;
  システム設定PARALLEL_MAX_SERVERSを変える= 20スコープ=両方;
  システム設定UNDO_RETENTION = 3600スコープを変更=両方;
  システム設定NLS_DATE_FORMAT = ':MI:YYYY-MM-DD HH24 SS'変えるスコープ= SPFILEと、
  システム設定STREAMS_POOL_SIZE = 100Mスコープ= SPFILEを変更します。
  =「*」スコープ= SPFILE UTL_FILE_DIR設定システムを改変すること。
  システム設定OPEN_LINKSを変える= 4スコープ= SPFILE。
システム設定STATISTICS_LEVELを変える=「典型的な」範囲=両方;
=「*」スコープ= SPFILE UTL_FILE_DIR設定システムを改変すること。
システム設定「_job_queue_interval」= 1つのスコープ= SPFILEを変更します。
システム設定GLOBAL_NAMES = FALSEスコープ=両方を変化させます。

シャットダウン即時;
起動;

hyteraアカウントのロック解除で識別されるユーザーhyteraを作成します。
助成金は、hyteraに接続します。
hyteraにリソースを与えます。
hyteraにDBAを付与します。

= 1つのスコープ= SPFILEのシステムセットLOGMNR_MAX_PERSISTENT_SESSIONS --alter。

表領域streams_tbsデータファイルを作成する 'D:\アプリの\管理者\ oradataに\ ORCL \ streams_tbs.dbf' 無制限のMAXSIZEのサイズ100Mの自動拡張。

デフォルトの表領域streams_tbsがstreams_tbs上無制限のクォータのロックを解除するアカウントstrmadminが識別されるユーザーstrmadminを作成します。
STRMADMINするDBAを与えます。
助成金は、STRMADMINに接続します。
幹部DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE( '者strmadmin');

開始
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
付与者=> 'strmadminと'
にgrant_privileges => TRUE);
終わり;
/

TNSNAMES.ORA
SZXTDB =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.160.123)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL) )

CONN者strmadmin / strmadminで。
データベース・リンクSZXTDBを作成する「SZXTDB」を使用してstrmadminが識別STRMADMINに接続します。

マスターストリームキューの作成
マスター・データベースにログインする#者strmadminアイデンティティを。
strmadminで接続/者strmadmin;
始める
DBMS_STREAMS_ADM.SET_UP_QUEUE(
QUEUE_TABLE => 'source_queue_table'、 -キューテーブル
queue_nameの=> 'source_queue'、 -キュー
queue_user => '者strmadmin'); - ユーザのキュー
END;
/
SELECT所有者、QUEUE_TABLE 、所有者=「DBA_QUEUESから名前 STRMADMIN」。

 

データ取得プロセスを作成して、やり直し変更を取得

strmadminで/ strmadminと接続します。
開始
dbms_streams_adm.add_schema_rules(
SCHEMA_NAME => 'hyteraを'、 -捕获用户名非SYSの或者システム
streams_typeパラメータ=> '取り込み'、
たstreams_name => 'capture_stream'、
queue_nameの=> 'strmadmin.source_queue'、
include_dml =>真、
include_ddl =>真、
include_tagged_lcr => falseを、
をsource_database => 'ORCL'、
inclusion_rule => TRUE);
終わり;
/

capture_nameは、queue_nameの、のstart_scn、ステータス、DBA_CAPTUREからcapture_typeを選択します。


ソース・データベース内のデータポンプデータ転送内部OGGに対応する通信処理を作成する
通信処理テーブル/スキーマ/グローバルのを作成するために必要とされる捕捉ルールに対応する通信処理を。
strmadminで接続/者strmadmin;
始める
dbms_streams_adm.add_schema_propagation_rules(
SCHEMA_NAME => 'Hytera'、
たstreams_name => 'source_to_target'、
source_queue_name => 'strmadmin.SOURCE_QUEUE'
のdestination_queue_name => 'strmadmin.TARGET_QUEUE@szxtdb'、
include_dml =>真へ
include_ddl => trueに、
をsource_database => 'ORCL'、
inclusion_rule => trueに
queue_to_queue => trueに);
END;
/

propagation_name、ALL_PROPAGATIONからステータスを選択します。

SCNの方法は、直接インスタンス化
ソースのクエリSCN番号
デュアルからの選択DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBERを();

取得プロセスがEXT1内部OGGに対応する開始
BEGIN
DBMS_CAPTURE_ADM.START_CAPTURE(
capture_nameは=> 'capture_streamを');
END;
/

取得プロセスを停止
BEGIN
DBMS_CAPTURE_ADM.STOP_CAPTURE(
capture_nameは=> 'capture_streamを');
END;
/

ビューの取得プロセスの状態
を選択しcapture_nameは、DBA_CAPTUREからのステータス。

表示实时传播LCR实时复制
開始
DBMS_AQADM.ALTER_PROPAGATION_SCHEDULE(
queue_nameの=> 'strmadmin.SOURCE_QUEUE'、
宛先=> 'szxtdb'、
destination_queue => 'TARGET_QUEUE'、
レイテンシ=> 0)。
終わり;
/
------------------------------------------------- -------------------------------------------------- ----------------------
备数据库配置
アーカイブログリスト。
五$データベースからsupplemental_log_data_minを選択します。
シャットダウン即時;
STARTUP MOUNT;
データベースのアーカイブログを変更します。
データベースは、サプリメンタル・ログ・データを追加変更します。
アーカイブログのリスト;
五$データベースからsupplemental_log_data_minを選択します。
開いているデータベースを変更します。

设置参数
両方= = 2スコープシステムセットAQ_TM_PROCESSESを変更します。
  システム設定GLOBAL_NAMESを変える=真の範囲=両方;
  システム設定JOB_QUEUE_PROCESSESを変える= 10スコープ=両方;
  システム設定PARALLEL_MAX_SERVERSを変える= 20スコープ=両方;
  システム設定UNDO_RETENTION = 3600スコープを変更=両方;
  システム設定NLS_DATE_FORMAT = ':MI:YYYY-MM-DD HH24 SS'変えるスコープ= SPFILEと、
  システム設定STREAMS_POOL_SIZE = 100Mスコープ= SPFILEを変更します。
  =「*」スコープ= SPFILE UTL_FILE_DIR設定システムを改変すること。
  システム設定OPEN_LINKSを変える= 4スコープ= SPFILE。
システム設定STATISTICS_LEVELを変える=「典型的な」範囲=両方;
=「*」スコープ= SPFILE UTL_FILE_DIR設定システムを改変すること。
システム設定「_job_queue_interval」= 1つのスコープ= SPFILEを変更します。
システム設定GLOBAL_NAMES = FALSEスコープ=両方を変化させます。

シャットダウン即時;
起動;

= 1つのスコープ= SPFILEのシステムセットLOGMNR_MAX_PERSISTENT_SESSIONS --alter。

hyteraアカウントのロック解除で識別されるユーザーhyteraを作成します。
助成金は、hyteraに接続します。
hyteraにリソースを与えます。
hyteraにDBAを付与します。

表領域streams_tbsデータファイルを作成する 'D:\アプリの\管理者\ oradataに\ ORCL \ streams_tbs.dbf' 無制限のMAXSIZEのサイズ100Mの自動拡張。

デフォルトの表領域streams_tbsがstreams_tbs上無制限のクォータのロックを解除するアカウントstrmadminが識別されるユーザーstrmadminを作成します。
STRMADMINするDBAを与えます。
助成金は、STRMADMINに接続します。
幹部DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE( '者strmadmin');

開始
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
付与者=> 'strmadminと'
にgrant_privileges => TRUE);
終わり;
/


TNSNAMES.ORA
SZXTDB =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.160.122)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL) )

CONN者strmadmin / strmadminで。
データベース・リンクSZXTDBを作成する「SZXTDB」を使用してstrmadminが識別STRMADMINに接続します。

ライブラリストリームキューによって作成された
マスター・データベースにログインするために#者strmadminアイデンティティ。
strmadminで接続/者strmadmin;
始める
DBMS_STREAMS_ADM.SET_UP_QUEUE(
QUEUE_TABLE => 'target_queue_table'、 -キューテーブル
queue_nameの=> 'target_queue'、 -キュー
queue_user => '者strmadmin'); - ユーザのキュー
END;
/
SELECT所有者、QUEUE_TABLE 、所有者=「DBA_QUEUESから名前 STRMADMIN」。


REP1プロセスOGGに対応する宛先側データベースにキューを作成するために、アプリケーション・プロセスを適用する
接続者strmadmin / strmadminと;
開始
dbms_streams_adm.add_schema_rulesを(
SCHEMA_NAME =>「Hytera」、 -ユーザ名または非SYSシステム捕捉
streams_typeパラメータを=>「適用」、
たstreams_name => 'target_apply_stream'、
queue_nameの=> 'strmadmin.TARGET_QUEUE'、
include_dml => trueに、
include_ddl => trueに、
include_tagged_lcr => falseに、
をsource_database => 'ORCL'、
inclusion_rule => trueに);
END;
/

APPLY_NAME、queue_nameの、DBA_APPLYからステータスを選択します。

同じソースSCN番号を備えた
ソース確認
デュアルから)(SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER;
コネチカット者strmadmin /者strmadmin;
BEGIN
DBMS_APPLY_ADM.SET_SCHEMA_INSTANTIATION_SCN(
source_schema_name => 'Hytera'、
source_database_nameの=> 'ORCL'、
instantiation_scn => 1097715)を;
END;
/

先のアプリケーション・プロセスが開始に対応適用REP1の内部OGGを開始
BEGIN
DBMS_APPLY_ADM.START_APPLY(
APPLY_NAME => 'target_apply_stream');
END;
/

停止適用
BEGIN
DBMS_APPLY_ADM.STOP_APPLY(
APPLY_NAME => 'target_apply_streamを');
終わり;
/

プロセスの状態を確認し適用
DBA_APPLYからSELECT APPLY_NAME、queue_nameの、ステータス;
------------------------------------- -------------------------

ビューの取得プロセスの状態
を選択しcapture_nameは、DBA_CAPTUREからのステータス。

ビューは、プロセスの状態適用
を選択APPLY_NAME、queue_nameの、DBA_APPLYからステータスを 。

ソース・データベース上のデータポンプのデータ転送内部OGGする通信処理と同等の作成
選択propagation_name、ALL_PROPAGATIONからステータスと、


capture_nameは、DBA_CAPTUREからステータスを選択します。
APPLY_NAME、queue_nameの、DBA_APPLYからステータスを選択します。
capture_nameは、DBA_CAPTUREからステータスを選択します。
DBA_APPLY_ERRORからERROR_MESSAGEを選択します。

ソースフェッチプロセスとアプリケーションプロセスSCN番号一貫したストリームの複製は、のredoログのSCNの数に基づいているかどうかを
選択capture_nameは、queue_nameの、ステータス、captured_scn DBA_CAPTUREからAPPLIED_SCN、。

アプリケーション・プロセスのエラーかどうかを確認してください
選択APPLY_NAME、エラー番号、apply_capturedのステータス DBA_APPLYから。

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


取得プロセスがEXT1内部OGGに対応する開始
BEGIN
DBMS_CAPTURE_ADM.START_CAPTURE(
capture_nameは=> 'capture_streamを');
END;
/

取得プロセスを停止
BEGIN
DBMS_CAPTURE_ADM.STOP_CAPTURE(
capture_nameは=> 'capture_streamを');
END;
/


先のアプリケーション・プロセスが開始に対応適用REP1の内部OGGを開始
BEGIN
DBMS_APPLY_ADM.START_APPLY(
APPLY_NAME => 'target_apply_stream');
END;
/

停止適用
BEGIN
DBMS_APPLY_ADM.STOP_APPLY(
APPLY_NAME => 'target_apply_streamを');
終わり;
/


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


MAXSIZE無制限のサイズ100Mの自動拡張;:表領域hyteraデータファイル'\アプリの\管理者\ oradataに\ ORCL \ hytera.dbf D'を作成
ユーザーhyteraデフォルトの表領域hyteraを改変すること。


-------------------------------------------------- ------------------------------
双方向レプリケーションの流れを設定

ソースの実装
問題ORA-26687を解決します

DBA_CAPTURE_PREPARED_TABLES SELECT * FROM。

BEGIN
DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'hytera.t'、
source_database_nameの=> 'ORCL'を、
instantiation_scn => 1094239)。
終わり;
/

DBA_APPLY_ERRORからERROR_MESSAGEを選択します。 - エラーメッセージのコピーをストリーミング

PURGE RECYCLEBIN;


解决ORA-00942问题
BEGIN
(DBMS_APPLY_ADM.SET_PARAMETER
APPLY_NAME => 'target_apply_stream'
パラメータ=> 'DISABLE_ON_ERRORを'
=> 'N'値)。
終わり;
/
------------------------------------------------- -------------------------------

ユーザーhyteraカスケードをドロップします。
hyteraアカウントのロック解除デフォルトの表領域のhyteraで識別されるユーザーhyteraを作成します。
助成金は、hyteraに接続します。
hyteraにリソースを与えます。
hyteraにDBAを付与します。

おすすめ

転載: www.cnblogs.com/dbalightyear/p/11241872.html