Friday, December 28, 2012

ORA-01654: unable to extend index SYS.I_PLSCOPE_SIG_ACTION$ by 128 in tablespace SYSAUX



I got below error while trying to deploy an already successfully compiled Oracle package from my QA environment to dev environment:

ORA-00604: error occurred at recursive SQL level 1
ORA-01654: unable to extend index SYS.I_PLSCOPE_SIG_ACTION$ by 128 in tablespace SYSAUX
00604. 00000 -  "error occurred at recursive SQL level %s"
*Cause:    An error occurred while processing a recursive SQL statement
           (a statement applying to internal dictionary tables).
*Action:   If the situation described in the next error on the stack
           can be corrected, do so; otherwise contact Oracle Support.

I had taken backup of the original package from my dev environment before I tried to overwrite it with the one from QA – so I tried compiling this old package again and surprisingly it worked just fine.

I got confused – googled around and found that the above error could be solved by setting value of PLSCOPE_SETTINGS to IDENTIFIERS:NONE from IDENTIFIERS:ALL:

ALTER SESSION SET PLSCOPE_SETTINGS = 'IDENTIFIERS:NONE';

So there are couple of oracle data dictionary views related to this:
USER_PLSQL_OBJECT_SETTINGS
USER_IDENTIFIERS

I took a look at these views and found that for the package that I was trying to compile - the PLSCOPE_SETTINGS value was IDENTIFIERS:ALL.

But I was little skeptical of altering the setting since I did not know the impact of that.

I googled more and came across one post mentioning that this issue is just with Oracle SQL Developer – it did not sound believable but then I thought that these settings might be related to PL/SQL environment in which I am trying to compile the package.

So, I tried compiling the package using SQLPLUS command prompt and it worked  - YEAH!!! J

2 comments:

  1. I had the same problem. The reason was that the SYSAUX tablespace (or more correctly, the datafile) was full. Solution: ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/name of your datafile.dbf' RESIZE 500M;

    ReplyDelete

Convert Java SQL String to Oracle SQL Format in TOAD

At times Toad might reset the capability to strip off / convert the the SQL in Java string format to SQL format. You can have that back...