1つの非常に詳細なoggDDLシングルコピー構成レコード
- OSレベルの構成リスト
- データベースレベルの構成リスト
- ソフトレベル構成リスト
- 1.1一方向のソース-ターゲットの原則の概要
- 1.1.1 OGGの一般的なシステムとプロセス
- 1.1.2 Progress1:Eini_1(ソース)-Rini_1(ターゲット)
- 1.1.3 Progress2:Eora_1(ソース)
- 1.1.4 Progress3:Pora_1(ソース)
- 1.1.5 Progress4:Rora_1(ターゲット)
- 1.1.6 Progress5:Mgr(ソースとターゲット)
- 1.1.7証跡ファイル
- 1.1.8一目でわかるフローチャート
- 1.2単方向ソース-ターゲットに基づく実際の操作
- 1.2.1データベース構成
- 1.データベース補足ログを追加する
- 2.データベースの強制ロギングを追加する
- 3.データベースのアーカイブログを開きます。
- 4.データベースに排他的oggユーザーとそのテーブルスペースを作成する
- 5. oggユーザーに関連する権限を割り当てます
- 6.パラメータを調整します
- 7. OGG -DDLサポートを実行する
- 8.データベースの内部ユーザーとテーブルのステータスを確認します
- 1.2.2 OGGソフトウェアレベルでの設定
- 1指定されたテーブルのトランデータを追加します
- 2. Mgrを構成し、いくつかのディレクトリを作成します
- 3.ソースで初期抽出プロセスを構成します(可)
- 4.ターゲットで初期の複製プロセスを構成する(可选)
- 5.ソースでの初期ロードの開始(オプション)
- 6.ソースシステムでの構成抽出プロセス
- 7.GoldenGateローカルトレイルの定義
- 8抽出の開始Eora_1
- 9.ソースシステムでポンププロセスを構成する
- 10.ソースシステムにGoldenGateリモートトレイルを追加する
- 11.ターゲットシステムでの複製プロセスの構成
- 12.ターゲットシステムにGLOBALSパラメータを作成する
- 13.ソースシステムでbase-on_scnのexpdpを構成する
- 14.ターゲットシステムでbase-on_scnのimpdpを構成する
- 15. targgetシステムでProcressの複製を開始します。
OSレベルの構成リスト
GGソフトウェアは、異種プラットフォームソフトウェア間のデータディザスタリカバリをサポートしているため、OSレベルでは、それぞれのプラットフォームと同じバージョンのGGソフトウェアとの互換性が最も懸念されます。GGソフトウェアの異種ディザスタリカバリの主なデータ転送は、ネットワークに依存しますTCP / IPプロトコルは、ホスト間のスムーズなネットワーク通信を保証する必要があります。
OSレベルの準備チェックリスト
構成プロセス(ソースおよびターゲット)
1.1 IPアドレス、ホスト名の変更、ホスト情報の追加
|
vi / etc / sysconfig / network |
---|
vi / etc / sysconfig / network-script / ifcfg-eth0 |
source端与target端按照上表信息填写修改。
vi / etc / hosts |
---|
サービスネットワークの再起動 |
ping << hostaname |
hosts不仅要写自己的hosts与ip对应,还要写目标主机的
1.2関連するユーザー、ユーザーグループ、ユーザーグループ、およびディレクトリ割り当てを作成する
chown –R oracle:oinstall /u01 ROOT将目录权限给予oracle和oinstall组
1.3 Oracleユーザーの環境変数〜/ .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=prod
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
NLS_LANG="simplified chinese"_china.AL32UTF8
export NLS_LANG
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib '
ORACLE_SID項目は、SOURCE / TARGETを区別するために、異なるホスト上の異なるインスタンス名を指す必要があることに注意してください。
データベースレベルの構成リスト
基本情報
DBCAデータベース
export DISPLAY=<客户端地址>:0.0
インストールする前に、操作するoracleユーザー、環境変数情報が正しいことを再度確認してください
ソフトレベル構成リスト
1.1一方向のソース-ターゲットの原則の概要
1.1.1 OGGの一般的なシステムとプロセス
ほとんどのソースプロセスとターゲットプロセスはペアで表示され、各プロセスには、すべての抽出、転送、複製プロセスを均一に管理するための一般的なプロセスマネージャがあります。
ターゲット側:1.ソース抽出プロセスの要求に従って、使用可能なポートをスキャンして、mgrメインプロセスから要求された抽出プロセスにバインドします。2。ソース抽出を受信して証跡を抽出し、ターゲット証跡ファイルに書き込みます。次に、複製します。プロセスはデータを読み取り、ターゲットデータベースに適用します。(データキャプチャと同期するか、後で実行できます)バックグラウンドプロセス、直接インタラクティブではありません
トレイルファイルは、ソース抽出によってキャプチャされたデータ変更を保存するために使用されます。add exttrail ./dirdatを使用してeora_1を抽出
し、オントロジートレイルファイルを追加して、ポンププロセスを介してtcp経由でターゲットに送信できます。証跡ファイルのキューは、レプリケートプロセスによって再利用されます。
extract-local trail-pump rmttrail-tcp-collector-local trail-replicat
1.1.2 Progress1:Eini_1(ソース)– Rini_1(ターゲット)
-
ロードプロセスを初期化します。これは、2つのテーブルを初期化および同期するために使用されます。テーブル構造とテーブルデータを検証するために、2つのテーブルに違いがない場合、それらは同期していない可能性があります。
-
別のホストへのgg災害復旧を必要とする大きなテーブルの場合、データポンプを使用してインポートとエクスポートを行うのが最適です。初期ロードが高速になります。
-
同期されたテーブルとテーブルの間に主キー制約を設定することをお勧めします。データは、テーブルROWIDを識別子として配置されず、効率に影響します。
1.1.3 Progress2:Eora_1(ソース)
-
ソースデータ抽出プロセス。メインの抽出プロセスは、ソーステーブルデータのdml変更を抽出するために使用されます。
-
抽出された変更ベクトルはローカルキューファイルに格納され、送信を待機します。$ OGG_HOME / dirdatキューフォルダー、extrail ./dirdat/aaを追加する必要があります。eora_1を抽出してローカルトレイルファイルを作成します
-
ビジネス要件に応じて、ソースとターゲットの両方で実行でき、システムデータの変更を抽出してキャプチャします。
-
ビジネスニーズに基づいてddlの変更をキャプチャすることもできるため、追加の構成が必要です。
-
初期化プロセスは、ビジネス要件を抽出する形式でもあります。
1.1.4 Progress3:Pora_1(ソース)
- ソース側のデータポンププロセス。2番目の抽出プロセスはデータポンプとも呼ばれ、TCP / IPネットワークを介してターゲットにデータを送信します。これの利点は、抽出されたデータを保護し、ネットワークまたはターゲットトレイルの問題を防止できることです。特定のルールを設定して、特定の条件下でGGが自動的にTrailpumpプロセスをクリアできるようにすることもできます。これにより、ソースとターゲットによってキャプチャされたデータの可用性が向上します。
- Data Pumpを使用しない場合、抽出プロセスは抽出された操作データをターゲット証跡に送信する必要があります。
- データポンプが構成されている場合、抽出プロセスはキャプチャされたデータを抽出して証跡に書き込みます。データポンプは証跡を読み取り、ネットワークを介して目的の証跡に証跡を送信します。追加rmttrail ./dirdat/paを構成し、pora_1リモートトレイルファイルを抽出する必要があります
1.1.5 Progress4:Rora_1(ターゲット)
- ターゲット側の多重化プロセス、mgrの構成後、自動的に開始し、ローカルキューファイルを取得$ OGG_HOME / dirdat /、
ソーステーブルデータの変更を適用
add REPLICAT RORA_1, EXTTRAIL ./dirdat/pa
- Replicatプロセスはターゲットで実行され、テールファイルを読み取り、DMLとDDLを再構築してターゲットデータベースに適用します。
1.1.6 Progress5:Mgr(ソースとターゲット)
- 災害復旧プロセス中、ソース側とターゲット側の両方でマネージャープロセスが実行され、起動、検出、再起動、ストレージスペースの割り当て、および他のプロセスへのエラーのレポートが実行されます。
1.1.7証跡ファイル
- 証跡ファイルは、抽出されたキャプチャされた変更データ情報を保存します。証跡は、GoldenGateの構成に従って、ソースシステムディスク、ターゲットシステムディスク、システム内部メディア、または関連システムに存在する場合があります。
- トレイルファイルストレージを使用してキャプチャされたデータを抽出することは、抽出または複製プロセスに依存しません。たとえば、データを処理するためのより多くのオプションと、いつターゲットの最後に到達するかを選択できます。たとえば、抽出の構成と保存を同時に行ってから、データをに送信できます。ターゲット側。
1.1.8一目でわかるフローチャート
1.2単方向ソース-ターゲットに基づく実際の操作
1.2.1データベース構成
1.データベース補足ログを追加する
alter database add supplemental log data;
2.データベースの強制ロギングを追加する
alter database force logging;
3.データベースのアーカイブログを開きます。
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>shutdown immediate;
SQL>startup;
SQL>archive log list;
4.データベースに排他的oggユーザーとそのテーブルスペースを作成する
create tablespace tbs_gguser datafile '+DATA' size 50M autoextend on;
create user ogg identified by Ogg default tablespace tbs_gguser temporary tablespace TEMP quota unlimited on tbs_gguser;
5. oggユーザーに関連する権限を割り当てます
上図のようにoggユーザー権限を付与することもできますが、実際の作業では、実際の権限がプロセス抽出に失敗するという問題があるかもしれませんし、事前にDBA権限を付与し、後で撤回する形態も考えられます。
6.パラメータを調整します
alter system set set enable_goldengate_replication=true;
Goldenateコピーのサポートを有効にする
alter system set recycle_bin=off
Oracle 10gプラットフォームでDDLレプリケーション機能を使用する場合は、Oracle自体のごみ箱をオフにする必要があります。
7. OGG -DDLサポートを実行する
$ cd /ogg
$ ./ggsci
SQL> @marker_setup
SQL> @ddl_setup
SQL> @ddl_setup
SQL> @role_setup
SQL> GRANT GGS_GGSUSER_ROLE TO ogg;
Grant succeeded.
SQL> @ddl_enable
Trigger altered.
SQL> @marker_status.sql
Please enter the name of a schema for the GoldenGate database objects:
ogg
Setting schema name to OGG
MARKER TABLE
-------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK
SQL> @?/rdbms/admin/dbmspool.sql
Package created.
Grant succeeded.
SQL> @ddl_pin.sql
Enter value for 1: ogg
PL/SQL procedure successfully completed.
Enter value for 1: ogg
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
8.データベースの内部ユーザーとテーブルのステータスを確認します
SQL> select username,account_status from dba_users where account_status='OPEN' and username not in ('OGG','SYS','SYSTEM');
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT OPEN
SQL> select owner,table_name,LOGGING from dba_tables where LOGGING = 'NO'and owner in('SCOTT');
no rows selected
データベース内の有効なアカウントとテーブルのLOGGINGステータスを確認します
1.2.2 OGGソフトウェアレベルでの設定
1指定されたテーブルのトランデータを追加します
> DBLOGIN USERID ogg@prod, PASSWORD Ogg 在gg里登录数据库
> add trandata scott.* 为表添加trandata
> info trandata scott.* 查看验证。
2. Mgrを構成し、いくつかのディレクトリを作成します
> EDIT PARAMS MGR
port 7809
DYNAMICPORTLIST 7810-7860
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
AUTORESTART EXTRACT *,RETRIES 15,WAITMINUTES 3,RESETMINUTES 180
AUTOSTART EXTRACT *
目标端同上
> start mgr
> info mgr
> create subdirs
3.ソースで初期抽出プロセスを構成します(可)
> ADD EXTRACT EINI_1, SOURCEISTABLE
> EDIT PARAMS EINI_1
EXTRACT EINI_1:说明这是EXTRACT进程,名字是EINI_1
SETENV:环境变量
USERID:数据库OGG用户
PASSWORD:数据库用户OGG的密码
RMTHOST:目标端地址,如果在/etc/hosts文件里已经设置解析,可以写主机名
MGRPORT:目标端MGR管理进程监听的端口
RMTTASK REPLICAT:目标端REPLICAT应用进程的组和名字
TABLE:源端要初始化数据的表的名字
编辑好捕获进程EINI_1后,还需要在目标端配置REPLICAT应用进程,名字要和源端的捕获进程EINI_1里面RMTTASK REPLICAT参数配置的一样,也就是还需要在目标端配置RMTTASK REPLICAT RINI_1。
4.ターゲットで初期の複製プロセスを構成する(可选)
> ADD REPLICAT RINI_1, SPECIALRUN
> EDIT PARAMS RINI_1
REPLICAT RINI_1:说明这是REPLICAT应用进程,名字叫RINI_1
SETENV:语言变量,同捕获进程EINI_1
ASSUMETARGETDEFS:告诉OGG目标端和源端需要同步的表的结构完全一致,不需要OGG去检查表的结构,包括表名、字段名、字段类型、字段长度等,如果目标端和源端同步的表的结构不一样,需要使用SOURCEDEFS参数,详见OGG官方文档。
USERID、PASSWORD:同捕获进程EINI_1参数介绍
DISCARDFILE:错误信息存放位置及命名规则
MAP:源端捕获的表的名字
TARGET:目标端同步的表的名字,可以不在同一SCHEMA。
5.ソースでの初期ロードの開始(オプション)
>start extract eini_1 只用在源端启动,其对应rini_1进程在目标自动启动。
>info eini_1
>view report eini_1
初期化プロセスは1回だけ実行されます。実行後、両端のテーブルが同期され、プロセスグループが自動的に停止します。初期化プロセス中にプロセスがハングし、異常終了が発生した場合は、ビューリポットまたはビュー$ OGG_HOME / ggser.logを介してプロセス情報を表示できます。
通常、初期ロード(ステップ3、4、5)では、ソース側を使用してSCNに従ってエクスポートし、次にターゲットをインポートして、最後に
>start <replicate_name> aftercsn <xxxxxxxxxx>
高速データ同期を完了するには
6.ソースシステムでの構成抽出プロセス
> EDIT PARAMS EORA_1
Extract EORA_1
setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid ogg@prod,password Ogg
tranlogoptions asmuser sys@ASM1,asmpassword <xxxx>
如果出现忘记ASM密码,可以在Oracle 11G平台上使用 TranlogOptions DBLOGREADER 代替
threadoptions maxcommitpropagationdelay 60000
warnlongtrans 2h,checkinterval 3m
dynamicresolution
gettruncates
reportcount every 1 minutes,rate
discardfile ./dirrpt/extsmz.dsc,append,megabytes 1024
exttrail ./dirdat/sz
ddl include mapped
ddloptions addtrandata, report
table scott.*;
> ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW
如果是集群模式需要依据节点数添加Thread <n> 关键词来指定抽取
7.GoldenGateローカルトレイルの定義
>add exttrail ./dirdat/sz, extract EORA_1, megabytes 200
添加本地trail文件配置,添加提取、捕获数据的存放位置及文件 到这个进程单个文件大小200M
8抽出の開始Eora_1
>start eoar_1
>info eora_1
$ll $OGG_HOME/dirdat/
查看dirdat目录下已捕获的TRAIL文件是否以sz开头
9.ソースシステムでポンププロセスを構成する
>add extract Pora_1 ,exttrailsource ./dirdat/sz
添加PUMP进程PORA_1到OGG,并指定本地的TRAIL文件。
>edit param Pora_1
extract Pora_1
passthru PASSTHRU是说data pump不对数据进行转换
rmthost 192.167.3.99, mgrport 7809,compress
numfiles 5000
dynamicresolution
rmttrail ./dirdat/sz 复制到目标该地址,以备目标库复制进程应用
table scott.*;
10.ソースシステムにGoldenGateリモートトレイルを追加する
>add rmttrail ./dirdat/sz,extract Pora_1
> START EXTRACT PORA_1
$ ll dirdat/ 目标端验证ogg安装目录下dirdat是否出现指定的trail文件
11.ターゲットシステムでの複製プロセスの構成
> ADD REPLICAT RORA_1, EXTTRAIL ./dirdat/sz
添加复制进程 及文件,文件来源于源端 pump进程
> EDIT PARAM RORA_1
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg, PASSWORD Ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA_aa.DSC, PURGE
MAP scott.emp, TARGET scott.emp;
MAP scott.dept, TARGET scott.dept;
12.ターゲットシステムにGLOBALSパラメータを作成する
> EDIT PARAMS ./GLOBALS
CHECKPOINTTABLE ogg.ggschkpt
>exit
> ll GLOBALS
> DBLOGIN USERID ogg, PASSWORD Ogg
>> ADD CHECKPOINTTABLE
添加检查点 为了断点续传,配置成功后,在目标端ogg用户下也有对应检查点表产生
13.ソースシステムでbase-on_scnのexpdpを構成する
SQL> col current_scn for 9999999999999999999999999999999999
SQL> select current_scn from v$database;
CURRENT_SCN
-----------------------------------
41423196
SYS EXP_DIR
/backup/expdp_ogg/
nohup expdp "'/ as sysdba'" directory=EXP_DIR dumpfile=expdpscott2019101211_%U.dmp logfile=expdpscott2019101211.log schemas=scott content=all flashback_scn=42256141 parallel=2 cluster=N&
14.ターゲットシステムでbase-on_scnのimpdpを構成する
nohup impdp "'/ as sysdba'" directory=EXP_DIR dumpfile=expdpscott2019101211_%U.dmp logfile=impdpscott2019101211.log parallel=2 cluster=N &
15. targgetシステムでProcressの複製を開始します。
$ cd /ogg
$ ./ggsci
>start Rora_1,aftercsn 42256141
最後に、一般的な構成シーケンス図