
作者 | JiekeXu
来源 | JiekeXu DBA之路(ID: JiekeXu_IT)
大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 OGG 初始化数据问题处理,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!
各位看官您请座,看我慢慢道来。利用 OGG 19.1 同步数据库 11g 到 19c 的测试迁移工作,OGG 搭建完毕后,使用数据泵初始化数据后。目标端启动 rep 进程,出现 OGG-01004 的问题。
2021-08-18 17:06:27 WARNING OGG-01004 Aborted grouped transaction on PROD_JIEKEXU.T_SYS_FILE_RET_TASK, Database error 1403 (No data found).2021-08-18 17:06:27 WARNING OGG-01003 Repositioning to rba 3901 in seqno 4.2021-08-18 17:06:27 WARNING OGG-01154 SQL error 1403 mapping PROD_JIEKEXU.T_SYS_FILE_RET_TASK to PROD_JIEKEXU.T_SYS_FILE_RET_TASK No data found.Source Context :SourceModule : [er.replicat.errors]SourceID : [er/replicat/reperrors.cpp]SourceMethod : [repError]SourceLine : [1754]ThreadBacktrace : [15] elements
个人 OGG 相关知识也只还是入门阶段,到处碰壁,现在对于这个问题做一个简单的总结回顾。
下面一起回顾下: 2021-08-17 下午前(记住时间点更容易理解),完成 OGG 的搭建及配置工作,只是没有启动进程。
本次只说明配置过程,不涉及具体细节及参数详解,OGG 搭建也不做说明可自行部署;
一、简单参数相关配置如下:
1.源端 MGR 参数:
edit param mgrport 7809DYNAMICPORTLIST 7810-7829userid ogg@TEST, PASSWORD oggAUTOSTART EXTRACT *AUTORESTART EXTRACT *PURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45ACCESSRULE, PROG *, IPADDR 192.*.*.*, PRI 1, ALLOW
start mgr
2.源端配置 extract 抽取进程 ext1
add extract ext1, TRANLOG, BEGIN NOW, THREADS 4 --源库有四组日志,故需 THREADS 4add exttrail /ogg/dirdat/xx, extract extu1, megabytes 1024GGSCI (testrac2) 2> view param ext1extract ext1setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")setenv (ORACLE_SID=testrac2)setenv (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)setenv (TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin)userid ogg@testrac, password oggexttrail /goldengate/ogg19c/dirdat/xxGETUPDATEBEFORESGETTRUNCATESBR BRINTERVAL 2HCACHEMGR CACHESIZE 500MBWARNLONGTRANS 2H,CHECKINTERVAL 5MNUMFILES 4000EOFDELAYCSECS 10LOGALLSUPCOLS--TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 200, parallelism 2)TRANLOGOPTIONS DBLOGREADERTRANLOGOPTIONS PURGEORPHANEDTRANSACTIONS--DYNAMICRESOLUTIONdiscardfile /goldengate/ogg19c/dirrpt/ext_xx.dsc, APPEND, MEGABYTES 1024DDL INCLUDE ALLDDLOPTIONS ADDTRANDATADDLOPTIONS REPORTtable PROD_JIEKEXU.*;table PROD_JKX.*;
3.源端配置 extract 传输进程 dpe1
edit param dpe1EXTRACT dpe1DYNAMICRESOLUTIONPASSTHRURMTHOST 192.168.27.XX, MGRPORT 7809, COMPRESSRMTTRAIL /ogg/dirdat/xxTABLE PROD_JIEKEXU.*;TABLE PROD_JKX.*;
4.目标端 MGR 配置
view param mgrport 7809DYNAMICPORTLIST 7810-7829userid ogg@TESTOGG, password oggPURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10LAGREPORTHOURS 1
start mgr
5.目标端 rep2 配置
view params rep2REPLICAT rep2setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)--setenv (ORACLE_SID=)userid ogg@TESTOGG, password oggREPORT AT 08:59REPORTCOUNT EVERY 30 MINUTES, RATECACHEMGR CACHESIZE 2048MB, CACHEDIRECTORY /ogg/dirtmpREPERROR DEFAULT, ABENDDISCARDFILE /ogg/dirrpt/rep2.dsc, APPEND, MEGABYTES 1024DISCARDROLLOVER AT 3:00GETTRUNCATESALLOWNOOPUPDATESAPPLYNOOPUPDATESASSUMETARGETDEFSDBOPTIONS DEFERREFCONSTDBOPTIONS SUPPRESSTRIGGERSDDL INCLUDE MAPPEDDDLOPTIONS REPORTMAP PROD_JKX.* TARGET PROD_JKX.*;MAP PROD_JIEKEXU.* TARGET PROD_JIEKEXU.*;
二、初始化数据 2021-08-17 晚上 21:00 左右 6.源库导出数据
--生产环境如果有事务建议使用如下语句查看 SCN 最小值select to_char(scn_to_timestamp(9035744263), 'yyyy-mm-dd hh24:mi:ss') scndate from dual;SELECT TO_CHAR(MIN(start_scn) ) AS "Please select the minimumSCN" FROM v$transactionUNION ALL SELECT TO_CHAR(current_scn) FROM v$database;--查看当前 SCNSQL> select to_char(current_scn) from v$database;SQL>TO_CHAR(CURRENT_SCN)----------------------------------------9035744263
根据 SCN 导出源库数据
nohup expdp \'/ as sysdba\' directory=PUBLIC_DUMP dumpfile=expdp_PROD_JKX-2021-08-17_%U.dmp COMPRESSION=ALL flashback_scn=9035744263 exclude=statistics parallel=6 cluster=no schemas=PROD_JKX,PROD_JIEKEXU logfile=impdp_PROD_JIEKEXU081721.log &
2021-08-18 早上 10:00 左右开始导入 2021-08-18 下午 14:30 左右开启捕获进程 start ext1、start dpe1 7.目标库导入 首先参考源库创建数据和索引表空间,其次查看源库用户创建语法,是否带有非默认的临时表或者非默认 PROFILE。
create tablespace xxx datafile '/u01/app/oracle/product/XXX.dbf' size 30G;--查看用户创建语法,注意使用了非默认 profileset long 9999select dbms_metadata.get_ddl('USER',username) from dba_users where username='PROD_JIEKEXU';DBMS_METADATA.GET_DDL('USER',USERNAME)--------------------------------------------------------------------------------CREATE USER "PROD_JIEKEXU" IDENTIFIED BY VALUES 'S:B07D21C756A82A521BF3AB3F640C56B55059A78F123AD7A86C0010566F1E;947E6CA8FF4BD25B'DEFAULT TABLESPACE "JIEKEXU_DATA"TEMPORARY TABLESPACE "TEMP"PROFILE "PROFILE_PROD_JIEKEXU"--查看非默认 profile 创建语法,在目标库创建,则导入数据时不会报错。select dbms_metadata.get_ddl('PROFILE',PROFILE ) from dba_profiles where PROFILE='PROFILE_PROD_JIEKEXU';DBMS_METADATA.GET_DDL('PROFILE',PROFILE)--------------------------------------------------------------------------------CREATE PROFILE "PROFILE_PROD_JIEKEXU"LIMITCOMPOSITE_LIMIT UNLIMITEDSESSIONS_PER_USER 600CPU_PER_SESSION UNLIMITEDCPU_PER_CALL UNLIMITEDLOGICAL_READS_PER_SESSION UNLIMITEDLOGICAL_READS_PER_CALL UNLIMITEDIDLE_TIME UNLIMITEDCONNECT_TIME UNLIMITEDPRIVATE_SGA UNLIMITEDFAILED_LOGIN_ATTEMPTS UNLIMITEDPASSWORD_LIFE_TIME UNLIMITEDPASSWORD_REUSE_TIME UNLIMITEDPASSWORD_REUSE_MAX UNLIMITEDPASSWORD_VERIFY_FUNCTION NULLPASSWORD_LOCK_TIME UNLIMITEDPASSWORD_GRACE_TIME UNLIMITED
19c 目标库导入数据
nohup impdp \'/ as sysdba\' directory=EXPDP_DIR dumpfile=expdp_PROD_JKX-2021-08-17_%U.dmp parallel=4 logfile=impdp_PROD_JIEKEXU_081720.log logtime=ALL TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y &
注意:在不管是非归档还是归档情况下使用 DISABLE_ARCHIVE_LOGGING 都会减小导入时间,减少归档量,但是需要注意如果数据库是force logging情况下,DISABLE_ARCHIVE_LOGGING 参数会无效。
8.检查导入情况,确保无关键错误,注意归档空间即可,数据导入完成后收集统计信息。
exec dbms_stats.gather_database_stats(degree =>4);
9.完成后根据源库导出时的 scn 启动目标端 rep2
start REP2, aftercsn 9035744263
结果启动就报文章开头所示的错误 No data found :
2021-08-18 17:06:27 WARNING OGG-01004 Aborted grouped transaction on PROD_JIEKEXU.T_SYS_FILE_RET_TASK, Database error 1403 (No data found).2021-08-18 17:06:27 WARNING OGG-01003 Repositioning to rba 3901 in seqno 4.2021-08-18 17:06:27 WARNING OGG-01154 SQL error 1403 mapping PROD_JIEKEXU.T_SYS_FILE_RET_TASK to PROD_JIEKEXU.T_SYS_FILE_RET_TASK No data found.
三、解决过程
No data found 因源端 ext1 捕获进程启动时间比较晚,而添加时所用语法为: add extract ext1, TRANLOG, BEGIN NOW, THREADS 4 BEGIN NOW 意为当前时间,虽添加时间是 2021-08-17 但启动时间是 2021-08-18 下午了,这个捕获时间相当于导出到启动的这段时间内没有捕获,数据则不连续了,No data found 也就说得过去了。 那么,肿么办呢? 删除原来添加的 ext1 重新将时间改为 expdp 导出的时间即可。 10.源端登录 OGG
--删除 ext1cd /goldengate/ogg19c/ggscistop ext1stop dpe1delete extract EXT1dblogin userid ogg@testrac, password oggUNREGISTER extract ext1 database2021-08-18 17:27:30 INFO OGG-01750 Successfully unregistered EXTRACT EXT1 from database.
11.重新添加 ext1
--需登录源库 sqlplus 查看 scn 对应的时间值SQL> select to_char(scn_to_timestamp(9035744263), 'yyyy-mm-dd hh24:mi:ss') scndate from dual;SCNDATE-------------------2021-08-17 21:00:56
然后添加时指定该时间即可 BEGIN 2021-08-17 21:00:56
GGSCI (testrac2 as ogg@testrac3) 84> REGISTER extract EXT1 database2021-08-18 17:29:11 INFO OGG-02003 Extract EXT1 successfully registered with database at SCN 9054291778.GGSCI (testrac2 as ogg@testrac3) 86> add extract ext1, TRANLOG, BEGIN 2021-08-17 21:00:56, THREADS 4EXTRACT added.GGSCI (testrac2 as ogg@testrac3) 87> add exttrail /goldengate/ogg19c/dirdat/am, extract ext1, megabytes 1024EXTTRAIL added.GGSCI (testrac2 as ogg@testrac3) 88> edit params ext1 --根据上条命令 trail 文件修改配置中的 trail 文件名。exttrail /goldengate/ogg19c/dirdat/am
exttrail 指定文件名,操作系统层相应路径下则生成已 am 开头的 trail 文件。
[oracle@testrac2 goldengate]$ cd /goldengate/ogg19c/dirdat/[oracle@testrac2 dirdat]$ lltotal 223788-rw-r----- 1 oracle oinstall 80985108 Aug 18 18:19 am000000000-rw-r----- 1 oracle oinstall 1700903 Aug 18 19:04 am000000001-rw-r----- 1 oracle oinstall 99192351 Aug 19 17:14 am000000002-rw-r----- 1 oracle oinstall 27019219 Aug 18 15:41 xx000000000-rw-r----- 1 oracle oinstall 2863333 Aug 18 16:16 xx000000001-rw-r----- 1 oracle oinstall 3997210 Aug 18 16:52 xx000000002-rw-r----- 1 oracle oinstall 2154620 Aug 18 16:59 xx000000003-rw-r----- 1 oracle oinstall 2708732 Aug 18 17:17 xx000000004

