暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

OGG集成模式配置

IT那活儿 2022-05-01
6295

 

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!

 

前提条件检查

1)数据库版本源库不低于11203;

2)推荐patch参考1557031.1以及2193391.1;

3)检查是否存在不支持的对象类型;

4)Latest GoldenGate/Database (OGG/RDBMS) Patch recommendations ( Doc ID 2193391.1 。

 

实施环境

 实施流程

 

影响范围及风险评估

配置goldengate软件均在线完成, 不需要停止业务,备库初始化需要在源库导出一份数据,导数据在夜间业务闲时操作;goldengate配置完成后,对主机性能有1-3%的影响。 

实施环境准备

 

1. OS用户

操作系统用户建议使用Oracle用户也可使用新建用户,但该用户必须加入到oinstall组,该用户使用与oracle相同的profile文件,操作系统必须为该用户开放一定的CPU、内存等资源限制,可以通过ulimit –a查看,建议在/etc/security/limits.conf中设置和oracle用户一致,本次实施使用已有的oracle用户。

2. 环境变量

确保为 Oracle 和 Oracle Goldengate 运行用户配置动态库路径。确保 Oracle 数据库的运行库(/lib)添加到操作系统的动态库环境变量中:LD_LIBRARY_PATH (Solaris,Linux), LIBPATH (AIX), SHLIB_PATH (HPUX)。

为 GoldenGate 运行用户配置内存限制,将 GoldenGate 运行系统用户对内存大小(memory)、文件大小(fsize)、DATA、STACK 等参数的值设置为-1(ulimited),在/etc/security/limits 文件中进行配置。

#export SHLIB_PATH=$ORACLE_HOME/lib32:$SHLIB_PATH:$SHLIB_PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$LD_LIBRARY_PATH

3. 网络配置

  • Oracle GoldenGate 只需要复制两端的 IP 地址之间能够建立 TCP 连接,一个 Goldengate 复制链路需要 10 个 TCP 动态端口,具体端口建议使用 7839~7949。

  • hosts配置

    192.168.79.26           oggsre

    192.168.79.27           oggtar

4. 空间准备

goldengate软件安装目录1GB,trail文件目录根据归档量计算,除此之外,还应该考虑BR目录和临时目录(ogg使用的临时目录)。

5. GoldenGate表空间准备

  • 分配表空间,大小不小于日志组大小--分配表空间,大小不小于日志组大小。

set linesize 150col FILE_NAME for a50select tablespace_name ,file_name from dba_data_files;select bytes/1024/1024from v$log;CREATETABLESPACE goldengate DATAFILE '+DATA' size 1G autoextend on maxsize 10G;

6. GoldengGate用户模式

  • 创建用户并授权:

CREATEUSER GOLDENGATE IDENTIFIED BY goldengate DEFAULTTABLESPACE GOLDENGATE TEMPORARYTABLESPACETEMP;GRANTCONNECTTO GOLDENGATE;GRANTALTERANYTABLETO GOLDENGATE;GRANTALTERSESSIONTO GOLDENGATE;GRANTCREATESESSIONTO GOLDENGATE;GRANT FLASHBACK ANYTABLETO GOLDENGATE;GRANTSELECTANY DICTIONARY TO GOLDENGATE;GRANTSELECTANYTABLETO GOLDENGATE;GRANT RESOURCE TO GOLDENGATE;GRANTEXECUTEANYTYPETO GOLDENGATE;GRANTSELECTANYTRANSACTIONTO GOLDENGATE;GRANTCREATEany  TABLE,CREATEany SEQUENCE TO goldengate ;GRANTINSERTANYTABLETO GOLDENGATE;GRANTUPDATEANYTABLETO GOLDENGATE;GRANTDELETEANYTABLETO GOLDENGATE;GRANTCREATEANYINDEXTO GOLDENGATE;grant unlimited tablespaceto goldengate ;grantexecuteon DBMS_FLASHBACK to goldengate;grant  COMMENTANYTABLE to goldengate;alter system set enable_goldengate_replication=true sid='*' scope=both;exec dbms_goldengate_auth.grant_admin_privilege('goldengate')

  • 12c授权语法如下:

exec dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL');grant dba to c##ggadmin container=all;

  • 不建议使用DBA权限替GOldenGate所需要的权限。

7. 检查数据库归档模式

set line 350 pages 999col NAME for a15col LOG_MODE for a15col OPEN_MODE for a15col PLATFORM_NAME for a25col FORCE_LOGGING for a20col SUPPLEMENTAL_LOG_DATA_MIN for a25SELECT    NAME,    LOG_MODE,    OPEN_MODE,    PLATFORM_NAME,    FORCE_LOGGING,    SUPPLEMENTAL_LOG_DATA_MINFROM    V$DATABASE;

select log_mode from v$database;

8. 开启补充日志

  • 确认补充日志是否打开:

SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;SUPPLEMENTAL_LOG_DATA_MIN-------------------------NO

  • 打开源端的补充日志:

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

  • Verify that it is enabled:

SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;SUPPLEMENTAL_LOG_DATA_MIN-------------------------YESC

注:打开补充日志最好在夜里业务很少的时候进行。如果是 RAC 需要在每个节点上都执行。完成后建议执行一次归档操作:

alter system archive log current;

9. 开启FORCE LOGGING

select NAME,FORCE_LOGGING from v$database;alter database FORCE LOGGING;set line 350 pages 999col NAME for a15col LOG_MODE for a15col OPEN_MODE for a15col PLATFORM_NAME for a25col FORCE_LOGGING for a20col SUPPLEMENTAL_LOG_DATA_MIN for a25SELECT    NAME,    LOG_MODE,    OPEN_MODE,    PLATFORM_NAME,    FORCE_LOGGING,    SUPPLEMENTAL_LOG_DATA_MINFROM    V$DATABASE;

The output of the query must be YES for both properties。

10. 配置streams_pool_size

  • 修改spfile,重启生效,rac可以指定节点修改,临时修改到内存可以使用如下命令:

alter system set streams_pool_size=1500m scope=memory sid='ringdb1';

 

 

配置过程

1. 安装软件

  • 上传并解压软件;

  • 执行runInstaller,按照提示完成安装;

  • 测试控制台:

    以 oracle(运行用户)用户身份登录;分别在源端和目标端执行:./ggsci;

    如果成功进入控制台,说明环境满足 GoldenGate 要求。

2. 配置mgr进程

源端和目标端配置过程一样。

  • 生成密文:

GGSCI (goldengate)1> ENCRYPT PASSWORD goldengate EncryptKey Default --为密码字符goldengate生成密文Using Blowfish encryption with DEFAULT key.Encrypted password: AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC --生成的密文Algorithm used: BLOWFISH

  • 编辑mgr参数文件:

view params mgrPORT 7809DYNAMICPORTLIST 7840-7849ACCESSRULE, PROG SERVER, ALLOWAUTOSTART EXTRACT *AUTORESTART EXTRACT * retries 5 waitminutes 3--AUTOSTART REPLICAT *--AUTORESTART REPLICAT * retries 5 waitminutes 1PURGEOLDEXTRACTS oracle/ogg/dirdat/*,usecheckpoints, minkeepdays 2LAGREPORTMINUTES 10LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 60--STARTUPVALIDATIONDELAY 5--USERID goldengate, PASSWORD goldengateUSERID goldengate, PASSWORD AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC, ENCRYPTKEY DEFAULTPURGEDDLHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 30  --触发器模式需要配置PURGEMARKERHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 30

3. extract进程配置

3.1 添加附加日志

  • 安装用户添加:

dblogin userid goldengate,password goldengateadd schematrandata oggsre

3.2 按照表添加

dblogin userid goldengate,password GoldenGate_23add trandata SPCLUSDP.t_opencloselogadd trandata SPCLUSDP.t_personaldownreport

不使用add trandata user.* ,因为新加的表不会自动打开附加日志。

3.3 确认附加日志

  • 按照用户添加验证:

info SCHEMATRANDATA scott

  • 按照表添加的验证:

info trandata SPCLUSDP.t_busgrouplooptone

  • 排除外部表和已确认临时表的抽取:

set line 230 pages 999col OWNER for a25col DEFAULT_DIRECTORY_NAME for a15col ACCESS_TYPE for a12col ACCESS_PARAMETERS for a45col REJECT_LIMIT for a10select * from dba_external_tables;

  • 编辑参数:

edit params ext_01--base parameterextract ext_01SETENV (ORACLE_SID = test)SETENV (ORACLE_HOME = oracle/app/oracle/product/11.2.0/db)SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)USERID goldengate, PASSWORD AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC, ENCRYPTKEY DEFAULT-- SOURCECATALOG yzxdbexttrail /oracle/ogg/dirdat/exTRANLOGOPTIONS EXCLUDEUSER goldengatenumfiles 5000TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 512, parallelism 4)DISCARDFILE /oracle/ogg/dirrpt/ext_01.dsc,APPEND,MEGABYTES 100DISCARDROLLOVER AT 3:00REPORTCOUNT EVERY 30 MINUTES, RATEREPORTROLLOVER AT 9:00--TRANLOGOPTIONS CHECKPOINTRETENTIONTIME 20 WARNLONGTRANS 2h, CHECKINTERVAL 30m--TRANLOGOPTIONS INCLUDEREGIONID    --和时间格式相关,不报错就不添加--map objectsSEQUENCE oggsre.*;Table oggsre.*;TABLEEXCLUDE oggsre.emp ;--ddl supportDDL INCLUDE MAPPEDDDLOPTIONS REPORTTRANLOGOPTIONS FETCHPARTIALLOB,GETCTASDML --CAST支持,记录insert的日志,保证数据一致,但处理大表时,replicat性能极差 DDLOPTIONS ADDTRANDATA  --取决于添加附件日志的方式-- DDLOPTIONS GETREPLICATES    --添加附加日志的语句是否复制, 和是否配置DDLOPTIONS ADDTRANDATA有关 -- DDLOPTIONS NOCROSSRENAME --12c 已经废弃--LOGALLSUPCOLS--UPDATERECORDFORMAT compact-- Performance optimizationcachemgr cachesize 512M, cachedirectory /oracle/ogg/dirtmp 10GBR BRINTERVAL 40M, BRDIR BR

3.4 sequence支持

1)启用sequence支持

  • 如果是pdb环境,应该在pdb级别运行sequence.sql 支持脚本,和在pdb内进行授权;

  • 首先在源配置GLOBALS文件,如果为打开DDL复制已经配置过,可以跳过该步:

ggsci>EDIT PARAMS ./GLOBALS --在该文件中添加以下内容GGSCHEMA goldengate --指定的进行DDL复制的数据库用户

  • 在源端和目标端均需要以sysdba用户执行以下脚本:

sqlplus>connect as sysdbaSqlplus>@sequence.sql --该文件在/ggs目录下输入用户:goldengate

  • 授权:

在源端进行授权:

SQL> GRANT EXECUTE on goldengate.updateSequence TO goldengate;SQL>alter table sys.seq$ add supplemental log data(primary key) columns;

在目标进行授权:

SQL>GRANT EXECUTE on goldengate.replicateSequence TO goldengate;

  • 在源端和目标端进程参数中配置:

Extract和pump均配置:

SEQUENCE zly.seq1;或者SEQUENCE zly.*;TABLE zly.*;

replicat中需要配置:

MAP zly.seq1, TARGET zly.seq1;

或者是MAP zly.*, TARGET zly.*;这样就包括了表和序列;

(不能在replicat中配置成SEQUENCE gtj.seq1的形式)。

  • 序列在复制过程中,replicat缺省会CHECKSEQUENCEVALUE,确保目标大于原的序列值。

create sequence gtj.seq1minvalue 1maxvalue 99999999start with 1 increment by 2cache 20cycle;

sequence不建议加入复制。

2)sequence复制优化

优化建议

  • replicat进程拆分:单独进程配置sequence复制;

  • 确保目标端next_value值大于源端,算法如下:

source_highwater_value + (source_cache_size * source_increment_size * source_RAC_nodes) <= target_highwater_value

  • Cycle的影响如果序列有cycle,目标端必然先达到最大值,然后从循环从最小值开始,这违背了目标端next_value值大于源端的原则。

    解决方案:--DBOPTIONS _MAXSEQUENCEDISTANCE 源端和目标端seq的值相差多少(n)可以ignore。

  • 确保replicat进程配置参数CheckSequenceValue。

3.5 注册extract进程

DBLOGIN USERID goldengate, PASSWORD goldengateREGISTER EXTRACT ext_01 DATABASEADD EXTRACT ext_01, INTEGRATED TRANLOG, BEGIN NOWADD EXTTRAIL oracle/ogg/dirdat/ex, EXTRACT ext_01, MEGABYTES 50start ext_01info all

  • pdb按如下方式注册:

REGISTER EXTRACT ext_01 DATABASE  CONTAINER(yzxdb)

4. 配置datapump进程

  • 编辑参数:

extract pmp_01SETENV (ORACLE_SID = test)SETENV (ORACLE_HOME = oracle/app/oracle/product/11.2.0/db)passthrurmthost goldengate,mgrport 7809, compressrmttrail /oracle/ogg/dirdat/rtDISCARDFILE /oracle/ogg/dirrpt/pmp_01.dsc,APPEND,MEGABYTES 100DISCARDROLLOVER AT 9:00REPORTROLLOVER AT 9:00REPORTCOUNT EVERY 1 HOURS, RATEtable oggsre.*;------- sequence-----SEQUENCE oggsre.*;

  • 注册datapump进程:

DBLOGIN USERID goldengate, PASSWORD goldengateADD EXTRACT pmp_01 EXTTRAILSOURCE oracle/ogg/dirdat/ex --extract进程trial文件位置ADD RMTTRAIL oracle/ogg/dirdat/rt, EXTRACT pmp_01, MEGABYTES 500 --远程trial文件位置

  • target端mgr进程启动后启动datapump进程。

5. 数据初始化

  • 基于scn做一致性备份恢复。

查询当前scn:

col current_scn for 9999999999999999999999999999select current_scn from v$database;

确保数据库中事物启动时间晚于capture进程启动时间。

Select  start_time from gv$transaction where to_date(start_time, 'yyyy-mm-dd hh24:mi:ss')<to_date('20XX-05-03 11:20:55', 'yyyy-mm-dd hh24:mi:ss');

导出数据:

vi schema.paruserid= "/ AS SYSDBA"directory=ogg_dumpdumpfile=obj_%U.dmplogfile=exp.logparallel=6flashback_scn=schemas=oggsrecluster=nEXCLUDE = TABLE:"IN (' ',' ')" --根据情况确定(排除外部表和临时表)

nohup expdp parfile=schema.par &

备库恢复数据:

vi impscheam.paruserid= "/ AS SYSDBA"directory=ogg_dumpdumpfile=obj_%U.dmplogfile=imp.logparallel=6schemas=oggtarcluster=n

impdp parfile= impsche

am.par 

备库禁用触发器,外键约束,job等。

  • 禁用外键约束:

select 'alter table '||owner||'.'||table_name||' disable constraint '||constraint_name||';' from dba_constraints where constraint_type in ('R') and owner = 'SUBADMIN' order by status,owner;

执行返回的sql语句。

  • 禁用触发器:

select 'alter trigger '||owner||'.'||trigger_name||' disable;' from dba_triggers where owner ='SUBADMIN' order by status,owner;

执行返回的sql,但是新创建的触发器,在备库任然需要手动禁用,这在生产中显然不可取,因此不采用该方式处理触发器问题。

在replicat进程配置如下参数限制,配置该参数后,备库的触发器将不会被触发(即使触发器状态为enable)。

DBOPTIONS SUPPRESSTRIGGERS。

  • 禁用job
    备库设置如下参数job和Schedul被

alter system set job_queue_processes=0 scope=both;

也可单独禁用job:

select 'execute DBMS_IJOB.BROKEN('||job||',TRUE); commit;'       from dba_jobs       where schema_user in ('MIGUAPP','MGSTATIS','MIGU_BO','MIGUAPPTEST','TYQK','MGACTIVEMQ') and BROKEN='N';set linesize 300 pages 999col OWNER for a20col JOB_NAME for a45col JOB_CREATOR for a25col ENABLED for a10col START_DATE for a25col NEXT_RUN_DATE for a25col LAST_START_DATE for a25col REPEAT_INTERVAL for a50select OWNER,JOB_NAME,ENABLED,to_char(START_DATE,'yyyy/mm/dd hh:mm') START_DATE,to_char(LAST_START_DATE,'yyyy/mm/dd hh:mm') LAST_START_DATE,to_char(NEXT_RUN_DATE,'yyyy/mm/dd hh:mm') NEXT_RUN_DATE,REPEAT_INTERVAL ,RUN_COUNT from dba_scheduler_jobs where owner in ('MIGUAPP','MGSTATIS','MIGU_BO','MIGUAPPTEST','TYQK','MGACTIVEMQ');exec dbms_scheduler.disable(name => lower('delete_4_old_records'),force => true);

6. target端配置mgr进程

mgr配置同source端mgr配置。

7. replicat进程配置

  • 编辑replicat参数:

--base parameterREPLICAT rep_01SETENV (ORACLE_SID = test)SETENV (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db)SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)USERID goldengate, PASSWORD AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC, ENCRYPTKEY DEFAULTDISCARDFILE /oracle/ogg/dirrpt/rep_01.dsc,APPEND,MEGABYTES 100DISCARDROLLOVER AT 3:00DBOPTIONS INTEGRATEDPARAMS(parallelism 4)DBOPTIONS SUPPRESSTRIGGERS -- 不触发触发器DBOPTIONS DEFERREFCONST -- 不校验外键约束ASSUMETARGETDEFSREPERROR DEFAULT, ABENDREPORTCOUNT EVERY 60 MINUTES, RATEREPORTROLLOVER AT 9:00numfiles 5000cachemgr cachesize 512M, cachedirectory /oracle/ogg/dirtmp 2GB--map objectsMap oggsre.*, target oggtar.*;--LIMITROWS--ddl map--DDL INCLUDE MAPPED,EXCLUDE OBJNAME "<schema name>.<object name> "DDL INCLUDE MAPPEDDDLOPTIONS REPORTDDLERROR DEFAULT ABENDDDLOPTIONS REPORT--sequence parameterDBOPTIONS _MAXSEQUENCEDISTANCE 50--performance--优化相关DBOPTIONS INTEGRATEDPARAMS (COMMIT_SERIALIZATION DEPENDENT_TRANSACTIONS) --按照事务依赖关系提交BATCHSQLGROUPTRANSOPS 100

  • replicat进程正常运行,goldengate运行用户需要适当的权限。

grant execute on utl_file to goldengate;--grant dba to goldengate;grant create table,create sequence to goldengate;exec dbms_goldengate_auth.grant_admin_privilege('goldengate')

  • 添加replicat进程:

DBLOGIN USERID goldengate, PASSWORD goldengateadd replicat rep_01 integrated exttrail /oracle/ogg/dirdat/rtstart replicat rep_01, aftercsn <expdpd_scn>

 


 遇到错误



1. MGR错误

--OGG-01877

  • 启动报错:

WARNING OGG-01877 Missing explicit accessrule for server collector

  • 解决:

This is just part of the new security in GoldenGate 12.2. As mentioned above by Vinodh you should add the ACCESSRULE parameter to the mgr.prm file. This is telling the Manager what systems can have access to the manager in order to start a task or a collector. The minimum required to make this message go away isACCESSRULE, PROG SERVER, ALLOWIt is designed to allow you to specify specific access to specific machines on the network. This provides an additional layer of security for the manager process. I see this message regardless of whether the systems are in the same or different subnets.

2. extract启动

1)ERROR OGG-02912

  • ERROR OGG-02912 Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later。

20XX-05-31 00:33:17  INFO OGG-01971 The previous message, 'INFO OGG-02776', repeated 1 times. Source Context :  SourceModule : [ggdb.ora.ddl]  SourceID : [../gglib/ggdbora/ddlora.c]  SourceMethod : [metadata_from_logminer]  SourceLine : [1267]  ThreadBacktrace : [16] elements                          : [/opt/oragate/goldengate/libgglog.so(CMessageContext::AddThreadContext())]                          : [/opt/oragate/goldengate/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]                          : [/opt/oragate/goldengate/libgglog.so(_MSG_(CSourceContext*, int, CMessageFactory::MessageDisposition))]                          : [/opt/oragate/goldengate/extract()]                          : [/opt/oragate/goldengate/extract()]                          : [/opt/oragate/goldengate/extract(RedoAPI::createInstance(ggs::gglib::ggdatasource::DataSource*, ggs::gglib::ggapp::ReplicationContext*))]                          : [/opt/oragate/goldengate/extract(ggs::er::OraTranLogDataSource::setup())]                          : [/opt/oragate/goldengate/extract(ggs::gglib::ggapp::ReplicationContext::establishStartPoints(char, ggs::gglib::ggdatasource::DataSourceParams const&))]                          : [/opt/oragate/goldengate/extract(ggs::gglib::ggapp::ReplicationContext::initializeDataSources(ggs::gglib::ggdatasource::DataSourceParams&))]                          : [/opt/oragate/goldengate/extract()]                          : [/opt/oragate/goldengate/extract(ggs::gglib::MultiThreading::MainThread::ExecMain())]                          : [/opt/oragate/goldengate/extract(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]                          : [/opt/oragate/goldengate/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]                          : [/opt/oragate/goldengate/extract(main)]                          : [/lib64/libc.so.6(__libc_start_main)]                          : [/opt/oragate/goldengate/extract()] 20XX-05-31 00:33:17  ERROR OGG-02912 Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later. 20XX-05-31 00:33:17  ERROR OGG-01668 PROCESS ABENDING. 

  • 执行sql:

[oracle@VUSDPDB-1 goldengate]$ pwd/opt/oragate/goldengate[oracle@VUSDPDB-1 goldengate]$ ll prvtlmpgprvtlmpg.plb prvtlmpg_uninstall.sql[oracle@VUSDPDB-1 goldengate]$ ll prvtlmpg.plb-rwxr-xr-x 1 oracle oinstall 9487 May 27  2015 prvtlmpg.plb[oracle@VUSDPDB-1 goldengate]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun May 31 00:39:46 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> @prvtlmpg.plb Oracle GoldenGate Workaround prvtlmpgThis script provides a temporary workaround for bug 17030189.It is strongly recommended that you apply the official OraclePatch for bug 17030189 from My Oracle Support instead of usingthis workaround.This script must be executed in the mining database of IntegratedCapture. You will be prompted for the username of the mining user.Use a double quoted identifier if the username is case sensitiveor contains special characters. In a CDB environment, this scriptmust be executed from the CDB$ROOT container and the mining usermust be a common user. =========================== WARNING ==========================You MUST stop all Integrated Captures that belong to this mininguser before proceeding!================================================================ Enter Integrated Capture mining user: goldengate ## 数据库里的ogg运行用户Installing workaround...No errors.No errors.No errors.Installation completed.SQL>SQL>

2)OGG-01668

  • 错误信息:

20XX-05-31 00:59:54  ERROR   OGG-25127  Received an error reply requesting a graceful shutdown. (Reply received is 'GSOutput file /data/goldengate/trail/us000000 is not in any allowed output directories.'.).20XX-05-31 00:59:54  ERROR   OGG-01668  PROCESS ABENDING.

  • 处理办法:

配置允许的文件路径:

EDIT PARAMS ./GLOBALSALLOWOUTPUTDIR /data/goldengate/trail

 


 

不支持的对象

 

  1. dblink

    GoldenGate可以通过复制源表支持对于同义词或者DBLink的复制。由于对于这些对象本身的操作发生于其所链接的源数据库对象,数据库日志中并不记录对这些链接目标对象的操作,因此GoldenGate不复制对同义词或者DBLink本身的操作,但这些操作会应用在源表上并产生日志,因此可以通过复制源表复制变化。

  2. create job 不支持复制。

  3. create trigger 是可以复制的,且enable状态,所以必须手工设置为disable或replicat参数(DBOPTIONS SUPPRESSTRIGGERS)。

  4. create tablespace 可以复制,支持路径转换,eg: DDLSUBST 'SREDATADG' with 'TARDATADG'。

  5. cast语句(create table as select * from cat),按本地数据执行,因此可能主库和备库数据不一致。

  6. flashback table * to scn **** -- 可以支持复制。

  7. flashback table * to before drop -- 不支持复制。

  8. 远程雾化视图,需要网络连通,--涉及到的dblink需要手工创建 。



END



本文作者:张雷员

本文来源:IT那活儿(上海新炬王翦团队)

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论