命名规范: local==> l remote==> r extract==> x data pump==> p ------------------------------------------------------源数据库: 目标数据库:IP: 192.168.88.118 192.168.88.113 Hostname: class118 class113SID:orcl vmsys------------------------------------------------------ ##《《源数据库orcl》》 Extract:将重做日志信息抽取存放到本地exttrail文件中 1.定义本地参数文件 GGSCI(Hostname) 1>edit param lxjack extract lxjack ------------------------------------------------ -- local extract for schema -- Author: vmsysjack -- Created Date: 2020-02-10 ------------------------------------------------ SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) #和源系统一致select * from v$nls_parameters where parameters like '%NLS_CHARACTERSET%'; USERID ggs@orcl,password ggs #定义连接抽取源的用户名和密码以及tns ExtTrail dirdat/sp #定义抽取重做日志信息存储地点;将会在$GG_HOME/dirdat/下生成sp开头文件 Table schema.tablename; #定义需要抽取的“模式.表名” 注意:当密码使用加密方式的时候,需要使用使用encryptkey default 例如: 1. 生成密文 encrypt password ggs encryptkey default 2.将第一步生成的密文应用 userid ggs,password AAAAAAAAAAAAAAAAACCCCCSGSADGSDGWOXCJKLSJL,encryptkey default 2. 创建extract进程 GGSCI(HOSTname) 1> add extract lxjack,tranlog,begin now GGSCI(Hostname) 2> add exttrail dirdat/sp,extract lxjack,megabytes 100 #添加抽取源文件位置和大小 3. 启动extract进程 GGSCI(Hostname) 3> start extract lxjack 4. 验证extract进程 GGSCI(Hostname) 4> info extract lxjack # l=>local; x=>extract; GGSCI(Hostname) 5> info extract lxjack,showch GGSCI(Hostname) 5> info extract lxjack,detail 5. 验证抽取数据 GGSCI(Hostname) 5> stats extract lxjack #再重新开启一个终端,执行DML语句 Data Pump: 本质上是一个Extract Group,需要参数文件,参数文件名字和这个extract group的组名一样。 参数中需要配置SourceTrail文件在哪里,以及发送的目标系统在哪里 1.定义参数文件 GGSCI(Hostname) 1>edit param lpjack # l=>local; p=>pump extract lpjack ------------------------------------------- -- Data Pump extract for schema.tablename -- Author: vmsysjack -- Created Date: 2020-02-10 -------------------------------------------- PassThru #透传模式,源表和目标数据库表完全一样 RmtHost 目标主机ip地址,MgrPort 目标主机mgr进程端口 #定义连接远端主机和端口 RmtTrail dirdat/rp #定义Remote Trail文件的文件名前缀,r=>remote;表示传递到远端的位置 Table schema.tablename; #传递的表名 2. 创建Data Pump进程 GGSCI(Host) 1> add extract lpjack,exttrailsource dirdat/sp #定义DataPump进程名,以及需要抽取的源trail文件位置 GGSCI(Host) 2> add rmttrail dirdat/rp,extract lpjack,megabytes 100 #定义增加远程trail文件位置和远程trail文件大小 3. 启动Data Pump进程 GGSCI(Host) 3> start extract lpjack 4. 验证Data Pump进程 GGSCI(Host) 4> info extract lpjack 5. 统计抽取进程数据 GGSCI(Host) 5> stats extract lpjack ##《《目标数据库vmsys》》 1.创建全局参数文件,登录目标数据库,创建检查点表 GGSCI(Hostname) 1> edit param ./GLOBALS #需要执行GGSCI,在GG_HOME目录下 checkpointtable ggt.chkpt GGSCI(Hostname) 2> dblogin userid ggt@vmsys,password ggt GGSCI(Hostname) 3> add checkpointtable GGSCI(Hostname) 4> info checkpointtable 2. 从数据库层面检查检查点文件 SQL> conn ggt/ggt #ggt为目标数据库创建的用户,即目标数据库登录GGSCI使用的用户 SQL> desc chkpt SQL> desc chkpt_lox Replicat进程 1. 定义replicat参数文件 GGSCI(Hostname) 1> edit param rjack #r=>replicat replicat rjack -------------------------------------------- -- replicat for jack.a -- author: vmsysjack -- Created Date: 2020-02-10 -------------------------------------------- SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) USERID ggt@vmsys,password ggt HandleCollisions #处理冲突的数据,只能在数据初始化期间使用,后续不能使用这个处理冲突 AssumeTargetDefs #源数据表与目标数据库定义相同 Map jack.*,Target jack.*; 2. 创建replicat进程 GGSCI(Hostname) 1> add replicat rjack,exttrail dirdat/rp 3. 启动replicat进程 GGSCI(Hostname) 2> start replicat rjack 4. 查看并验证replicat GGSCI(Hostname) 3> info replicat rjack GGSCI(Hostname) 4> stats replicat rjack