oracle goldgate 支付宝测试配置脚本(内部资料)
更新时间:2023-12-08 15:39:01 阅读量: 教育文库 文档下载
- oracle数据库推荐度:
- 相关推荐
附录
附录A: 系统准备
防火墙端口
开通源端←→目标端之间的防火墙,策略为打开目标端网络的7809到7810、7840到7850之间的端口。在两台主机中分别安装Oracle数据库,并导入核心数据用于压力测试。
源数据库准备
1. 创建GoldenGate数据库用户goldengate
CREATE USER goldengate IDENTIFIED BY goldengate default tablespace users; GRANT dba TO goldengate;
2. 检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式
archive log list;
3. 检查源端数据库附加日志是否打开
select supplemental_log_data_min from v$database; 将数据库附加日志打开
alter database add supplemental log data; 切换日志以使附加日志生效:
ALTER SYSTEM ARCHIVE LOG CURRENT;
4. 如果数据库是9i版本的话检查
show parameter log_parallelism
在9i此参数必须是1,通过如下命令设置: alter system set log_parallelistm=1 scope=spfile; 重新启动数据库,使参数生效。
5. 为需要复制的数据表添加TRANDATA即增加表级Supplemental Log
Shell>ggsci
GGSCI>DBLOGIN USERID goldengate, PASSWORD goldengate GGSCI>ADD TRANDATA
对于字段数目大于32的表格,需要在SQLPLUS命令中执行如下命令: ALTER TABLE DWTEST.TEST_TRADE_1 ADD SUPPLEMENTAL
LOG
GROUP
TEST_TRADE_1_1(ID,OUT_TRADE_NO,TRADE_NO,SELLER_ACCOUNT,SELLER_LOGIN_EMAIL,SELLER_USER_ID,BUYER_ACCOUNT,BUYER_LOGIN_EMAIL,BUYER_USER_ID,SELLER_TYPE,BUYER_TYPE,TRADE_FROM,TRADE_EMAIL,OPERATOR_ROLE,TRADE_STATUS,ADDITIONAL_TRD_STATUS,TRADE_TYPE,TOTAL_FEE,SERVICE_FEE_RATIO,SERVICE_FEE) always; ALTER
TABLE
DWTEST.TEST_TRADE_1
ADD
SUPPLEMENTAL
LOG
GROUP
TEST_TRADE_1_2(CURRENCY,SELLER_ACTION,BUYER_ACTION,GMT_CREATE,SELLER_FULLNAME,BUYER_FULLNAME,SELLER_NICK,BUYER_NICK,GOODS_TITLE,GMT_LAST_MODIFIED_DT,GATHERING_TYPE,STOP_TIMEOUT,BUYER_MARKER,SELLER_MARKER,BUYER_MARKER_MEMO,SELLER_MARKER_MEMO,CHANNEL,PRODUCT,PAY_CHANNEL) always;
目标数据库准备
创建GoldenGate数据库用户goldengate
CREATE USER goldengate IDENTIFIED BY goldengate default tablespace users; GRANT dba TO goldengate;
源与目标GoldenGate的安装准备
1. 在指定位置建立GoldenGate安装目录,并确认该目录属组为oracle:dba
2. 通过ftp上传GoldenGate软件包到安装目录,并解压缩
gzip –d *.gz tar xvf *.tar
3. 在安装目录下执行./ggsci命令进入命令行界面, 创建GoldenGate子目录
create subdirs
4. 在GGSCI命令行界面下编辑全局参数文件GLOBALS
edit param ./GLOBALS
输入下列内容,其中goldengate为复制而建立的数据库用户:
GGSCHEMA goldengate
5. 编辑mgr进程参数
edit param mgr
port 7809
DYNAMICPORTLIST 7840-7850
autorestart er *, retries 5, waitminutes 1
purgeoldextracts /tmp/goldengate/ggs/dirdat/*,usecheckpoints, minkeepdays 7
6. 启动Mgr进程
start mgr Mgr is running!
7. 目标端需要继续安装 Goldengate File Adapter for Greenplum,通过ftp上传File Adapter软件包到安装目录,并解压缩
gzip –d *.gz tar xvf *.tar
附录B:场景1配置命令
1. 源端添加EXTRACT进程extu1:
a) add extract extu1, tranlog, begin now b) edit param extu1
extract extu1
setenv (ORACLE_SID=%userid goldengate, password goldengate exttrail /opt/oracle/oradata/dirdat/u1 discardfile ./dirrpt/extu1.dsc,append numfiles 3000
EOFDELAYCSECS 10 dynamicresolution table scott.*;
table dwtest.*;
c) add exttrail /tmp/goldengate/ggs/dirdat/, extract extu1, megabytes 100
2. 源端添加Data Pump进程dmpu1:
a) add extract dmpu1, exttrailsource ./dirdat/u1 b) edit param dmpu1
extract dmpu1 passthru
RMTHOST 172.17.126.24, MGRPORT 7809, compress RMTTRAIL ./dirdat/u1 EOFDELAYCSECS 10 dynamicresolution numfiles 3000 table scott.*; table dwtest.*;
c) add rmttrail ./dirdat/u1, extract dmpu1, megabytes 100
3. 目标端添加应用进程repu1:
a) add rep repu1, ./dirdat/u1 nodbcheckpoint b) edit param repu1
replicat repu1
userid goldengate, password goldengate
sqlexec \batchsql
--handlecollisions
reperror default,abend
discardfile ./dirrpt/repu1.dsc,append,megabytes 100m EOFDELAYCSECS 10 assumetargetdefs allownoopupdates dynamicresolution numfiles 3000
MAP scott.* ,TARGET scott.*;
map scott.tb8 , target scott.tb8, colmap (h=a,i=b,j=c,k=d,l=e); map dwtest.* , target scott.*;
附录C:场景2配置命令
1. 源端添加EXTRACT进程extf1:
a) add extract extf1, tranlog, begin now, threads 1 b) edit param extf1
extract extf1
setenv (ORACLE_SID=\
userid goldengate@primarydb, password goldengate exttrail ./dirdat/f1
discardfile ./dirrpt/extf1.dsc, append
numfiles 3000 eofdelaycsecs 10 dynamicresolution
TRANLOGOPTIONS ALTARCHIVELOGDEST /opt/oracle/oradata/arch/goldengate TRANLOGOPTIONS ARCHIVEDLOGONLY TABLE DWTEST.TEST_TRADE_1; TABLE DWTEST.TEST_TRADE_2; TABLE DWTEST.TEST_TRADE_3; TABLE DWTEST.TEST_TRADE_4;
c) add exttrail ./dirdat/f1, extract extf1, megabytes 100
2. 源端添加Data Pump进程dmpf1:
a) add extract dmpf1, exttrailsource ./dirdat/f1 b) edit param dmpf1
extract dmpf1
passthru
RMTHOST 172.17.126.24, MGRPORT 7809 RMTTRAIL ./dirdat/f1
TABLE DWTEST.TEST_TRADE_1; TABLE DWTEST.TEST_TRADE_2; TABLE DWTEST.TEST_TRADE_3; TABLE DWTEST.TEST_TRADE_4;
c) add rmttrail ./dirdat/f1, extract dmpf1, megabytes 100
3. 目标端添加应用进程ffw:
a) add extract ffw, exttrailsource ./dirdat/f1 b) edit param ffw
extract ffw
SETENV (GG_USEREXIT_PROPFILE = \SOURCEDEFS ./dirdef/f1.def
CUSEREXIT ./flatfilewriter.so CUSEREXIT EXTTRAIL /data1/software/goldengate/dirdat/v1 GETUPDATEBEFORES
TABLE DWTEST.TEST_TRADE_1; TABLE DWTEST.TEST_TRADE_2; TABLE DWTEST.TEST_TRADE_3; TABLE DWTEST.TEST_TRADE_4;
c) add exttrail ./dirdat/vf1, extract ffw
最后配置Goldengate安装目录下的ffwriter.properties属性文件,控制输出数据文件的格式。具体参数见附录E。
备注:生成表定义文件命令(导出到文本文件需要执行,如果目标为数据库但表结构不同也需要执行)
在ggsci命令下输入如下命令“ GGSCI>Edit param defgen
DEFSFILE ./dirdat/f1.def
USERID dwtest@primarydb, PASSWORD dwtest TABLE DWTEST.*; TABLE SCOTT.*;
在shell命令行下执行defgen命令生成表定义文件f1.def Shell> defgen paramfile ./dirprm/defgen.prm
把生成的f1.def文件(在dirdef目录下)ftp到目标服务器Goldengate安装目录下的dirdef子目录即可。
附录D:场景3配置命令
4. 源端添加EXTRACT进程ext01:
a) add extract ext01, tranlog, begin 2009-12-09 10:30:00, threads 1
b) edit param ext01
extract ext01 userid goldengate@primarydb, password goldengate exttrail ./dirdat/e1 discardfile ./dirrpt/exte1.dsc, append numfiles 3000 eofdelaycsecs 10 dynamicresolution TRANLOGOPTIONS ALTARCHIVELOGDEST /opt/oracle/oradata/arch/goldengate TRANLOGOPTIONS ARCHIVEDLOGONLY TABLE DWTEST.TEST_TRADE_5; TABLE DWTEST.TEST_TRADE_6; TABLE DWTEST.TEST_TRADE_7; TABLE DWTEST.TEST_TRADE_8;
c) add exttrail ./dirdat/e1, extract ext01, megabytes 100
5. 源端添加Data Pump进程dmpe1:
a) add extract dmpe1, exttrailsource ./dirdat/e1 b) edit param dmpe1
REPLICAT rep01
USERID scott, PASSWORD SCOTT
sqlexec \batchsql
reperror default,abend HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/rep01.DSC, PURGE EOFDELAYCSECS 10 allownoopupdates
dynamicresolution
numfiles 3000
MAP DWTEST.TEST_TRADE_5, TARGET SCOTT.TEST_TRADE_5, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_6, TARGET SCOTT.TEST_TRADE_6, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_7, TARGET SCOTT.TEST_TRADE_7, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_8, TARGET SCOTT.TEST_TRADE_8, KEYCOLS(TRADE_NO);
c) add rmttrail ./dirdat/e1, extract dmpe1, megabytes 100
6. 目标端添加应用进程rep01:
a) add replicat rep01, exttrail ./dirdat/e1 b) edit param rep01
REPLICAT rep01 USERID scott, PASSWORD SCOTT HANDLECOLLISIONS ASSUMETARGETDEFS DISCARDFILE ./dirrpt/rep01.DSC, PURGE MAP DWTEST.TEST_TRADE_5, TARGET SCOTT.TEST_TRADE_5, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_6, TARGET SCOTT.TEST_TRADE_6, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_7, TARGET SCOTT.TEST_TRADE_7, KEYCOLS(TRADE_NO); MAP DWTEST.TEST_TRADE_8, TARGET SCOTT.TEST_TRADE_8, KEYCOLS(TRADE_NO);
附录E:数据文件控制属性说明
GoldenGate File Adapter for Greenplum提供了两个文件,用来生成数据文件。其中ffwriter.properties中有多个文件格式控制属性,通过设置这些属性,即可以控制生成文件的格式。 主要属性如下:
dsvwriter.includecolnames=false
是否在字段值前放置字段名称,缺省为false
dsvwriter.files.onepertable=true
每个表格各生成一个文件,还是所有数据放入一个文件,缺省为true
dsvwriter.files.data.rootdir=./dirout
数据文件输出目录
dsvwriter.files.data.ext=_data.dsv
已就绪的数据文件扩展名
dsvwriter.files.data.tmpext=_data.dsv.temp
处理中的数据文件
dsvwriter.files.data.rollover.time=1800
数据文件由“处理中”切换为“就绪”的最大时间(秒)
dsvwriter.files.data.rollover.size=104857600
数据文件由“处理中”切换为“就绪”的最大文件尺寸(KB)
dsvwriter.files.data.norecords.timeout=1800
当无记录写入时,最多等待时间(秒)即切换数据文件为“就绪”,缺省120秒
dsvwriter.files.rolloveronshutdown=true
当本属性为true时,如果Extract进程停止,则所有空白“处理中”文件被删除,所有有数据的“处理中”文件切换为“就绪”文件。当本属性为false时,如果Extract进程停止,则所有空白“处理中”文件被删除,所有有数据的“处理中”文件状态不变。
dsvwriter.dsv.fielddelim.chars=|
数据文件中的字段分隔符
dsvwriter.dsv.linedelim.chars=\\n
数据文件中的行终结符号
dsvwriter.dsv.quotes.chars=\
数据文件中的引号符号
dsvwriter.dsv.quotes.escaped.chars=\
数据文件中的escape符号
dsvwriter.metacols=opcode,timestamp
数据文件中每行数据之前的元数据:
Opcode - I,U与D代表Insert, Update和Delete Timestamp - 记录的提交时间戳
dsvwriter.metacols.opcode.insert.chars=I
数据文件中代表Insert操作的字符
dsvwriter.metacols.opcode.update.chars=U
数据文件中代表Update操作的字符
dsvwriter.metacols.opcode.delete.chars=D
数据文件中代表Delete操作的字符
dsvwriter.files.formatstring=pump_%s_%t_%d_n
数据文件名字格式: %s - schema %t - table
%d - timestamp n - 5位序号
附录F:测试SQL脚本样例
创建测试表格Test_Trade_1到Test_Trade_8,表结构均相同:
CREATE TABLE TEST_TRADE_1
( ID NUMBER(11,0) NOT NULL ENABLE, OUT_TRADE_NO VARCHAR2(64),
TRADE_NO VARCHAR2(64) NOT NULL ENABLE,
SELLER_ACCOUNT VARCHAR2(100) NOT NULL ENABLE,
SELLER_LOGIN_EMAIL VARCHAR2(100) NOT NULL ENABLE, SELLER_USER_ID VARCHAR2(16),
BUYER_ACCOUNT VARCHAR2(100) NOT NULL ENABLE, BUYER_LOGIN_EMAIL VARCHAR2(100) NOT NULL ENABLE, BUYER_USER_ID VARCHAR2(16), SELLER_TYPE NUMBER(2,0), BUYER_TYPE NUMBER(2,0), TRADE_FROM VARCHAR2(100),
TRADE_EMAIL VARCHAR2(100),
OPERATOR_ROLE CHAR(1) NOT NULL ENABLE, TRADE_STATUS VARCHAR2(50) NOT NULL ENABLE, ADDITIONAL_TRD_STATUS VARCHAR2(50),
TRADE_TYPE VARCHAR2(4) NOT NULL ENABLE,
TOTAL_FEE NUMBER(15,0) DEFAULT 0 NOT NULL ENABLE, SERVICE_FEE_RATIO NUMBER(5,3),
SERVICE_FEE NUMBER(15,0) DEFAULT 0 NOT NULL ENABLE, CURRENCY VARCHAR2(3),
SELLER_ACTION VARCHAR2(200), BUYER_ACTION VARCHAR2(200),
GMT_CREATE DATE DEFAULT SYSDATE NOT NULL ENABLE, SELLER_FULLNAME VARCHAR2(256) DEFAULT '',
正在阅读:
oracle goldgate 支付宝测试配置脚本(内部资料)12-08
2016医学高级职称考试结核病学共用题干题 - 图文04-23
《计算机网络与多媒体》专科课程教学大纲04-16
国际汉学课件04-25
英语二(下)模拟题201-26
自动化概论感想11-19
对照先进找差距106-08
法院书记员年终总结范本01-25
大爱无疆作文1000字优秀6篇03-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 脚本
- goldgate
- 支付
- 内部
- 配置
- 测试
- oracle
- 资料
- 政法委的历史与演变
- 人际沟通
- 美的风管机方案书 - 图文
- 2015重庆大学机械学院复试题(重大机械复试真题)
- 人解白皮书答案(1)
- 冀教版四年级语文上册《第三单元测试卷》(附答案)
- 推进以文辅政 提高办公室工作水平
- 2018-违反党组织纪律检讨书-精选word文档(10页)
- 2019东北林业大学自命题科目考试大纲复试软件工程导论及数据库原理考试大纲
- 世界遗产资料和图片
- 电厂职业卫生试卷及答案
- 2012年暨南大学803西方经济学考研真题详解
- 达内-HP 外企新员工体验式实训项目介绍 - 图文
- 中国公共服务民营化分析
- 《数理统计》测验卷(一)答案
- 智能仪器第二部分复习题
- 八年级道德与法治备课组教学计划
- 晶体光学课后题
- 英语核心素养解读
- 实验指导书-数据库应用设计