===========RMAN 在线初始化 =============
三: oracle 的Rman 在线初始化:
rman在线初始化是使用Rman工具备份source端的数据库,然后在target端恢复到一个SCN. 从这个SCN以后启动Replicat进程。
这种方法不需要处理冲突。
A : source, target 端 管理进程 mgr 开启, source端 添加trandata 表
B : source extract 所有进程(extra,pump) 开启。
C : source db rman 备份
D : 拷贝,及 target 端 恢复 (recover 之后,查看一下 scn 号,)
E:
target DB 端 recover 之后,(查看SCN 号 -->确保数据不丢失)
F : target DB resetlogs OPEN INSTANCE
G: target db 参数调账配置( disabled contraints)
H: target ogg 添加 checkpoint表( ./Globals),并dblogin 登录
I: 添加target replicat 进程参数
J: 启动进程
eg: source, target 端 管理进程 mgr 开启:
一:
mysql1 -> source 端
mysql2 -> target 端
source:mgr进程
添加表级别的transdata
GGSCI (source) > dblogin userid ogg, password ogg
GGSCI (source) > add trandata scott.* --(可以使用'*' 号 模糊匹配表)
MGR-参数
GGSCI (dominic.mysql1 as
ogg@mysql1) 166> view params mgr
PORT 7809
dynamicportlist 7810-7850
autorestart extract *, waitminutes 2, retries 5
lagreporthours 1
laginfominutes 3
lagcriticalminutes 5
purgeoldextracts /dba/ogg/dirdat/st*,usecheckpoints,minkeepdays 3
PORT 7809
dynamicportlist 7810-7850
autorestart extract *, waitminutes 2, retries 5
lagreporthours 1
laginfominutes 3
lagcriticalminutes 5
purgeoldextracts /dba/ogg/dirdat/st*,usecheckpoints,minkeepdays 3
GGSCI > start mgr
GGSCI > info all
target:mgr进程
GGSCI (dominic.mysql2 as
ogg@mysql2) 35> view params mgr
PORT 7809
dynamicportlist 7810-7850
autostart er *
autorestart extract *,waitminutes 2, retries 5
lagreporthours 1
laginfominutes 3
lagcriticalminutes 5
purgeoldextracts /dba/ogg/tt*,usecheckpoints,minkeepdays 3
PORT 7809
dynamicportlist 7810-7850
autostart er *
autorestart extract *,waitminutes 2, retries 5
lagreporthours 1
laginfominutes 3
lagcriticalminutes 5
purgeoldextracts /dba/ogg/tt*,usecheckpoints,minkeepdays 3
GGSCI > start mgr
GGSCI > info all
二:
source: 添加extract 进程(extrail, pump)
GGSCI (dominic.mysql1) 6> view params extra_1
extract
extra_1
dynamicresolution
userid ogg,password ogg
rmthost dominic.mysql2,mgrport 7809,compress
-->指定target 端 IP, PORT
reportcount every 1 minutes,rate
exttrail /dba/ogg/dirdat/st
--> source端存放的目录
ddl include all
ddloptions addtrandata, report
table scott.*;
------------------------------------
添加Extract 进程:
GGSCI (source) > add extract extra_1, tranlog, begin now (第二次使用alter 。。。)
添加本地trail 文件,Extract组负责写这部分文件,pump进程负责读它。
GGSCI (source) > add exttrail /dba/ogg/dirdat/st , extract extra_1
-------------------------------------
GGSCI (dominic.mysql1) 7> view params pump_1
extract
pump_1
rmthost dominic.mysql2,mgrport 7809,compress
-->指定target 端 IP, PORT
passthru
rmttrail /dba/ogg/dirdat/tt
--> target 端的目录
dynamicresolution
table scott.*;
--------------------------------------
在GGSCI 中添加pump 进程:
GGSCI (source) > add extract pump_1,exttrailsource /dba/app/ogg/dirdat/et
GGSCI(source) > add rmttrail /dba/ogg/dirdat/st, extract pump_1 --投递到目标端对应的目录。
--------------------------------------
三:
source : oracel db RMAN 备份
RMAN> run {
2> allocate channel ch1 type disk maxpiecesize 1g;
3> allocate channel ch2 type disk maxpiecesize 1g;
4> backup database tag 'full_ogg_db' format '/dba/app/oracle/backup/%d_full_%T_%U.bak';
5> sql 'alter system archive log current';
6> backup archivelog all tag 'full_ogg_log' format '/dba/app/oracle/backup/%d_arch_%T_%U.bak';
7 >backup current controlfile tag 'full_control' format ' '/dba/app/oracle/backup/%d_ctl';
8> release channel ch1;
9> release channel ch2;
10> }
......约.....
四: target端 oracle db Rman 恢复
......约.....
mount db, recover 之后, 查询scn 号。
五: resetlogs 大家数据库,同时 通过dba_constraints 禁用掉一些 约束。(R) 见上脚本。
六: target 端添加 checkpoint table :
GGSCI (target) > edit params ./GLOBALS
checkpointtable ogg.checktable --> ogg.checktable 为ogg 用户下定义 一张checktable 表名
GGSCI (target) > dblogin userid ogg,password ogg
GGSCI (target)>add checkpointtable ogg.checktable
-----------------------------------------------------------
SQL> conn ogg/ogg
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
CHECKTABLE TABLE
CHECKTABLE_LOX TABLE
-------------------------------------------------------------
七 : target端 ,配置replicat 进程:
GGSCI (dominic.mysql2 as
ogg@mysql1) 44> view params rep_1
replicat rep_1
userid ogg,password ogg
assumetargetdefs
reperror default,discard
discardfile /dba/ogg/dirrpt/rep_1.dsc, append , megabytes 50
dynamicresolution
APPLYNOOPUPDATES --> 注意这个参数
ddl include mapped
ddloptions report
map scott.*,target scott.*;
replicat rep_1
userid ogg,password ogg
assumetargetdefs
reperror default,discard
discardfile /dba/ogg/dirrpt/rep_1.dsc, append , megabytes 50
dynamicresolution
APPLYNOOPUPDATES --> 注意这个参数
ddl include mapped
ddloptions report
map scott.*,target scott.*;
打开 进程: replicat 通过 aftercsn scn (之前的 scn 号)
GGSCI > start rep_1 ,aftercsn xxxxx
八 : 测试
九 : 添加DDL 同步:
--> source 端添加 ./GLOBALS 参数:
GGSCI > edit params ./GLOBALS
ggschema ogg --GGSCHEMA <ddl_schema> --goldengate 用户
-->运行脚本: --约--
--> 停止 source extract 所有进程, 并添加参数(extrac下,pump 不需要):
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA, REPORT
--> 停止 target 端 replicat 进程, 添加参数
DDL INCLUDE MAPPED
DDLOPTIONS REPORT
--> 重启 source,target j进程
-->测试: