暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle GoldenGate OGG新增表操作步骤

源端操作

1、添加附加日志
登陆源端服务器 进入goldengate部署目录 运行下面命令检查附加日志 dblogin userid ogg,password ogg add trandata test.enmo info trandata test.enmo -- 检查是否添加成功,显示enabled才正确
2、修改源端抽取进程参数,重启抽取进程
进入goldengate部署目录 ./ggsci edit param e_ext table test.enmo;(注意末尾的分号) stop e_ext start e_ext
3、修改源端投递进程,重启投递进程
edit param p_pump table test.test;(注意末尾的分号) stop p_pump start p_pump
4、登陆源端数据库查询DIRECTORY
select * from dba_directories; 将查询结果保留等待后续expdp命令使用 如果没有创建的话需要手动创建 create directory DPDATA1 as '指定一个路径用于存在dmp文件'; 赋予权限 grant read,write on directory DPDATA1 to public; --创建成功可以查看 SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- --------------- -------------------------------------------------- SYS GGS_DDL_TRACE /u01/app/oracle/diag/rdbms/testdb/testdb1/trace SYS DPDATA1 /min_ogg/ SYS XMLDIR /u01/app/oracle/product/11.2.0.4/db_1/rdbms/xml SYS ORACLE_OCM_CONF /u01/app/oracle/product/11.2.0.4/db_1/ccr/hosts/ra IG_DIR c1/state SYS DATA_PUMP_DIR /u01/app/oracle/product/11.2.0.4/db_1/rdbms/log/ SYS ORACLE_OCM_CONF /u01/app/oracle/product/11.2.0.4/db_1/ccr/state IG_DIR2 6 rows selected.
5、目的端停止入库进程
该操作需要在导出dmp之前,源端查询scn号之前
stop r_rep
6、源端查看当前scn号,源端导出DMP
SQL> select to_char(current_scn) from v$database;

TO_CHAR(CURRENT_SCN)

3327525

SQL>

按SCN号导出DMP
我这面选择使用了dba账号导出

expdp  "'/ as sysdba'" directory=DPDATA1  parallel=1 cluster=n compression=ALL  FLASHBACK_SCN=3327525 dumpfile=ogg_a_2_%U.dmp logfile=migrate_ogg_a_2.log tables=test.enmo
如果需要开启并行导入可以添加parallel=4
如果是RAC环境导出需添加CLUSTER=no参数

目的端操作

7、目的端查询DIRECTORY
SELECT * FROM DBA_DIRECTORIES; 将查询结果保留等待后续impdp命令使用 如果没有创建的话需要手动创建 create directory DPDATA1 as '指定一个路径用于存在dmp文件'; 赋予权限 grant read,write on directory DPDATA1 to public; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- ------------------------------ -------------------------------------------------- SYS ORACLE_OCM_CONFIG_DIR2 /oracle/app/oracle/product/11.2.0.4/db_1/ccr/state SYS DPDATA1 /dpdata/dump/ SYS XMLDIR /ade/b/2125410156/oracle/rdbms/xml SYS GGS_DDL_TRACE /oracle/app/oracle/diag/rdbms/orcl/orcl/trace SYS DATA_PUMP_DIR /oracle/app/oracle/admin/orcl/dpdump/ SYS ORACLE_OCM_CONFIG_DIR /oracle/app/oracle/product/11.2.0.4/db_1/ccr/hosts /ogg/state
8、待导出完毕后拷贝dmp到目的端服务器上
scp  源端IP:/DIRECTORY目录/expdp_*.dmp 目的端DIRECTORY目录/
导出完毕后删除源端DMP文件
cd DIRECTORY目录/
rm –rf expdp_*.dmp
9、目标端impdp导入
导入dmp到目的端数据库中
impdp  "'/ as sysdba'" directory=DPDATA1  parallel=1 cluster=n  dumpfile= ogg_a_2_%U.dmp   logfile=migrate_ogg_a_2.log tables=test.enmo
如果需要开启并行导入可以添加parallel=4
如果是RAC环境导出需添加CLUSTER=no参数
因为目的端没有要求变更表空间与用户,所以不需要指定
如果用户,表空间不一致,可以参考下面的参数
REMAP_SCHEMA=schema1:schema1--用于指定源端,目的端用户
REMAP_TABLESPACE=tablespace1:tablespace2--用户指定源端,目的端表空间,多个表空间用逗号隔开
10、 导入完毕后修改目的端入库参数
cd goldengate部署目录 ./ggsci edit param r_rep 在map行最上面添加以下记录 map test.enmo,target test.enmo,filter (@GETENV ('transaction','csn') > 3327525); --注意分号 启动目的端入库进程 start r_rep 进程追平后,去掉SCN号,重启入库进程 stop r_rep edit param r_rep 将添加的行修改为 map test.enmo,target test.enmo;--(注意分号)
11、启动进程
start r_rep
12、核查两边数据量
检查两端数据是否一致,源端进行insert update,delete操作目的端是否能够同步
select count(1) from test.enmo;--源端
select count(1) from test.enmo;--目的端

13、删除dmp
检查数据无问题时,将导入目的端的dmp可以进行删除。
cd DIRECTORY目录/
rm –rf expdp_*.dmp

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论