I have the following code stored in a script file

create or replace package test_record

    type t_test_rec is record(
        name                  varchar2(64)
       ,value                 pls_integer

end test_record;

When I execute it from SQL*Plus, the *_IDENTIFIERS data dictionaries are not updated to include the declaration of the type. However, if I copy/paste the same code in SQL Developer and run it as a script (F5), the mentioned data dictionaries are updated.

Even if I force a recompile of the package from SQL*Plus, the *_IDENTIFIERS tables are not updated, no matter what method I use (alter package ..., dbms_utility.compile_schema, dbms_ddl.alter, ...).

How can I force SQL*Plus to behave like SQL Developer in this respect?

1 Answer 1


SQL Developer automatically sets the below:

alter session set plscope_settings='IDENTIFIERS:ALL';

You can use the same in SQL*Plus.

(The default is IDENTIFIERS:NONE.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.