OGG单向复制(支持DDL)
来源:互联网 发布:单片机延时时间计算 编辑:程序博客网 时间:2024/05/22 11:36
OGG单向复制(支持DDL)
1.配置环境变量(源端、目标端)
---源端
exportORACLE_SID=test01
exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK
exportORACLE_HOME=/oracle/app/oracle/product/11.2.4/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
--目标端
exportORACLE_SID=test02
exportNLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
exportORACLE_HOME=/oracle/app/oracle/product/11.2.4/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
注意:标红部分是跟ogg的环境变量有关
2.开启归档和附加日志(源端,目标端)
2.1开启归档
---源端
sql>alter system set log_archive_dest='location=/oracle/arch' scope=spfile;
sql>shutdown immediate;
sql>startup mount;
sql>alter database archivelog;
sql>alter database open;
sql>archive log list;
---目标端
(同源端)
2.2开启附加日志
---源端
SQL>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
NO
SQL>alter database add supplemental log data;
Databasealtered.
SQL>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
YES
对于10G以上版本还需要关闭回收站功能(需重启生效)
sql>altersystem set recyclebin =off scope=spfile;
SQL>select NAME,VALUE from v$parameter wherename like '%recyclebin%';
NAME VALUE
--------------------------------------------------------------------------------
recyclebin on
---目标端
(同源端)
3.数据库建用户(源端,目标端)
---源端
---首先创建数据库用户
create user GOLDENGATE
identified by GOLDENGATE
default tablespace USERS
temporary tablespace TEMP
profile DEFAULT
account unlock;
alter user GOLDENGATE quota UNLIMITED onUSERS ;
grant SELECT ANY TABLE to GOLDENGATE;
grant FLASHBACK ANY TABLE to GOLDENGATE;
grant SELECT ANY DICTIONARY to GOLDENGATE;
grant UPDATE ANY TABLE to GOLDENGATE;
grant DELETE ANY TABLE to GOLDENGATE;
grant INSERT ANY TABLE to GOLDENGATE;
grant UNLIMITED TABLESPACE to GOLDENGATE;
grant ALTER SESSION to GOLDENGATE;
grant ALTER ANY TABLE to GOLDENGATE;
grant CREATE SESSION to GOLDENGATE;
grant EXECUTE on SYS.DBMS_FLASHBACK toGOLDENGATE ;
grant RESOURCE to GOLDENGATE ;
grant CONNECT to GOLDENGATE ;
GRANTCREATE TABLE,CREATE SEQUENCE TO goldengate;
alter user GOLDENGATE default role all;
GGSCI (test01) 1> dblogin userid goldengate@test01,passwordgoldengate
Successfully logged into database.
GGSCI (test01) 2> exit
---目标端
(同源端)
4.配置ddl支持
--源端
SQL> grantexecute on utl_file to goldengate;
SQL> @marker_setup.sql
SQL> @ddl_setup.sql
SQL> @role_setup.sql
SQL> GRANT GGS_GGSUSER_ROLE TO goldengate;
SQL> @?/rdbms/admin/dbmspool
SQL> @ddl_pin goldengate;
注意:
1.@ddl_setup.sql
这一步可能报错,跟goldengate用户的权限有关,然后重新授权会报ORA-04098系统错误,需要执行
@ddl_disable.sql后再授权.
SYS@testdb>GRANT CREATE TABLE,CREATE SEQUENCE TO goldengate;
GRANTCREATE TABLE,CREATE SEQUENCE TO goldengate
ERRORat line 1:
ORA-04098:trigger 'SYS.GGS_DDL_TRIGGER_BEFORE' is invalid and failed re-validation
SYS@testdb>@ddl_disable.sql
Triggeraltered.
SYS@testdb> GRANT CREATE TABLE,CREATE SEQUENCE TOgoldengate;
Grantsucceeded.
2.性能提升工具
--为了提供OGG的DDL复制的性能,可以将ddl_pin脚本加入到数据库启动的脚本后面,该脚本需要带一个OGG的DDL用户(即安装DDL对象的用户,本例中是goldengate)的参数,脚本如果不能正常执行,需要事先创建DBMS_SHARED_POOL包(可以通过执行$ORACLE_HOME/rdbms/admin/dbmspoll.sql创建)。
--执行以下操作创建性能提升工具
SQL> @ddl_pin goldengate
--如果因为业务问题,开启DDL以后,对性能的影响比较大的话,需要临时禁用DDL触发器的话,可以运行以下语句:
SQL> @ddl_disable.sql
PL/SQL procedure successfullycompleted.
5.配置源端
5.1配置全局变量
./ggsci
GGSCI(test01) 1> create subdirs ---创建软件相关子目录
GGSCI (test01)2> EDIT PARAMS ./GLOBALS
CHECKPOINTTABLEgoldengate.gg_checkpoint_tab
ggschemagoldengate
syslog none
5.2创建检查点表
GGSCI (test01)3> dblogin userid goldengate , password goldengate
ADDCHECKPOINTTABLE goldengate.gg_checkpoint_tab
5.3配置mgr
edit param mgr,输入如下信息:
port7809
DYNAMICPORTLIST7809-7909
AUTOSTARTer *
AUTORESTARTEXTRACT *,RETRIES 20,WAITMINUTES 30 , RESETMINUTES 1440
PURGEOLDEXTRACTS./dirdat/*/*,USECHECKPOINTS, MINKEEPDAYS 16
LAGREPORTHOURS1
LAGINFOMINUTES30
LAGCRITICALMINUTES45
GGSCI (test01) 1>start mgr
5.4源端配置抽取进程
GGSCI(test01) 1> edit param ETEST01
extractETEST01
setenv(NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
setenv(ORACLE_HOME = /oracle/app/oracle/product/11.2.4/db_1)
setenv(ORACLE_SID = test01)
useridgoldengate, password goldengate
REPORTAT 01:59
REPORTROLLOVERat 02:00
GETTRUNCATES
EXTTRAIL./dirdat/exp
NUMFILES2000
DYNAMICRESOLUTION
DDLINCLUDE MAPPED
DDLOPTIONSADDTRANDATA RETRYOP RETRYDELAY 10 MAXRETRIES 10
DDLOPTIONSREPORT
------lizhen-----
TABLEDEMO.CALL_RULE_INFO;
GGSCI> ADD EXTRACT ETEST01 , TRANLOG, BEGIN NOW, threads 1 ---RAC 注意
GGSCI> ADD EXTTRAIL ./dirdat/exp, EXTRACT ETEST01 , MEGABYTES 200
5.5源端配置对应的Data Pump进程
GGSCI(test01) 1> edit param PTEST01
extractPTEST01
setenv(NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
setenv(ORACLE_HOME = /oracle/app/oracle/product/11.2.4/db_1)
setenv(ORACLE_SID = testdb)
useridgoldengate, password goldengate
PASSTHRU
REPORTAT 01:59
REPORTROLLOVERat 02:00
RMTHOST10.18.4.41, MGRPORT 7809, COMPRESS
RMTTRAIL./dirdat/rep
DYNAMICRESOLUTION
NUMFILES2000
gettruncates
------lizhen-------
TABLEDEMO.CALL_RULE_INFO;
GGSCI> ADD EXTRACT PTEST01, EXTTRAILSOURCE ./dirdat/exp
GGSCI> ADD RMTTRAIL ./dirdat/rep, EXTRACT PTEST01, MEGABYTES 200
6. 配置目标端
6.1配置全局变量
同源端
6.2创建检查点表
同源端
6.3配置mgr
同源端
6.4配置目标端复制进程
GGSCI (test01) 23> view param RTEST01
replicat RTEST01
setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
userid goldengate, password goldengate
REPORTCOUNT EVERY 30 MINUTES,RATE
REPORT AT 01:59
REPORTROLLOVER at 02:00
DISCARDROLLOVER on friday
HANDLECOLLISIONS
REPERROR DEFAULT,ABEND
DISCARDFILE ./DIRRPT/RTEST01.DSC,APPEND,MEGABYTES 1000
ASSUMETARGETDEFS
CHECKSEQUENCEVALUE
ALLOWNOOPUPDATES
DYNAMICRESOLUTION
NUMFILES 2000
DDL INCLUDE MAPPED
DDLOPTIONS REPORT
GROUPTRANSOPS 500
MAXTRANSOPS 500
------lizhen--------
MAP DEMO.CALL_RULE_INFO,TARGETTEST.CALL_RULE_INFO;
ggsci >add replicat RTEST01 ,exttrail./dirdat/rep
7. 启动源端和目标端的ogg进程
---源端
GGSCI(test01) 50> start ETEST01
GGSCI(test01) 51> start PTEST01
GGSCI(test01) 53> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING ETEST01 00:00:00 00:00:01
EXTRACT RUNNING PTEST01 00:00:00 00:00:03
---目标端
GGSCI(test02) 24> start RTEST01
GGSCI(test02) 24> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RTEST01 00:00:00 00:00:05
- OGG单向复制(支持DDL)
- OGG单向复制(支持DDL复制)
- ogg单向DDL复制
- 【OGG】OGG的单向复制配置-支持DDL(二)
- (三)OGG单向DDL复制操作
- ogg双向复制,支持DML、DDL
- GoldenGate单向复制配置(支持DDL复制)
- OGG实战 单向复制
- OGG单向复制搭建
- CENTOS6.5一步一步安装OGG实现DML DDL SEQUENCE序列单向复制及服务器故障恢复
- OGG oracle DDL双向复制
- 【Oracle】OGG单向复制配置
- ogg 双向复制和ddl复制
- OGG数据仓库以及单向复制(一)
- OGG数据仓库以及单向复制(二)
- 【OGG】OGG的单向DML复制配置(一)
- goldengate 学习系列1–10gasm to 11gR2 asm 单向复制(DDL支持)
- oracle---oracle的单向ogg搭建流程(DML+DDL)
- 以太坊下载地址及相关文档
- Android获取Mac地址-兼容6.0及以上系统
- Tensorflow实战学习(二十八)【实现简单卷积网络】
- 生活中有效的学习Java
- autoMonkey框架原理与应用(四):autoMonkey框架
- OGG单向复制(支持DDL)
- mysql分组,然后组内排序,最后取每组前2条数据
- 一键启动Android Studio 自带模拟器(命令行bat文件)
- iPhone is busy: Preparing debugger support for iPhone
- vimrc常用配置参数
- js 日期处理工具类
- 欢迎使用CSDN-markdown编辑器
- 在Salesforce中实现4级联动
- 【linux】error: stdio.h: No such file or directory