91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Goldengate 實現Oracle for Oracle 單向DDL操作同步

發布時間:2020-07-28 10:56:03 來源:網絡 閱讀:1640 作者:lqding1980 欄目:關系型數據庫

在http://lqding.blog.51cto.com/9123978/1695162 文章中我們實現了表的DML操作同步。

我們做如下測試

在源端執行表的truncate

SQL> truncate table tcustmer;
Table truncated.

在目的端,查看表數據

SQL> select count(*) from tcustmer;

  COUNT(*)
----------
	 2

數據并沒有同步

我們如何讓Goldengate實現DDL操作的同步呢?

Goldengate 實現Oracle for Oracle 單向DDL操作同步


要想支持DDL同步,需要在源數據庫上做些設置,使得可以跟蹤DDL操作。包括如下內容Trigger、marker和history table,一個用戶角色和其他各式各樣的數據庫對象。


  1. 首先要配置GLOBALS參數,告訴gg使用那個schema來存儲DDL操作。

GGSCI (localhost.localdomain) 19> edit params ./GLOBALS


-- GoldenGate GLOBALS parameter file
--
GGSCHEMA GGDDL


2. 使用sqlplus 創建ggddl用戶,并安裝ddl支持

SQL> conn / as sysdba
Connected.
SQL> create user ggddl identified by ggddl ;

User created.

SQL> grant connect,resource to ggddl;

Grant succeeded.


關閉數據回收站功能

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.

運行marker_setup.sql (ogg的安裝目錄,進入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.

在彈出對話框輸入GGSCHEMA的名稱


運行ddl_setup.sql

SQL> @ddl_setup.sql


運行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 <loggedUser>

where <loggedUser> is the user assigned to the GoldenGate processes.

創建好角色后,并不是要把這個角色賦予ggddl用戶,而是要將該角色賦予Extract,Replicat等使用的schema 。

我們之前配置的是system用戶

SQL> GRANT GGS_GGSUSER_ROLE TO system;

Grant succeeded.


啟用ddl,其實就是使trigger enable

SQL> @ddl_enable.sql

Trigger altered.


關閉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參數

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;

在原有基礎上添加一行DDL INCLUDE ALL


編輯Replicat參數

GGSCI (localhost.localdomain) 4>  edit params rorakk


--
-- Change Delivery parameter file to apply
-- TCUSTMER and TCUSTORD Changes
--
REPLICAT RORAKK
USERID system, PASSWORD oracle
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORAKK.DSC, PURGE
DDL INCLUDE MAPPED
MAP scott.tcustmer, TARGET scott.tcustmer;
MAP scott.tcustord, TARGET scott.tcustord;

在原有基礎上添加一行DDL INCLUDE MAPPED


啟動Manager、Extract、Replicat

源端

GGSCI (localhost.localdomain) 6> start manager

Manager started.


GGSCI (localhost.localdomain) 7> start extract eorakk

Sending START request to MANAGER ...
EXTRACT EORAKK starting


目的端

GGSCI (localhost.localdomain) 5> start mgr

Manager started.

GGSCI (localhost.localdomain) 16> start replicat rorakk

Sending START request to MANAGER ...
REPLICAT RORAKK starting


驗證數據

源端

SQL> truncate table tcustmer;

Table truncated.
SQL> desc tcustmer 
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 CUST_CODE				   NOT NULL VARCHAR2(4)
 NAME						    VARCHAR2(30)
 CITY						    VARCHAR2(20)
 STATE						    CHAR(2)

SQL> alter table tcustmer add state_desc varchar2(30);

Table altered.

目的端

SQL> select * from tcustmer;

no rows selected

SQL> desc tcustmer
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 CUST_CODE				   NOT NULL VARCHAR2(4)
 NAME						    VARCHAR2(30)
 CITY						    VARCHAR2(20)
 STATE						    CHAR(2)
 STATE_DESC					    VARCHAR2(30)


數據已同步。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳新县| 南靖县| 伽师县| 高要市| 治多县| 牟定县| 淮阳县| 赣榆县| 措美县| 分宜县| 五家渠市| 兴仁县| 泰州市| 台中市| 汾阳市| 水富县| 汽车| 河间市| 宣武区| 凌海市| 宁波市| 巴彦淖尔市| 舞钢市| 盐边县| 贵港市| 胶州市| 鹤壁市| 巴林右旗| 仙游县| 张家港市| 东辽县| 璧山县| 阳新县| 壶关县| 汉源县| 井冈山市| 正镶白旗| 西乡县| 偃师市| 裕民县| 商河县|