OGG 新增同步用户


OGG源端和目标端已经部署完成并正常同步,现添加一个用户进行同步。

一、OGG源端操作

mgr进程

不用动

[oracle@ptyyzxk dirprm]$ more mgr.prm 
port 7809
DYNAMICPORTLIST 7800-7909
purgeoldextracts /oradata/oggdata/*,usecheckpoints, minkeepdays 7
lagreporthours 1

extract进程

编辑参数文件,添加table CEN_ORIGINAL_V20.*;

edit params extga

extract extga
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
SETENV (ORACLE_SID=appl)
userid ogg, password Sys#1007_gI
fetchoptions nousesnapshot
--TRANLOGOPTIONS DBLOGREADER
gettruncates
exttrail /oradata/oggdata/ga
table AGREEMENT.*;
table CEN_SYS.*;
table RHIN.*;
table RHIN_BAK.*;
table RHIN_BUFFER.*;
table CEN_ORIGINAL_V20.*;

pump进程

编辑参数文件

edit params  dpga

extract dpga
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
rmthost 172.17.112.112, mgrport 7809
rmttrail /oggdata/dirdat/ga
passthru
dynamicresolution
table AGREEMENT.*;
table CEN_SYS.*;
table RHIN.*;
table RHIN_BAK.*;
table RHIN_BUFFER.*;

添加trandata

GGSCI (ptyyzxk) 2> dblogin userid ogg, password ******

GGSCI (ptyyzxk) 2> add trandata CEN_ORIGINAL_V20.*

# 查看trandata信息
GGSCI (ptyyzxk as ogg@appl) 4>  info trandata CEN_ORIGINAL_V20.*

重启进程

stop extract extga

stop extract dpga

start extract extga

start extract dpga

二、expdp导出

查询scn号,根据scn号导出,后续replicat进行也需要根据scn启动

select to_char(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER) from dual;
18897681845339

导出:源端磁盘不够了,通过network_link从目标端执行导出。
注:在目标端建立dblink指向源端。
然后再目标端执行expdp,通过network_link就可以导出源库内容到目标端了。

vi CEN_ORIGINAL_V20.par

network_link=link_appl
logfile=CEN_ORIGINAL_V20.log
directory=dump_dir
schemas=CEN_ORIGINAL_V20
cluster=n
parallel=4
dumpfile=CEN_ORIGINAL_V20_%U.dmp
compression=ALL
flashback_scn=18897681845339 
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
nohup expdp ogg/Sys#1007_gI@172.17.112.112:1521/ptzxk parfile=/oggdata/datadump/CEN_ORIGINAL_V20.par &

三、OGG目标端操作

ggsci中新建参数文件,文件名和后面的进程名保持一致,名字不能太长,10个字符限制?

edit params REP_ORI

replicat REP_ORI
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
SETENV (ORACLE_SID=ptzxk1)
userid ogg, password Sys#1007_gI
numfiles 4000
assumetargetdefs
discardfile /oggdata/dirdat/rep_temp.dsc,append,megabytes 1024
ALLOWNOOPUPDATES --允许执行无实际变化的update
map CEN_ORIGINAL_V20.*, target CEN_ORIGINAL_V20.*;

查看Checkpoint table信息:
Checkpoint table有两种类型:主表和辅助表。主表根据用户定义名称来来创建,辅助表会自动创建。辅助表就是transaction table。名称是checkpoint table名上加_LOX

可以通过查看ogg用户的user_tables查看表名。

ogg.CHECKPOINT

创建replicat进程

dblogin userid ogg, password *****

add REPLICAT REP_ORI exttrail /oggdata/dirdat/ga,BEGIN NOW,checkpointtable ogg.CHECKPOINT

四、执行导入

注意:需要先创建replicat进行,再执行导入。

虽然参数指定了remap_tablespace,但创建用户的时候还是会找原始的表空间。
需要手动创建。

vi IMP_CEN_ORIGINAL_V20.par
directory=dump_dir
dumpfile=CEN_ORIGINAL_V20_%U.dmp
logfile=IMP_CEN_ORIGINAL_V20.log
parallel=4
remap_tablespace=%:CEN_ORIGINAL
TRANSFORM=DISABLE_ARCHIVE_LOGGING:y

手工创建表空间。

create tablespace CEN_ORIGINAL_V20 DATAFILE '+DATA/PTZXK/DATAFILE/CEN_ORIGINAL_V20_01.dbf' size 1g autoextend on next 100m;

执行导入

nohup impdp ogg/Sys#1007_gI@172.17.112.112:1521/ptzxk parfile=/oggdata/datadump/IMP_CEN_ORIGINAL_V20.par &

五、启动replicat

根据前面导出的scn号启动replicat进程。

start REP_ORI,aftercsn 18897681845339

如果是先导入,后创建的replica进程,则重置下:

alter replicat REP_ORI, extseqno 0
alter replicat REP_ORI, extrba 0

info all 查看同步情况。
至此,同步完成。

合并replicat进程

这时候目标端存在多个replicat进程。合并的话可以等待2个进程的seqno和RBA一致后。
1.修改REPV20参数文件,把REP_ORI中同步的用户添加进去。
2.停止2个replicat进程。
3.启动REPV20进程。
4.同步正常后,删除REP_ORI进程。 delete REPLICAT REP_ORI

GGSCI (ptzxk01) 5> info REPLICAT REP_ORI

REPLICAT   REP_ORI   Last Started 2024-03-19 16:49   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:03 ago)
Process ID           21487
Log Read Checkpoint  File /oggdata/dirdat/ga000000661
                     2024-03-19 16:50:06.458779  RBA 318491029


GGSCI (ptzxk01) 6> info REPLICAT REPV20

REPLICAT   REPV20    Last Started 2024-03-19 11:25   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:09 ago)
Process ID           20526
Log Read Checkpoint  File /oggdata/dirdat/ga000000661
                     2024-03-19 16:50:06.458779  RBA 318491029
GGSCI (ptzxk01) 16> delete REPLICAT REP_ORI
Could not delete DB checkpoint for REPLICAT REP_ORI (Database login required to delete database checkpoint)

GGSCI (ptzxk01) 17> dblogin userid ogg, password Sys#1007_gI
Successfully logged into database.

GGSCI (ptzxk01 as ogg@ptzxk1) 18> delete REPLICAT REP_ORI
Deleted REPLICAT REP_ORI.

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值