OGG 添加extract失败 OGG-01756

--添加extract进程出错

GGSCI > add extract extcus44,tranlog,beginnow

2014-04-01 13:10:01 WARNING OGG-01756Cannot register EXTRACT EXT1 with database because of the following SQL error: OCIError ORA-06550: line 1, column 3128:PL/SQL: ORA-00942: table or view does notexist

ORA-06550: line 1, column 3117:

PL/SQL: SQL Statement ignored (status = 0).See Extract user privileges in the Oracle GoldenGate for Oracle Installationand Setup Guide. You can manually register this group with the REGISTER EXTRACTcommand.

EXTRACT added.


GGSCI (EPCDB1) 2> info all


Program     Status      Group       Lag           Time Since Chkpt


MANAGER     RUNNING                                           
EXTRACT     STOPPED     EXTCUS44    00:00:00      00:00:11    


--按照习惯使用ggs用户登录

GGSCI (EPCDB1) 3> dblogin userid ggs password ggs
Successfully logged into database.


--注册extract进程

GGSCI (EPCDB1) 4> REGISTER EXTRACT extcus44 LOGRETENTION


2014-04-01 13:11:11  ERROR   OGG-01755  Cannot register or unregister EXTRACT EXTCUS44 because of the following SQL error: OCI Error ORA-06550: line 1, column 3128:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 1, column 3117:
PL/SQL: SQL Statement ignored (status = 0). See Extract user privileges in the Oracle GoldenGate for Oracle Installation and Setup Guide.


居然失败了,看报错是由于权限的原因。


查了下文档,说是要用sysdba权限用户进行注册。


--使用sys登录

GGSCI (EPCDB1) 5> dblogin userid sys,password easydba SYSDBA
Successfully logged into database.


GGSCI (EPCDB1) 6> REGISTER EXTRACT extcus44 LOGRETENTION


2014-04-01 13:17:00  INFO    OGG-01749  Successfully registered EXTRACT EXTCUS44 to start managing log retention at SCN 13374282.

使用sys用户,注册成功!


问题分析:
在我以往的进程配置中,从来没有出现过这个情况,一般进程的创建根本不需要这么高的权限,没有register这一过程,一般借助OS认证就OK了,不需要dblogin一个SYSDBA权限的用户。那为什么这次需要进行注册?在以前的OGG 11.1官方文档中均无介绍。
查询最新的官方文档(2011-04-20发布的版本),才发现register相关的资料。Register Extract是开启了新版本的一个新特性:Extract通过借助RMAN来保留Extract恢复所需要的数据库归档日志,相当于开启一个日志保留策略。适用于10.2以上版本的Oracle。通过Unregister Extract关闭,对于其他功能并无影响。

深层思考:
了解GoldenGate或者同类工具的同学们都知道,通过日志捕获事务的方式虽然性能优良,但是它毕竟是依赖于数据库日志信息的,势必对数据库日志维护带来新的挑战。单独通过RMAN或者其他备份工具管理数据库备份和归档日志,很有可能发生事务日志信息还未被GoldenGate抓出就已经被清除了,导致同步失败。要避免出现这种情况,以往只能调整日志冗余策略(比如增加日志保留时间,牺牲大量的磁盘空间),或者通过编写复杂的脚本提取GoldenGate所读到的RBA来决定需要保留的归档日志。Register Extract的新特性,应该是为了解决这一难题,以方便日志管理和防止数据丢失问题。虽然目前官方文档并没有对这个特性的深入介绍,具体的使用效果还需要进一步的验证,但这个特性无疑是值得我们关注的。


参考文档:http://oracle-abc.wikidot.com/zh:oracle-golden-gate-setup-and-solutions





你可能感兴趣的:(Oracle,GoldenGate)