重新导入database后,编译Trigger出现Error: PLS-00553: 无法识别字符集名称,怎么解决?
sywen 2008-07-12 09:41:42 主要问题是当触发器带 :new或者 :old关键字时报错
查到过一个帖子,确实如其所说,
不过:因为数据太多,导出导入很麻烦!还有就是 表状态有问题,那什么叫表状态?能否通过什么语法修改表状态呢?
原帖如下
http://blog.csdn.net/jxc/archive/2006/12/06/1432009.aspx
偶然遇到PLS-00553: 无法识别字符集名称, 关于这个问题的解决方案大都是修改数据库字符集,但是该数据库字符集没有发现明显问题,如何处理?
这个错误是发生在创建触发器时, 当触发器带 :new或者 :old关键字时报错, 如果不带就没问题. 而且该表上以前建立的触发器是好的, 但是重新编译时也会报同样的错误.
经过多次努力发现,在相同的用户/表空间下建立的表上建立的触发器是可以的. 最终判定为该表状态有问题.
最终的解决方案是, 备份该表上的触发器语法, 备份表数据, 重建表, 恢复数据, 恢复触发器, 编译失效对象.