然后也需要修改 dpe1 中 trail 文件名,将原来 "RMTTRAIL /ogg/dirdat/xx" 的文件重命名改为类似的 "RMTTRAIL /ogg/dirdat/am",防止因生成的 trail 不连续而报错找不到数据。 12.启动捕获和投递进程
源端:start ext1start dpe1目标端:start REP2, aftercsn 9035744263
这样基本上就没问题了,可以正常传输了。
GGSCI (Ops-19cOGG) 10> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT RUNNING REP1 00:00:00 00:00:08REPLICAT RUNNING REP2 00:00:00 00:00:09

-------------以下可以不用看折腾的过程了-------------
但是吧,我们七点下班,这么个时间点还早,就瞎折腾了一下,网上找了两个帖子,手工切换trail 文件,如下所示:
源端不需停 OGG SEND extract ext1, ROLLOVER SEND extract dpe1, ROLLOVER 切换完后启动报错又换了种切换方案 源端需要停止 OGG alter extract ext1 etrollover alter extract dpe1 etrollover alter extract dpe1,thread 4,extseqno 3,extrba 0 目标端也修改 trail 文件号再启动。 ALTER REPLICAT rep1, EXTSEQNO 3, EXTRBA 0 start dpe1 start rep2
具体切换方案详见:https://blog.csdn.net/leo__1990/article/details/91777064
期间也换过 trail 文件名,删除 ext1 让重新捕获,当重新捕获后目标端启动报错变了,看来是有希望了。
2021-08-18 19:05:11 WARNING OGG-01154 SQL error 1 mapping PROD_JIEKEXU.T_AUTH_ORIGINAL to PROD_JIEKEXU.T_AUTH_ORIGINAL OCI Error ORA-00001: unique constraint (PROD_JIEKEXU.P_T_AUTH_ORIGINAL) violated (status = 1), SQL <INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "PROD_JIEKEXU"."T_AUTH_ORIGINAL" ("SEQUENCE_NO","PK_ORIGINAL","FK_SIGNATURE","ORIGINAL","ORIGINAL_DIGEST","DIGEST_TIME","IS_BATCH","FK_USER","FK_PERSON","BUSINESS_TYPE","FK_BUSINESS","FK_WORKFLOW","FK_WORKFLOW_TASK","ORIGINAL_TYPE","VERSION_ID","ORIGINAL_RULE_TYPE") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15)>.Source Context :SourceModule : [er.replicat.errors]SourceID : [er/replicat/reperrors.cpp]SourceMethod : [repError]SourceLine : [1754]ThreadBacktrace : [15] elements: [/ogg/libgglog.so(CMessageContext::AddThreadContext())]: [/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]: [/ogg/libgglog.so(_MSG_QualTableName_QualTableName(CSourceContext*, int, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, CMessageFactory::MessageDisposition))]: [/ogg/replicat(ggs::er::ReplicatContext::repError(short, int, char const*, extr_ptr_def*, ggs::gglib::gglcr::CommonLCR const*, std_rec_hdr_def*, char*, ObjectMetadata*, bool))]: [/ogg/replicat()]: [/ogg/replicat(ggs::er::ReplicatContext::processRecord(ggs::gglib::gglcr::CommonLCR const*, ggs::gglib::gglcr::CommonLCR*, extr_ptr_def*&, extr_ptr_def*&, bool&, int&, bool, RepCsn&))]: [/ogg/replicat(ggs::er::ReplicatContext::processReplicatLoop())]: [/ogg/replicat(ggs::er::ReplicatContext::run())]: [/ogg/replicat()]: [/ogg/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())]: [/ogg/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]: [/ogg/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]: [/ogg/replicat(main)]: [/lib64/libc.so.6(__libc_start_main)]: [/ogg/replicat()]2021-08-18 19:05:11 ERROR OGG-01296 Error mapping from PROD_JIEKEXU.T_AUTH_ORIGINAL to PROD_JIEKEXU.T_AUTH_ORIGINAL.
下班时间看到了报错是 OGG-01296 Error mapping ,难道是目标端的相关映射文件有问题?想了许久看了许久不得而知,先下班吧,来日再战。
除了家目录下的 ggserr.log 日志外,dirrpt 目录下也会有单独的各个进程报告。由 Extract、Replicat 和 Manager 进程创建的进程报告文件的默认位置,用于报告与处理运行相关的统计信息。以外部 ASCII 格式编写。文件名称格式为 group name+sequence number.rpt 地方sequence number 附加到旧文件的序号。注意不要编辑这些文件。
total 6932-rw-r----- 1 oracle oinstall 3216 Jul 14 20:10 REP15.rpt-rw-r----- 1 oracle oinstall 0 Aug 9 03:00 rep19.dsc-rw-r----- 1 oracle oinstall 0 Aug 10 03:00 rep18.dsc-rw-r----- 1 oracle oinstall 0 Aug 11 03:00 rep17.dsc-rw-r----- 1 oracle oinstall 0 Aug 12 03:00 rep16.dsc-rw-r----- 1 oracle oinstall 0 Aug 13 03:00 rep15.dsc-rw-r----- 1 oracle oinstall 0 Aug 14 03:00 rep14.dsc-rw-r----- 1 oracle oinstall 0 Aug 15 03:00 rep13.dsc-rw-r----- 1 oracle oinstall 176747 Aug 16 14:55 REP14.rpt-rw-r----- 1 oracle oinstall 16471 Aug 16 15:01 REP13.rpt-rw-r----- 1 oracle oinstall 14940 Aug 16 15:14 REP12.rpt-rw-r----- 1 oracle oinstall 14940 Aug 16 15:15 REP11.rpt-rw-r----- 1 oracle oinstall 2708 Aug 16 15:18 rep12.dsc-rw-r----- 1 oracle oinstall 15311 Aug 17 10:20 REP10.rpt-rw-r----- 1 oracle oinstall 9787 Aug 17 10:23 MGR0.rpt-rw-r----- 1 oracle oinstall 209 Aug 17 16:28 rep11.dsc-rw-r----- 1 oracle oinstall 0 Aug 18 03:00 rep10.dsc-rw-r----- 1 oracle oinstall 20471 Aug 18 16:41 REP29.rpt-rw-r----- 1 oracle oinstall 14784 Aug 18 16:54 REP28.rpt-rw-r----- 1 oracle oinstall 15111 Aug 18 17:06 REP27.rpt-rw-r----- 1 oracle oinstall 254995 Aug 18 17:40 REP26.rpt-rw-r----- 1 oracle oinstall 15766 Aug 18 18:07 REP25.rpt-rw-r----- 1 oracle oinstall 15770 Aug 18 18:20 REP24.rpt-rw-r----- 1 oracle oinstall 15787 Aug 18 18:29 REP23.rpt-rw-r----- 1 oracle oinstall 15787 Aug 18 18:44 REP22.rpt-rw-r----- 1 oracle oinstall 15790 Aug 18 19:04 REP21.rpt-rw-r----- 1 oracle oinstall 15790 Aug 18 19:05 REP20.rpt-rw-r----- 1 oracle oinstall 0 Aug 19 03:00 rep1.dsc-rw-r----- 1 oracle oinstall 11457 Aug 19 08:59 REP1.rpt-rw-r----- 1 oracle oinstall 22769 Aug 19 10:49 MGR.rpt-rw-r----- 1 oracle oinstall 74424 Aug 19 10:49 rep2.dsc-rw-r----- 1 oracle oinstall 6298955 Aug 19 18:20 REP2.rpt

