10g的回收站又惹禍了

space6212發表於2019-07-11

今天,同事在用torque生成對應表操作的java類時遇到兩個錯誤:


錯誤1:
[torque-jdbc-transform] java.sql.SQLException: ORA-00600: internal error code, a
rguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
[torque-jdbc-transform] java.sql.SQLException: ORA-00600: internal error code, a
rguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

錯誤2:
[torque-jdbc-transform] Building column/table map...
[torque-jdbc-transform] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character
[torque-jdbc-transform] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character

兩個錯誤是分別用不同的jdbc遇到的。
其中第一個錯誤以前遇到過,是因為用低版本的jdbc連線高版本的資料庫造成的,解決這個問題很簡單,換成高版本的jdbc就可以。

第二個錯誤就覺得莫名其妙了,從字面含義上看是因為做模糊查詢的時候轉義出了問題。
我對java不熟悉,所以只能推測是因為在生成java類的時候用了模糊查詢從而導致錯誤。
發生錯誤的資料庫的版本是10203,但這個jdbc的版本是最新的,用來連線其他資料庫(包括9i和10g)都是可以正常生成java類的。
網上查了一下,發現有人遇到類似的問題,是因為10g的recyclebin搞的鬼。

於是在發生錯誤的資料庫查了一下:
SQL> select object_name from user_recyclebin;

OBJECT_NAME
------------------------------
BIN$PvG8uWMHqdHgQAB/AQBO8Q==$0
BIN$PjmFUCSsVwLgQAB/AQA7CA==$0
BIN$PjmFUCSrVwLgQAB/AQA7CA==$0
BIN$PjmFUCSqVwLgQAB/AQA7CA==$0
BIN$PjmFUCS2VwLgQAB/AQA7CA==$0
BIN$PjmFUCS6VwLgQAB/AQA7CA==$0
BIN$PjmFUCS5VwLgQAB/AQA7CA==$0
BIN$PjmFUCTlVwLgQAB/AQA7CA==$0
BIN$PjmFUCTkVwLgQAB/AQA7CA==$0
BIN$PjmFUCTjVwLgQAB/AQA7CA==$0
BIN$PjmFUCTuVwLgQAB/AQA7CA==$0
.....

手工清空回收站:
SQL> purge recyclebin;

Done

再次生成就正常了。
印象中,在10g中遇到過很多次莫名其妙的錯誤,最後發現都與回收站有關,看來回收站也是有利有弊啊,要權衡使用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63885/,如需轉載,請註明出處,否則將追究法律責任。

相關文章