Oracle offers various methods to call external jobs from an Oracle (pluggable) database, including DBMS_SCHEDULER jobs.
DBMS_SCHEDULER supports different types for calling external programs such as STORED_PROCEDURE, EXECUTABLE, and EXTERNAL_SCRIPT.
Java Stored procedures can be used to spawn a dedicated server process on the database server to call a SHELL script.
To interact with Java programs, a PL/SQL function is required and permissions must be granted to the Oracle JVM for the desired database schema.
External C/C++ programs, also known as extproc, were introduced in Oracle 8i and have similarities to Java programs.
External C/C++ programs require source code compilation and linking to create a shared object file that can be used in PL/SQL functions.
Configuration settings like EXTPROC_DLLS parameter in Oracle Listener or whitelisting libraries in the Oracle Home can be used for external C/C++ programs.
DBMS_SCHEDULER also supports job types like EXECUTABLE, EXTERNAL_SCRIPT, STORED_PROCEDURE, and PLSQL_BLOCK.
Credentials and jobs can be created using DBMS_SCHEDULER for different job types to execute external programs from the database.
Various methods like Java, C/C++ programs, and DBMS_SCHEDULER jobs were explored to run external jobs securely from an Oracle pluggable database.