Home >Database >Mysql Tutorial >Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇

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

WBOY
WBOYOriginal
2016-06-07 15:02:031677browse

今天在自己新搭建的 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 可能需要某种数据库权限,这里可能正是缺少该权限才导致报错,查阅官方文档发现:



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



<p><span></span></p><p><span><span>作者:xiangsir</span></span></p><p><span><span></span></span></p><p><span><span>QQ:444367417</span></span></p><p><span><span>MSN:xiangsir@hotmail.com</span></span></p>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn