文档解释
ORA-09322: slpdtb: unable to convert packed decimal to binary
Cause: internal error
Action: See OSD error accompanying this message
ORA-09322错误是由于Oracle系统无法将Packed Decimal(PD)(一种数据类型)转换成二进制格式所引起的错误。
官方解释
{slpdtb|SLPDTB} failed to convert packed decimal to binary.
常见案例
ORA-09322可以出现在SQL数据库请求调整Packed Decimal(PD)的大小的时候。在将PD类型转换为二进制类型时,该类型可能会变大,造成系统异常。
正常处理方法及步骤
1、检查数据库请求,并确认其中集成的PD类型是否尺寸合适。
2、如果PD类型尺寸不合适,那么应该尝试将其更改为更合适的尺寸,以解决ORA-09322错误。
3、如果问题仍然存在,应该使用以下sql语句进行故障排除。
SQL> select stuff, name, type, length from user_tab_cols where data_type = ‘Packed’;
4、或者更改字段类型:
ALTER TABLE TABLENAME MODIFY (COLUMN COLNAME INTEGER(SIZE));