OGG-01004|OGG 初始化数据问题处理
作者 | 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 mgr
port 7809
DYNAMICPORTLIST 7810-7829
userid ogg@TEST, PASSWORD ogg
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
ACCESSRULE, PROG *, IPADDR 192.*.*.*, PRI 1, ALLOW
start mgr
2.源端配置 extract 抽取进程 ext1
add extract ext1, TRANLOG, BEGIN NOW, THREADS 4 --源库有四组日志,故需 THREADS 4
add exttrail /ogg/dirdat/xx, extract extu1, megabytes 1024
GGSCI (testrac2) 2> view param ext1
extract ext1
setenv (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 ogg
exttrail /goldengate/ogg19c/dirdat/xx
GETUPDATEBEFORES
GETTRUNCATES
BR BRINTERVAL 2H
CACHEMGR CACHESIZE 500MB
WARNLONGTRANS 2H,CHECKINTERVAL 5M
NUMFILES 4000
EOFDELAYCSECS 10
LOGALLSUPCOLS
--TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 200, parallelism 2)
TRANLOGOPTIONS DBLOGREADER
TRANLOGOPTIONS PURGEORPHANEDTRANSACTIONS
--DYNAMICRESOLUTION
discardfile /goldengate/ogg19c/dirrpt/ext_xx.dsc, APPEND, MEGABYTES 1024
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA
DDLOPTIONS REPORT
table PROD_JIEKEXU.*;
table PROD_JKX.*;
3.源端配置 extract 传输进程 dpe1
edit param dpe1
EXTRACT dpe1
DYNAMICRESOLUTION
PASSTHRU
RMTHOST 192.168.27.XX, MGRPORT 7809, COMPRESS
RMTTRAIL /ogg/dirdat/xx
TABLE PROD_JIEKEXU.*;
TABLE PROD_JKX.*;
4.目标端 MGR 配置
view param mgr
port 7809
DYNAMICPORTLIST 7810-7829
userid ogg@TESTOGG, password ogg
PURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8
PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
LAGREPORTHOURS 1
start mgr
5.目标端 rep2 配置
view params rep2
REPLICAT rep2
setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
--setenv (ORACLE_SID=)
userid ogg@TESTOGG, password ogg
REPORT AT 08:59
REPORTCOUNT EVERY 30 MINUTES, RATE
CACHEMGR CACHESIZE 2048MB, CACHEDIRECTORY /ogg/dirtmp
REPERROR DEFAULT, ABEND
DISCARDFILE /ogg/dirrpt/rep2.dsc, APPEND, MEGABYTES 1024
DISCARDROLLOVER AT 3:00
GETTRUNCATES
ALLOWNOOPUPDATES
APPLYNOOPUPDATES
ASSUMETARGETDEFS
DBOPTIONS DEFERREFCONST
DBOPTIONS SUPPRESSTRIGGERS
DDL INCLUDE MAPPED
DDLOPTIONS REPORT
MAP 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$transaction
UNION ALL SELECT TO_CHAR(current_scn) FROM v$database;
--查看当前 SCN
SQL> 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;
--查看用户创建语法,注意使用了非默认 profile
set long 9999
select 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:B07D21
C756A82A521BF3AB3F640C56B55059A78F123AD7
A86C0010566F1E;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"
LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER 600
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_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
--删除 ext1
cd /goldengate/ogg19c/
ggsci
stop ext1
stop dpe1
delete extract EXT1
dblogin userid ogg@testrac, password ogg
UNREGISTER extract ext1 database
2021-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 database
2021-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 4
EXTRACT added.
GGSCI (testrac2 as ogg@testrac3) 87> add exttrail /goldengate/ogg19c/dirdat/am, extract ext1, megabytes 1024
EXTTRAIL 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]$ ll
total 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 ext1
start dpe1
目标端:
start REP2, aftercsn 9035744263
这样基本上就没问题了,可以正常传输了。
GGSCI (Ops-19cOGG) 10> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:08
REPLICAT 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::Message
Disposition))]
: [/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_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)>
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_PROCEDURE
19-AUG-21 10:25:27.706: Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
19-AUG-21 10:32:55.348: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
19-AUG-21 10:34:43.856: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
19-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
然后重启 rerp2
start REP2, aftercsn 9035744263
一段时间后同步完成,可观察试运行一段时间,后期准备正式迁移。
GGSCI (Ops-19cOGG) 10> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:03
REPLICAT 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
———————————————————————————