今天一用户在更新lob对象的数据时,提示ora-24816错误,如下:
遇到这个错误提示,一般都是会想到在更新语句中,没有将lob字段放在最后,但是检测结果显示,语句没有问题,随后进一步排查,发现是由于用户设置了10503事件,设置的大小为4086,10503事件是限制SQL语句BUFFER大小,主要是用户控制bind的长度,如下:
ALTER SESSION SET EVENTS '10503 trace name context level <buffer length>, forever';
但是显然,图片的bind一般都超过了4086,因此会提示ora-24816错误,该错误的提示会给人以误导,因此我也处理了很久,随后将该事件去掉,更新能够正常操作。