java.sql.SQLException: ORA-01424问题的解决方案

今天在用mybatis连接数据库生成表的时候,遇到java.sql.SQLException: ORA-01424的错误,本来以为是sql语句或者是数据库编码问题,后来查到说是数据库回收站的问题,最后解决了问题,于是乎想起将问题记录下来,解决方案如下:

java.sql.SQLException: ORA-01424: 转义符之后字符缺失或非法”,从这个错误中明显的看出这是Oracle数据库报的错,于是赶紧上google百度了一下,原来是Oracle数据库自10G以后都加入了回收站机制,即Drop Table 后,没有真正的删除表,而是在垃圾站中了。既然是回收站,时间长了就会满,一旦满了,再有垃圾就没地方放了,于是乎就异常了。

知道错误原因了,下一步就是解决问题了。首先要把回收站清空,可以通过:

 

SQL> select * from RECYCLEBIN 查询到回收站的内容;

彻底删除之,使用:
SQL> PURGE TABLE "BINjR8PK5HhrrgMK8KmgQ9nw==";
删除这一个或
SQL> PURGE RECYCLEBIN;
删除全部。

回收站清空后,再到系统操作就正常了,可是时间一长回收站仍然会满,于是乎干脆不用回收站得了,禁止回收站功能:

 

show parameter recyclebin

 

alter session set recyclebin=off。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值