|
在12C多租户中抽取:
1.一个 CDB包含多个PDB,源端部署的一个extract可访问所有pdb redo,理论上不需要每个pdb单独配置extract.
2.抽取模式只能是integrated(集成)模式,不支持claasic capture传统方式捕获;
3.因为要使用integrated extract,因此,需要能访问log mining server,而这个只能从cdb$root中访问;
4.端要使用common user,即c##ogg这种用户来访问源端DB,这样能访问DB的redo log & all pdbs。
5.在GGSCI或参数文件中,可以使用pdb.schema.table来访问具体的表或序列;
6.可以在参数文件 中使用sourceCatalog参数,指定一个PDB,后面的参数中只需要schema.table即可;
7.目标端每个pdb要有一个replicat进程,即一个replicat进程只能投递到一个PDB,不能投递到多个。
8.源端DB除了以前要打开归档, force logging, 最小附加日志,可能还需要打开一个开关:alter system set enable_goldengate_replication=true;
源端创建创建用户:
create user c##ogg identified by ogg container=all;
grant connect,resource,unlimitedtablespace to c##ogg container=all;
grant dba to c##ogg container=all;
开启OGG日志应用参数(源端&目标端):
Alter system set enable_goldengate_replication=true;
管理进程(源端&目标端):
cd dirprm
vi mgr.prm
PORT 7809
DYNAMICPORTLIST 7810-7939
PURGEOLDEXTRACTS /oracle/app/oggdirdat/*,USECHECKPOINTS, MINKEEPHOURS 2
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
启动管理进程(源端&目标端):
ggsci
start mgr
源端配置:
抽取进程:
cd dirprm
vi extnd1.prm
EXTRACT extnd1
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/oracle/app/oracle/product/12.2.0/db")
SETENV(ORACLE_SID = "orcl")
USERID c##ogg@orcl,PASSWORD ogg
EXTTRAIL /oracle/app/ogg/dirdat/nd
table pdb1.test1.*;
传输进程:
cd dirprm
vi dpend1.prm
EXTRACT dpend1
SETENV (ORACLE_SID='orcl')
userid c##ogg@orcl, password ogg
RMTHOST 192.168.133.121, MGRPORT 7809
RMTTRAIL /oracle/app/ogg/dirdat/nd
TABLE pdb1.test1.*;
配置和启动抽取进程&传输进程:
add extract extnd1,tranlog,integrated begin now
add exttrail /oracle/app/ogg/dirdat/nd, extract extnd1, megabytes 200
add extract dpend1, exttrailsource /oracle/app/ogg/dirdat/nd
add rmttrail /oracle/app/ogg/dirdat/nd, extract dpend1, megabytes 200
start extnd1
start dpend1
目标端配置复制进程:
vi rep1.prm
REPLICAT rep1
SETENV (ORACLE_SID='orcl')
USERID c##ogg@pdb1, PASSWORD ogg
ASSUMETARGETDEFS
MAP pdb1.test1.*, target test1.*;
ggsci
dblogin userid c##ogg@pdb1,password ogg
add checkpointtable c##ogg.checkpoint
add replicat rep1, exttrail /oracle/app/ogg/dirdat/nd,checkpointtable c##ogg.checkpoint
start rep1
|
|