今早上来重启了下 rep2,查看了报错还是一样,目标库查看 rep2.dsc
vim /ogg/dirrpt/rep2.dsc
--搜索到报错的表名:T_AUTH_ORIGINALOCI Error ORA-00001: unique constraint (PROD_JIEKEXU.P_T_AUTH_ORIGINAL) violated (status = 1), SQL <INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "PROD_JIEKEXU"."T_AUTH_ORIGINAL" ("SEQUENCE_NO","PK_ORIGINAL","FK_SIGNATURE","ORIGINAL","ORIGINAL_DIGEST","DIGEST_TIME","IS_BATCH","FK_USER","FK_PERSON","BUSINESS_TYPE","FK_BUSINESS","FK_WORKFLOW","FK_WORKFLOW_TASK","ORIGINAL_TYPE","VERSION_ID","ORIGINAL_RULE_TYPE") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15)>Aborting transaction on /ogg/dirdat/am beginning at seqno 0 rba 38,768,826这才大吃一惊 ORA-00001 违反唯一约束,恍然大悟,有重复数据了,昨晚上一顿乱操作后有数据进入到了目标库,怎么办呢?
目标库只能按用户删除重新导入咯。
drop user XXX cascade;重新导入.......19-AUG-21 10:25:24.289: Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE19-AUG-21 10:25:27.706: Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX19-AUG-21 10:32:55.348: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT19-AUG-21 10:34:43.856: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT19-AUG-21 10:35:26.070: Job "SYS"."SYS_IMPORT_FULL_01" completed with 17 error(s) at Thu Aug 19 10:35:26 2021 elapsed 0 00:28:30然后重启 rerp2start REP2, aftercsn 9035744263
一段时间后同步完成,可观察试运行一段时间,后期准备正式迁移。
GGSCI (Ops-19cOGG) 10> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT RUNNING REP1 00:00:00 00:00:03REPLICAT RUNNING REP2 00:00:00 00:00:02

