You created a PL/SQL subprogram that successfully invokes an external C procedure. After a
while, the database administrator (DBA) drops the alias library schema object. The shared library
exists in the system. Which statement is true in this scenario?
A.
The corresponding shared library is also removed from the system.
B.
PL/SQL subprograms can be used to invoke the external C procedure.
C.
The existing extproc process is terminated and a new extproc is started.
D.
The PL/SQL subprogram that depends on the external C program becomes invalid.
D.
http://docs.oracle.com/cd/B28359_01/appdev.111/b28425/c_cpp_java.htm
After the external procedure completes, extproc remains active throughout your Oracle session. Thus, you incur the cost of spawning extproc only once, no matter how many calls you make. Still, you should call an external procedure only when the computational benefits outweigh the cost. When you log off, extproc is killed.
Note that the Listener must start extproc on the system that runs the Oracle server. Starting extproc on a different system is not supported.
D
THE EXTERNAL PROGRAM IS CALLEd BY A WRAPPER LIBRARY ,
to create the library
create library library_name as path/file……………..
to create the wrapper library
create procedure blabla (p1 varchar2, p2 varchar2)
as external library library_name
so procedure blabla (wrabber library) depends on library (library_name)
if you drop the alias library (drop library library_name) dependets become invalid
D.
Using Shared Libraries
A shared library is an operating system file, such as a Windows DLL or a Solaris shared object,
that stores the coded implementation of external procedures.
You can access to the shared library from Oracle by using an alias library, which is a schema object
that represents the library within PL/SQL
CREATE OR REPLACE LIBRARY DS_Lib AS ‘/data_cartridge_dir/libdatastream.so’;
After the alias library is created, you can refer to the shared library by the name DS_Lib from PL/SQL.
docs.oracle.com/cd/B28359_01/appdev.111/b28425/c_cpp_java.htm
CREATE LIBRARY
The name of this schema object can then be used in the call_spec of CREATE FUNCTION or
CREATE PROCEDURE statements, or when declaring a function or procedure in a package or type,
so that SQL and PL/SQL can call to third-generation-language (3GL) functions and procedures.
https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_6001.htm