欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇

程序员文章站 2024-01-25 09:59:10
...

今天在自己新搭建的 Oracle ACFS 文件系统上测试 GoldenGate ,启动 extract 进程报如下错误: 2013-08-27 14:58:39 ERROR OGG-00446 Opening ASM file FRA/rac/archivelog/2013_08_27/thread_1_seq_84.357.824568733 in DBLOGREADER mode: (1031) ORA-01031

今天在自己新搭建的 Oracle ACFS 文件系统上测试 GoldenGate ,启动 extract 进程报如下错误:


2013-08-27 14:58:39 ERROR OGG-00446 Opening ASM file +FRA/rac/archivelog/2013_08_27/thread_1_seq_84.357.824568733 in DBLOGREADER
mode: (1031) ORA-01031: insufficient privileges
Not able to establish initial position for begin time 2013-08-27 14:49:49.


2013-08-27 14:58:39 ERROR OGG-01668 PROCESS ABENDING.


查看 extract 进程参数

GGSCI (rac1.oracle.com) 46> view params escott
EXTRACT escott
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ggs, PASSWORD register
CACHEMGR, CACHESIZE 128MB
TRANLOGOPTIONS DBLOGREADER
EXTTRAIL ./dirdat/aa
TABLE scott.s_emp;
TABLE scott.s_dept;


Oracle GoldenGate extract 进程访问 asm 中存放的 transaction log 主要有2种方式:

1、以 sys 或 sysdba 权限直接连接 ASM 实例访问

2、在 Oracle 10.2.0.5、Oracle 11.2.0.2 以上版本的数据库中,Oracle 提供了一个新的 asm API ,可以让 extract 进程直接利用

数据库服务器来访问 redo 和 archive log。使用该 API 后,extract 将获得一个最大不超过 4 mb 的read buffer。read buffer 越大

,对于 redo 量较高的 环境越容易提高 Extract 的进程。可以通过使用 TRANLOGOPTIONS 的 DBLOGREADERBUFSIZE 选项来指定

read buffer 的大小。


按照本例中错误的描述,使用 DBLOGREADER API 可能需要某种数据库权限,这里可能正是缺少该权限才导致报错,查阅官方文档发现:

Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇


给 ggs 用户授予 select any transaction 后,进程启动正常。



作者:xiangsir

QQ:444367417

MSN:xiangsir@hotmail.com