Windows 安装Oracle GoldenGate 出现的USERS01.DBF文件不能读取问题解决

1.查看日志文件所在位置:

 1 SQL> show parameter dump_dest
 2 
 3 NAME                                 TYPE
 4 ------------------------------------ ----------------------
 5 VALUE
 6 ------------------------------
 7 background_dump_dest                 string
 8 c:\app\m1885\diag\rdbms\orcl\o
 9 rcl\trace
10 core_dump_dest                       string
11 c:\app\m1885\diag\rdbms\orcl\o
12 rcl\cdump
13 user_dump_dest                       string
14 c:\app\m1885\diag\rdbms\orcl\o
15 rcl\trace

2.打开trace目录下ogg生成的日志文件ggs_ddl_trace.log如下:

SESS 4294967295-2020-05-06 17:32:54 : DDL : ************************* Start of log for DDL sequence [450], v[ $Id: ddl_setup.sql /st_oggcore_11.2.1/15 2012/08/01 11:51:29 mcusson Exp $ ] trace level [0], owner schema of DDL package [OGG], objtype [USER] name [.OGGG]
SESS 4294967295-2020-05-06 17:32:54 : DDLTRACE1 : Before Trigger: point in execution = [1.0], objtype [USER] name [.OGGG]
SESS 4294967295-2020-05-06 17:32:54 : DDL : DDL operation [drop user oggg cascade ], sequence [450], DDL type [DROP] USER, real object type [USER], validity [], object ID [], object [.OGGG], real object [.OGGG], base object schema [], base object name [], logged as [SYS]
SESS 4294967295-2020-05-06 17:32:54 : DDL : insertToMarker: :ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'C:\APP\M1885\ORADATA\ORCL\USERS01.DBF'
SESS 4294967295-2020-05-06 17:32:54 : DDL : saveMarkerDDL: :ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'C:\APP\M1885\ORADATA\ORCL\USERS01.DBF'
SESS 4294967295-2020-05-06 17:32:54 : DDL : Trigger sys.GGS_DDL_TRIGGER_BEFORE :Error processing DDL operation [drop user oggg cascade ], error ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'C:\APP\M1885\ORADATA\ORCL\USERS01.DBF', error stack: ORA-06512: 在 "OGG.DDLREPLICATION", line 1247
ORA-06512: 在 line 763

SESS 4294967295-2020-05-06 17:32:54 : DDL : Cleaning up marker sequence [459]
SESS 4294967295-2020-05-06 17:32:54 : DDL : Cleaning up DDL sequence [450]
SESS 4294967295-2020-05-06 17:32:54 : DDL : Cleaned up [0] rows from DDL table

注:DDL操作sys.GGS_DDL_TRIGGER_BEFORE触发器错误,此触发器是为了让gg支持DDL操作在sys用户下创建的触发器(GGS_DDL_TRIGGER_BEFORE),注意:此错误在alert日志中是不显示的

解决:登陆sys用户把GGS_DDL_TRIGGER_BEFORE触发器禁用

 

SQL> alter trigger sys.GGS_DDL_TRIGGER_BEFORE disable;

触发器已更改
posted @ 2020-05-06 18:45  TangKnife  阅读(609)  评论(0)    收藏  举报