In this Document
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Information in this document applies to any platform.
SYMPTOMS
After upgrading to 11.2.0.3, the autospace advisor started giving the below error.
ORA-12012: error on auto execute of job "SYS"."ORA$AT_SA_SPC_SY_12581"
ORA-01426: numeric overflow
ORA-06512: at "SYS.DBMS_ADVISOR", line 201
ORA-06512: at "SYS.DBMS_SPACE", line 2465
ORA-06512: at "SYS.DBMS_SPACE", line 2538
CHANGES
Recently upgraded to 11.2.0.3. It used to work in 11.1.0.7 or earlier releases.
CAUSE
This is due to the bug 16621589. As per this bug, when the space advisor is running, calculation of uncompressed bytes from uncompressed blocks generated overflow. This is because the uncompresses bytes are stored in PLS_INTEGER storage data type and after internal multiplication and calculation, this datatype was not able to withhold the resultant value and is throwing the overflow error. The fix is to make data types of uncmp_bytes and cmp_bytes to use INTEGER instead of PLS_INTEGER.
SOLUTION
To resolve this issue:
- Upgrade the database to version 12.1.0.2 (and above) or 12.2 (future version) where this bug is fixed.
OR
- Apply Patch 16621589.
OR
- As a workaround: Disable autospace advisor, if you are not using it, by executing the following steps:
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
/