oracle12c在windows下按照默认安装步骤进行安装的,创建了cdb交orcl,直接将orcl作为作为数据库使用,这个是对方的生产库,不可能进行更改。
      
        用ogg对上述orcl进行数据采集,orcl作为源端,无法执行add trandata命令具体操作截图如下:
      
       请问,用ogg对直接在cdb下实例中的表数据进行数据采集,应该怎样配置?

解决方案 »

  1.   

    由于oracle 12c已经是多租户架构,在使用OGG同步的时候,需要考虑下面一些情况一个 CDB包含多个PDB,源端部署的一个extract可访问所有pdb redo,理论上不需要每个pdb单独配置extract.
    抽取模式只能是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*;
      

  2.   

    ADD TRANDATA {[container.]owner.table | schema.table [JOURNAL library/journal] |
       library/file [JOURNAL library/journal]}
    [, NOSCHEDULINGCOLS | ALLCOLS]
    [, COLS (columns)]
    [, INCLUDELONG | EXCLUDELONG]
    [, LOBSNEVER | LOBSALWAYS | LOBSIFCHANGED | LOBSALWAYSNOINDEX]
    [, NOKEY] 
      

  3.   


    看了您下边的操作,但是源端的数据并不在PDB中,而是直接存在CDB中,常规方式无法进行数据同步