goldengate 12c 針對oracle 12c配置的主要變化

margiex發表於2014-10-23

由於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

ASSUMETARGETDEFS

MAP pdb1.schema1.table*, target schema1.table*;

MAP pdb3.schema4.table*, target schema1.table*;

sourceCatalog

MAP schema2.table*, target schema1.table*;

MAP schema3.table*, target schema1.table*;

 




 

 

相關文章