I've imported some customer DB using Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production. Now I need to create a procedure with identifier length > 30 but this is failing with the following error : "ORA-00972: identifier is too long". I read that in oracle 12.1.x and lower the limitation was 30 bytes and in 12.2.0.1.0 size is increased to 128 bytes. I ran 'describe all_objects/describe user_objects' on the DB and it's showing that identifier size is set to 128 DB all_objects result. However, it is still failing to create...Is it possible that the export was created in 12.1 and retained the 30 char limit even though it's showing 128 when imported into my local 12.2 db server. Any ideas?
Asked
Active
Viewed 83 times
1
-
What is your COMPATIBLE setting? [That affects the actual limit](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html#GUID-75337742-67FD-4EC0-985F-741C93D918DA). – Alex Poole Jun 02 '22 at 07:17
-
It is showing as 12.1.0.2.0...I did upgrade to 12.2.0 a few weeks ago but it looks like I missed out something. How do I set this parameter? – kruxy_ Jun 02 '22 at 10:24
-
@AlexPoole ALTER SYSTEM SET COMPATIBLE = '12.2.0' SCOPE=SPFILE; · 2. Shutdown database. SQL> SHUTDOWN IMMEDIATE · 3. Start... did the thing for me. THANKS!!! – kruxy_ Jun 02 '22 at 11:24