利用event 955, 10046诊断ORA-00955 错误 - 2

本文介绍了解决Oracle数据库中ORA-00955错误的方法。该错误通常发生在创建queue_table过程中,由于中间表或index等object重复导致。通过启用跟踪并检查trace文件来定位问题源头,最终通过清理重复的sequence解决了问题。

这次报错有点不明显,没有说是什么object 已经存在了,查看名称 APPLSYS.WF_JAVA_DEFERRED ,没有重复的object ,那创建过程中还有什么重复的呢 ? 之后根据错误ORA-00955: name is already used by an existing object 在metalink 查询到了类似的说明, 参考Move Queue Table Issues ORA-00955 (文档 ID 1684231.1) , 了解到常见queue_table的过程中可能会创建中间表或sequence , index等等object , 可能是在从源库导出,然后导入目标库的时候,queue table被当成普通表导入创建了,虽然drop后重建,但是创建过程中的中间表或index 等object 没有清理干净, 需要查询并清理。


按照metalink文档上的解决方式(在一个session下执行):

alter session set events '955 trace name errorstack level 10';
alter session set events '10046 trace name context forever, level 12';

执行创建queue_table语句;

alter session set events '955 trace name errorstack off';
alter session set events '10046 trace name context OFF';

查询出session对应的OSPID , 便于在trace目录下查找trc文件。

SELECT pro.spid, sess.SID  from v$session sess, v$process pro
where  sess.PADDR = pro.ADDR 
        and sess.sid= (select sid from v$mystat where rownum=1) ;


最后从trace文件中查询 name is already used by an existing object 关键字,很明显看到是一个CREATE SEQUENCE 的语句报错, 的确在目标库是重复的,删除后再次运行就成功了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1225678/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-1225678/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值