oracle12c在windows下按照默认安装步骤进行安装的,创建了cdb交orcl,直接将orcl作为作为数据库使用,这个是对方的生产库,不可能进行更改。
用ogg对上述orcl进行数据采集,orcl作为源端,无法执行add trandata命令具体操作截图如下:
请问,用ogg对直接在cdb下实例中的表数据进行数据采集,应该怎样配置?
用ogg对上述orcl进行数据采集,orcl作为源端,无法执行add trandata命令具体操作截图如下:
请问,用ogg对直接在cdb下实例中的表数据进行数据采集,应该怎样配置?
抽取模式只能是integrated(集成)模式,不支持claasic capture传统方式捕获;
因为要使用integrated extract,因此,需要能访问log mining server,而这个只能从cdb$root中访问;
源端要使用common user,即c##ogg这种用户来访问源端DB,这样能访问DB的redo log & all pdbs。
在GGSCI或参数文件中,可以使用pdb.schema.table来访问具体的表或序列;
可以在参数文件 中使用sourceCatalog参数,指定一个PDB,后面的参数中只需要schema.table即可;
目标端每个pdb要有一个replicat进程,即一个replicat进程只能投递到一个PDB,不能投递到多个。
源端OGG用户需要赋权:dbms_goldengate_auth.grant_admin_privilege(‘C##GGADMIN’,container=>‘all’),同时建议将ogg的用户设置赋权为:grant dba to c##ogg container=all;
源端DB除了以前要打开归档, force logging, 最小附加日志,可能还需要打开一个开关:alter system set enable_goldengate_replication=true; extract示例: EXTRACT ex1 SETENV (ORACLE_SID='oradb')
userid c##ogg@oradb, password ogg EXTTRAIL ./dirdat/lt
TABLE pdb1.schema1.table*;
SOURCECATALOG pdb2
TABLE schema2.table*;
TABLE schema3.table*;
SOURCECATALOG pdb3
TABLE schema4.table*;
add extract之后,还需要register extract ex12c database container(pdb1, pdb2, pdb3)
pump示例:
EXTRACT dp1
SETENV (ORACLE_SID='oradb')
userid c##ogg@oradb, password ogg
RMTHOST orasql-test, MGRPORT 7809
RMTTRAIL ./dirdat/rt
TABLE pdb1.schema1.table*;
SOURCECATALOG pdb2
TABLE schema2.table*;
TABLE schema3.table*;
SOURCECATALOG pdb3
TABLE schema4.table*;
replicat示例:REPLICAT rep1 SETENV (ORACLE_SID='condb2') DBOPTIONS INTEGRATEDPARAMS(parallelism 6) USERID C##ogg@tgt_pdb1, PASSWORD welcome1 ASSUMETARGETDEFSMAP pdb1.schema1.table*, target schema1.table*;MAP pdb3.schema4.table*, target schema1.table*;sourceCatalogMAP schema2.table*, target schema1.table*;MAP schema3.table*, target schema1.table*;
library/file [JOURNAL library/journal]}
[, NOSCHEDULINGCOLS | ALLCOLS]
[, COLS (columns)]
[, INCLUDELONG | EXCLUDELONG]
[, LOBSNEVER | LOBSALWAYS | LOBSIFCHANGED | LOBSALWAYSNOINDEX]
[, NOKEY]
看了您下边的操作,但是源端的数据并不在PDB中,而是直接存在CDB中,常规方式无法进行数据同步