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