在之前,最好对 所需要的数据统计分析一下:
--收集scott用户下面的统计信息EXEC DBMS_STATS.gather_schema_stats('SCOTT');
==================ogg 基于expdp/impdp初始化=================
四, exp/imp or expdp/impdp 初始化:
--------------------------------------------
一、在源端导出数据
SQL>select to_char(current_scn) from v$database; 查询当前scn
2719112586
导出数据
[oracle@yyghdb odc]$expdp odc/odc directory=odc_dir schemas=BOOKPLAT dumpfile=BOOKPLAT2.dmp flashback_scn=2719112586 logfile=BOOKP.log dblink=?
------------------------------------------
1 利用exp/imp 初始化数据 (在之前,确保target 端的 mgr 进程启动)
使用exp/imp(当然expdp/impdp同理)进行数据初始化的架构图和GoldeGate配置方法和使用RMAN是一致的,这里不再赘述,这里读者需要注意以下几个步骤
导出前,查看源端获得当前的scn号
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
4 92124
2 确认Extract进程已经启动 (source 端)
GGSCI (rac1) 45> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EORA 00:00:00 00:00:00
EXTRACT RUNNING PUMP_1
3 导出数据
$ exp system/oracle file=/home/oracle/hr_table.dmp triggers=n flashback_scn=480494 owner=hr
Export: Release 10.2.0.1.0 - Production on Sun Jul 22 11:16:15 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
......省略若干行......
. exporting statistics
Export terminated successfully without warnings.
4 复制到目标端
$scp hr_table.dmp 192.168.1.112:/home/oracle/
确认复制进程未启动 (target)
GGSCI (rac2) 15> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT STOPPED PORA 00:00:00 00:00:03
5 导入数据
$ imp system/oracle file=hr_table.dmp fromuser=hr touser=hr
Import: Release 10.2.0.1.0 - Production on Sun Jul 22 11:22:04 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
......省略若干行......
"END secure_dml;"
About to enable constraints...
Import terminated successfully with warnings.
有报错,但和本次数据导入无关,忽略
注意:如果数据量较大,则会造成大事务,且导入执行很长时间。如果imp操作被中断,这个中断将导致这个大事物的回滚,回滚会占用更多时间影响启动复制进程的时间,这是读者在日常工作中注意的问题
6 可以禁用一些约束(target)
SQL >Select trigger_name from dba_triggers where owner='BOOKPLAT' and status='ENABLED';
查询同步用户触发器
alter trigger BOOKPLAT.TRIG_DUP disable;
禁用该触发器
移除JOB:
select job,log_user,schema_user from dba_jobs;
exec dbms_ijob.remove(<that job id>);
select * from dba_scheduler_jobs;
禁用:
DBMS_SCHEDULER.DISABLE('job1, job2, job3, sys.jobclass1, sys.jobclass2');
7 启动pora进程
GGSCI (rac2) 89> start pora,aftercsn 492124
Sending START request to MANAGER ...
REPLICAT PORA starting
GGSCI (rac2) 90> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING PORA 00:00:00 00:00:00
GGSCI (rac2) 91> send replicat pora,report
Sending REPORT request to REPLICAT PORA ...
Request processed.
验证数据一致性
源端
SQL> select count(*) from testgg
COUNT(*)
----------
1013
目标端
SQL> select count(*) from testgg
COUNT(*)
----------
1013
注意: 如果只是是某些表由于各种原因造成两边数据不一致,需要重新进行同步, 则可以在map参数中增加filter选项解决 ,如
map hr.testgg, target hr.testgg, filter ( @GETENV ("TRANSACTION", "CSN") > 492124) ;
设置复制进程位置,并启动
查看 dirdat下trail 文件日期,找出数据导出时间前的trail文件
ls -rtl
total 3743578
-rw-rw-rw- 1 oracle oinstall 99999967 Apr 28 03:01 ws000686
-rw-rw-rw- 1 oracle oinstall 99999725 Apr 28 04:37 ws000687
-rw-rw-rw- 1 oracle oinstall 99999993 Apr 28 15:01 ws000688
设置复制进程位置,让复制进程从000687开始复制
alter ws_repc extseqno 000687 extrba 0
alter ws_rep4 extseqno 000687 extrba 0
用atcsn启动复制进程
start ws_rep4 atcsn 2719112586
start ws_repc atcsn 2719112586
查看进程状态,同步完成
========================完结 ====================
————————————————
版权声明:本文为CSDN博主「大道至简、赢在江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lmocm/article/details/42869413