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 1 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)
數據已同步。