Maintaining External Procedures
Here are some assorted bits of information that will assist you in creating, debugging, and managing external procedures.
Dropping Libraries
The syntax for dropping a library is simply:
DROP LIBRARY library_name;The Oracle user who executes this command must have the DROP LIBRARY or DROP ANY LIBRARY privilege.
Oracle does not check dependency information before dropping the library. This fact is useful if you need to change the name or location of the shared object file to which the library points. You can just drop it and rebuild it, and any dependent routines will continue to function. (More useful, perhaps, would be a requirement that you use a DROP LIBRARY FORCE command, but such an option does not exist.)
Before you drop the library permanently, you may wish to look in the DBA_DEPENDENCIES view to see if any PL/SQL module relies on the library.
Data Dictionary
There are a few entries in the data dictionary that help manage external procedures. Table 28-3 shows the USER_ version of the dictionary tables, but note that there are corresponding entries for DBA_ and ALL_.
Table 28-3. Data dictionary views for external procedures
To answer the question... | Use this view | Example |
|---|---|---|
What libraries have I created? | USER_LIBRARIES | SELECT * FROM user_libraries; |
What stored PL/SQL programs use the xyz library in a call spec? | USER_DEPENDENCIES | SELECT * FROM user_dependencies WHERE referenced_name = 'XYZ'; |
What external procedure agents (both dedicated and multithreaded) are currently ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access