Oracle GoldenGate部署过程中需要注意的问题

1.对于Oracle GoldenGate的extract进程来说,抽取到的事务信息必须要完整才能被replicate进程应用在target端的数据库上,这就需要我们对长的的Transaction关注一下。
如果extract进程抽取的时间落后于事务开始时间,会导致数据的不一致。

查询事务开始时间的方法:
SQL> select min(start_time) from v$transaction;

等到查询出的时间大于extract进程的抽取时间,则可以开始进行数据的初始化操作,这样可以避免长事务的事务信息抽取不到而导致的数据丢失问题。

GGSCI(ora11g01.us.oracle.com)> view report ext01 detail

该命令可以查看到extract进程开始抽取事务信息的时间。


2.排除不需要的字段提高同步的效率

在一些数据仓库系统中,对于LOB字段的同步并非必须的。LOB字段的类型包括,CLOB,BLOB,NCLOB,BFILE。当我们不需要对这些信息进行统计的时候,可以不同步这些字段。

SQL> select owner, table_name, column_name from dba_lobs where owner = 'USER_NAME';

SQL> select 'TABLE USER_NAME.' ||Table_name || ',COLSEXCEPT (' ||listagg( column_name, ',' ) within group ( order by table_name) ||');' as column_name from dba_tab_columns where DATA_TYPE in ('BLOB','CLOB','NCLOB','BFILE') and owner='USER' GROUP BY table_name union select 'TABLE USER.' || TABLE_NAME || ';' column_name from DBA_tables where table_name not in (select distinct table_name from DBA_lobs WHERE OWNER='USER' ) and owner= 'USER' group by table_name order by 1; 


GGSCI(ora11g01.us.oracle.com)> add trandata user.table_name ,colexcept  (col1,col2);

这样就可以将不需要的字段的排除,并且写入extract的parameter file中。


3.查看不存在主键的表(如果可以,将表添加主键):

SQL> select a.table_name from dba_tables a inner join dba_constraints b  on a.table_name = b.table_name where b.constraint_name type in ('P','U') and a.owner = 'USER_NAME' minus select  table_name from dba_tables where owner = 'USER_NAME';

对于no primary key的表的处理(如果不能添加primary key):

GGSCI(source DB)> add trandata user.table_name , [cols <col_name>] keycols <col_name> ,nokey


4.注意数据库的字符集问题:

查看当前数据库字符集: select values from nls_database_parameters where parameter = 'NLS_CHARACTERSET';


本文章仅供本人学习OGG过程中笔记使用


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31401355/viewspace-2129716/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31401355/viewspace-2129716/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值