附:Oracle GoldenGate 经典架构安装的子目录
目录 | 描述 |
br | 包含有界恢复功能的检查点文件。 |
cfg | 包含用于配置 Oracle GoldenGate Monitor 的属性和 XML 文件。 |
dirdb | 包含用于保存从 Oracle GoldenGate 实例收集以供 Oracle GoldenGate Monitor 应用程序或 Oracle Enterprise Manager 内使用的信息的数据存储。 |
dirchk | 包含 Extract 和 Replicat 进程创建的检查点文件,这些文件存储当前的读写位置,以支持数据准确性和容错性。以内部 Oracle GoldenGate 格式编写。 文件名称格式为group_name+sequence_number.ext地方sequence_number附加到文件岁的序列号和ext或者是cpe用于提取检查点文件或cpr用于Replicat检查点文件。 不要编辑这些文件。 例子: ext1.cpe rep1.cpr |
dircrd | 包含凭证存储文件。 |
dirdat | Oracle GoldenGate 跟踪文件和提取文件的默认位置,这些文件和提取文件由提取进程创建,用于存储提取的数据以供 Replicat 进程或其他应用程序或实用程序进一步处理。以内部 Oracle GoldenGate 格式编写。 文件名格式是用户定义的两个字符前缀,后跟 9 位序列号(跟踪文件)或关联提取进程组的用户定义名称(提取文件)。不要编辑这些文件。 例子: rt000001 finance |
dirdef | 由DEFGEN实用程序创建的数据定义文件的默认位置,用于包含异构同步环境中使用的源或目标数据定义。用外部 ASCII 编写。文件名格式是在DEFGEN参数文件中指定的用户自定义名称。 可以编辑这些文件来为新创建的表添加定义。如果您不确定如何编辑定义文件,请联系 Oracle GoldenGate 技术支持。 例子: defs.dat |
dirdmp | 包含支持内部活动日志记录机制的跟踪或转储文件。此目录仅适用于经典架构,请参阅什么是 Oracle GoldenGate 经典架构。 |
dirjar | 包含支持 Oracle GoldenGate Monitor 的 Java 可执行文件。 |
dirpcs | 状态文件的默认位置。文件名的格式group.extension,其中group是组的名称,extension或者是pce(提取物),pcr(Replicat),或pcm(经理)。 这些文件仅在进程运行时创建。该文件显示程序名称、进程名称、端口号和进程 ID。 不要编辑这些文件。 例子: mgr.pcm ext.pce |
dirprm | Oracle GoldenGate 用户创建的 Oracle GoldenGate 参数文件的默认位置,用于存储 Oracle GoldenGate 进程组或实用程序的运行时参数。以外部 ASCII 格式编写。文件名格式为group name/user-defined name.prm或mgr.prm。 停止进程后,可以编辑这些文件以更改 Oracle GoldenGate 参数值。它们可以直接从文本编辑器或使用EDIT PARAMSGGSCI 中的命令进行编辑。 例子: defgen.prm finance.prm |
dirrec | Oracle GoldenGate 不使用。 |
dirrpt | 由 Extract、Replicat 和 Manager 进程创建的进程报告文件的默认位置,用于报告与处理运行相关的统计信息。以外部 ASCII 格式编写。 文件名称格式为group name+sequence number.rpt地方sequence number附加到旧文件的序号。 不要编辑这些文件。 例子: FIN2.rpt MGR4.rpt |
dirsql | 包含支持 Oracle GoldenGate 的培训脚本和任何用户创建的 SQL 脚本。 |
dirtmp | 当大小超过为缓存管理器分配的内存大小时用于存储事务数据的默认位置。不要编辑这些文件。 |
dirwlt | 包含 Oracle GoldenGate 钱包文件。 |
UserExitExamples | 包含帮助创建用户出口的示例文件。 |
吐血整理,踩坑无数,实属不易,如认真阅读,此文一定对您有帮助,欢迎点赞、在看与转发,写作不易,坚持写作更不易,您的点赞、转发,举手之劳,便是对我最大的支持,也能让更多的人看到更多的人受益,万分感谢!
———————————————————————————
公众号:JiekeXu DBA之路 墨天轮:https://www.modb.pro/u/4347 CSDN :https://blog.csdn.net/JiekeXu 腾讯云:https://cloud.tencent.com/developer/user/5645107
———————————————————————————

【安装篇】- 基于 VMWARE Oracle Linux7.9 安装 Oracle19c RAC 详细配置方案
2021年7月国产数据库排行榜:openGauss高歌猛进,GBase持续下跌
Oracle 12c 及以上版本补丁更新说明及下载方法(收藏版)
Oracle 19c 19.10DBRU 最新补丁升级看这一篇就够了
Redhat 7.7 安装最新版 MongoDB 5.0.1 手册
ASM 管理的内部工具:KFED、KFOD、AMDU
性能优化|关于数据库历史性能问题的一道面试题
一线运维 DBA 五年经验常用 SQL 大全(二)
ORA-00349|激活 ADG 备库时遇到的问题
Oracle 轻量级实时监控工具 oratop
MySQL OCP 认证考试你知道吗?
Oracle 19C RAC 安装遇到的坑
国产数据库|TiDB 5.0 快速体验
2021 年 8 月数据库英雄榜
Oracle 每日一题系列合集
