truncate table tcustmer;Table truncated. 在目的端,查看表數(shù)據(jù) SQL> select coun" />
GoldenGate 實(shí)現(xiàn)Oracle for Oracle 單向DDL操作同步
在 文章中我們實(shí)現(xiàn)了表的DML操作同步。
我們做如下測(cè)試
在源端執(zhí)行表的truncate
SQL> truncate table tcustmer;
Table truncated.
在目的端,查看表數(shù)據(jù)
SQL> select count(*) from tcustmer;
COUNT(*)
----------
2
數(shù)據(jù)并沒有同步
我們?nèi)绾巫孏oldengate實(shí)現(xiàn)DDL操作的同步呢?
要想支持DDL同步,需要在源數(shù)據(jù)庫上做些設(shè)置,使得可以跟蹤DDL操作。包括如下內(nèi)容Trigger、marker和history table,一個(gè)用戶角色和其他各式各樣的數(shù)據(jù)庫對(duì)象。
首先要配置GLOBALS參數(shù),告訴gg使用那個(gè)schema來存儲(chǔ)DDL操作。
GGSCI (localhost.localdomain) 19> edit params ./GLOBALS
-- GoldenGate GLOBALS parameter file
--
GGSCHEMA GGDDL
2. 使用sqlplus 創(chuàng)建ggddl用戶,,并安裝ddl支持
SQL> conn / as sysdba
Connected.
SQL> create user ggddl identified by ggddl ;
User created.
SQL> grant connect,resource to ggddl;
Grant succeeded.
關(guān)閉數(shù)據(jù)回收站功能
SQL> ALTER SYSTEM SET RECYCLEBIN = OFF scope=spfile;
System altered.
SQL> startup force
Oracle instance started.
Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 574621728 bytes
Database Buffers 255852544 bytes
Redo Buffers 2412544 bytes
Database mounted.
Database opened.
運(yùn)行marker_setup.sql (ogg的安裝目錄,進(jìn)入sqlplus)
[oracle@localhost ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Sep 11 19:58:40 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @marker_setup.sql
Marker setup script
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:GGDDL
Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGDDL
MARKER TABLE
-------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK
Script complete.
在彈出對(duì)話框輸入GGSCHEMA的名稱
運(yùn)行ddl_setup.sql
SQL> @ddl_setup.sql
運(yùn)行role_setup.sql
SQL> @role_setup.sql
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggddl
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO
where
創(chuàng)建好角色后,并不是要把這個(gè)角色賦予ggddl用戶,而是要將該角色賦予Extract,Replicat等使用的schema 。
我們之前配置的是system用戶
SQL> GRANT GGS_GGSUSER_ROLE TO system;
Grant succeeded.
啟用ddl,其實(shí)就是使trigger enable
SQL> @ddl_enable.sql
Trigger altered.
關(guān)閉Manager,Extract,Replicat
源端
GGSCI (localhost.localdomain) 1> stop Extract eorakk
GGSCI (localhost.localdomain) 5> stop mgr !
目的端
GGSCI (localhost.localdomain) 1> stop replicat rorakk
Sending STOP request to REPLICAT RORAKK ...
Request processed.
GGSCI (localhost.localdomain) 2> stop manager
編輯Extract參數(shù)
GGSCI (localhost.localdomain) 5> edit params eorakk
--
-- Change Capture parameter file to capture
-- TCUSTMER and TCUSTORD Changes
--
EXTRACT EORAKK
USERID system, PASSWORD oracle
RMTHOST 192.168.199.104, MGRPORT 7809
EXTTRAIL ./dirdat/KK
DDL INCLUDE ALL
TABLE SCOTT.TCUSTMER;
TABLE SCOTT.TCUSTORD;
在原有基礎(chǔ)上添加一行DDL INCLUDE ALL
編輯Replicat參數(shù)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com