oracle goldengate 触发器,goldengate 触发器导致oracle 表空间不能online

OS:linux

oracle version:11.2.0.1

由于磁盘空间问题,将一个表空间offline ,在将表空间online 的时候,报错如下,

alter tablespace tbs_name online

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-00376: file 179 cannot be read at this time

ORA-01110: data file 179:

'/opt/oracle/oradata/ora/tbs_data_03.dbf'

ORA-06512: at line 957

ORA-00376: file 179 cannot be read at this time

ORA-01110: data file 179:

'/opt/oracle/oradata/ora/tbs_data_03.dbf'

查看'/opt/oracle/oradata/ora/tbs_data_03.dbf' 文件,也存在

ll /opt/oracle/oradata/ora/tbs_data_03.dbf

-rw-r----- 1 oracle dba 26843553792 Jul 20 10:25 tbs_data_03.dbf'

SQL> recover datafile 179;

ORA-00283: recovery session canceled due to errors

ORA-00264: no recovery required

确认文件不需要恢复。

没有找到任何思路。去trace 目录下,看看有没有线索

在该目录下,发现一个异常的文件ggs_ddl_trace.log,打开发现如下内容:

SESS 16893430-2011-07-20 11:28:06 : DDL : Cleaning up DDL sequence []

SESS 16893430-2011-07-20 11:28:06 : DDL : Cleaned up [0] rows from DDL table

SESS 16893431-2011-07-20 11:28:06 : DDL : setTracing: :ORA-00376: file 179 cannot be read at this time

ORA-01110: data file 179: /opt/oracle/oradata/ora/tbs_data_03.dbf''

SESS 16893431-2011-07-20 11:28:06 : DDL : Trigger sys.GGS_DDL_TRIGGER_BEFORE :Error processing DDL operation [], error ORA-00376: file 179 cannot be read at this time

ORA-01110: data file 179: '/opt/oracle/oradata/ora/tbs_data_03.dbf'', error stack: ORA-06512: at "GGDATA.DDLREPLICATION", line 1057

ORA-06512: at line 92

很明显sys.GGS_DDL_TRIGGER_BEFORE 这个trigger 导致了这个问题。

alter trigger sys.GGS_DDL_TRIGGER_BEFORE  disable;

alter tablespace tbs_name online;

成功。

数据库的日志目录下,有很多隐含的信息,对我们处理问题有很大的帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值