Oracle DBMS_ISCHED
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai is now availble. If you haven't you downloaded already: Why?
Purpose Undocumented
AUTHID DEFINER
Data Types TYPE boolean_list ....;

TYPE name_array ....;
Dependencies SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_ISCHED' UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_ISCHED' ORDER BY 1;


Returns 115 objects
Documented No
First Available Not known
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/prvthsch.plb
Subprograms
ADD_AGENT_CERT DROP_GROUP NEXTVALS
ADD_EVENT_QUEUE_SUBSCRIBER DROP_JOB NEXTVALSBY
ADD_GROUP_MEMBER DROP_JOB_CLASS NORMALIZE_HOST_NAME
ADD_JOB_EMAIL_NOTIFICATION DROP_PROGRAM NTFY_SVC_METRICS_UPDT
ADD_JOB_EMAIL_NOTIFICATION_PH3 DROP_PROGRAM_ARGUMENT OBFUSCATE_CREDENTIAL_PASSWORD
ADD_OUTPUT_BLOB DROP_RESOURCE OPEN_WINDOW
ADD_WINDOW_GROUP_MEMBER DROP_SCHEDULE PARSE_EMAIL_ADDRESSES
AGENT_INSTALL_POST_STEPS DROP_SCHEDULER_ATTRIBUTE PRE_ALTER_CHAIN
AGENT_INSTALL_PRE_STEPS DROP_SCHEDULER_ATT_INT PURGE_LOG
ALTER_CHAIN DROP_WINDOW PUSER_QUERY
ALTER_CHAIN_STEP DROP_WINDOW_GROUP PUT_FILE
ALTER_RUNNING_CHAIN ENABLE RAISE_ORACLE_ERROR
AUDIT_SYS_PRIV ENQ_END_CHAIN_JOB RAISE_SCHLIM_EVT
BASE64ENCODENONEWLINES EVALUATE_RUNNING_CHAIN RECORD_RESEND_REQUEST
BATCH_JOB_OPS EVENT_COND_FILTER REGISTER_CALLBACK
CDROLE EXEC_JOB_RUN_LSA REMOTE_KILL
CHAIN_END EXPAND_FILENAME REMOVE_EVENT_QUEUE_SUBSCRIBER
CHAIN_EVAL EXPORT_DBMS_JOB REMOVE_GROUP_MEMBER
CHAIN_EVAL_UPDATE_STEP_STATE EXPORT_MYINST REMOVE_JOB_EMAIL_NOTIFICATION
CHAIN_KILL EXPORT_SCHEMA_ARGUMENTS REMOVE_WINDOW_GROUP_MEMBER
CHAIN_LOG FILE_TRANSFER RESET_JOBSUFFIX_SEQ
CHAIN_PARSE_STRING FILE_WATCH_FILTER RESET_JOB_ARGUMENT_VALUE
CHAIN_START GENERATE_OBJECT_NAME RESET_NO_COMMIT_FLAG
CHAIN_STOP GEN_AGENT_PASS_SALT RESOLVE3_NAME
CHECK_AGENT_ACTION_STATUS GET_AGENT_INFO RESOLVE_IF_NAMED_DEST
CHECK_COMPAT GET_AGENT_PASS_VERIFIER RESOLVE_NAME
CHECK_CREDENTIAL GET_AGENT_REGISTRATION_INFO RETRIEVE_JOB_OUTPUT
CHECK_LOCAL_CREDENTIAL GET_AGENT_VERSION RUN_CHAIN
CHECK_REQUEST_PRIVS GET_AGENT_WALLET_LOCATION RUN_DBMS_JOB
CLOSE_WINDOW GET_BOOL_ATTRIBUTE RUN_JOB
COMPLETE_JOB_RUN GET_CHAIN_EVAL_LOCK SEND_EVENT_EMAIL
CONVERT_DBMS_JOB GET_CHAIN_OID SET_AGENT_REGISTRATION_INFO
COPY_JOB GET_CHAIN_RULESET SET_AGENT_REGISTRATION_PASS
CREATE_AGENT_DESTINATION GET_CHAR_ATTRIBUTE SET_BOOL_ATTRIBUTE
CREATE_CHAIN GET_DATE_ATTRIBUTE SET_CHAR_ATTRIBUTE
CREATE_CHAIN_STEP GET_DB_EPOCH SET_DATE_ATTRIBUTE
CREATE_CLOUD_CREDENTIAL GET_FILE SET_EVTMSG_ARG
CREATE_CREDENTIAL GET_FIXED_SALT_STRING SET_INTERVAL_ATTRIBUTE
CREATE_CREDENTIAL_CCALL GET_GLOBAL_DB_NAME SET_INT_ATTRIBUTE
CREATE_DATABASE_DESTINATION GET_INTERVAL_ATTRIBUTE SET_JOB_ARGUMENT_VALUE
CREATE_FILE_WATCHER GET_INT_ATTRIBUTE SET_JOB_ATTRIBUTES
CREATE_GROUP GET_JOBS_TO_STOP SET_JOB_ROLE
CREATE_JOB GET_JOB_OID SET_LAST_RUN_TIME
CREATE_JOBS GET_JOB_STATUS SET_LIST_ATTRIBUTE
CREATE_JOB_CLASS GET_LAST_RUN_TIME SET_NO_COMMIT_FLAG
CREATE_LOG_DIR GET_NOTIFICATIONS SET_RESOURCE_CONSTRAINT
CREATE_PROGRAM GET_RULE_LINKS SET_SCHEDULER_ATTRIBUTE
CREATE_RESOURCE GET_SCHEDULER_ATTRIBUTE SET_SECURITY_HEADERS
CREATE_SCHEDULE GET_SEC_FROM_EPOCH_TO_YEAR SET_STEP_STATE
CREATE_WINDOW GET_STEP_STATE SHOW_ERRORS
CREATE_WINDOW_GROUP GET_STEP_STATE_CF STIME
DB_COMPATIBILITY GET_SYS_TIME_ZONE_NAME STOP_JOB
DEFINE_METADATA_ARGUMENT GET_TNS_NVPAIR SUBMIT_REMOTE_EXTERNAL_JOB
DEFINE_PROGRAM_ARGUMENT IMTRACE_TO_FILE SUBMIT_REMOTE_FILE_WATCH
DELETE_DBMSJOB_MAP_ENTRY INSERT_DBMSJOB_MAP_ENTRY TRACE_EMAIL
DELETE_FILE INSERT_STEP_STATE TRANSLATE_JSSU_ERROR_CODE
DISABLE INST_CHECK UPDATE_ALL_STEPS
DISABLE1_CALENDAR_CHECK IS_CHAIN_RUN_OR_STALL UPDATE_DBMS_JOB
DROP_AGENT_DESTINATION IS_SCHEDULER_CREATED_AGENT USER_EXPORT
DROP_CHAIN LOG_DBMS_OUTPUT VALIDATE_DEST
DROP_CREDENTIAL LOG_LOCAL_EXTERNAL_OUTPUT VALIDATE_EMAIL_ADDRESSES
DROP_DATABASE_DESTINATION NEW_LOG_ID WRITE_FILE_WATCH_TRACE
DROP_FILE_WATCHER    
 
AGENT_INSTALL_POST_STEPS
Undocumented dbms_isched.agent_install_post_steps;
exec dbms_isched.agent_install_post_steps;
AU Statement Found

PL/SQL procedure successfully completed.
 
AGENT_INSTALL_PRE_STEPS
Undocumented dbms_isched.agent_install_pre_steps;
exec dbms_isched.agent_install_pre_steps;

PL/SQL procedure successfully completed.
 
CHECK_COMPAT
Undocumented dbms_isched.check_compat;
exec dbms_isched.check_compat;

PL/SQL procedure successfully completed.
 
CONVERT_DBMS_JOB
Convert a dbms_job api created job into a scheduler job the dbms_job equivalent job will be removed.

As this is officially undocumented I am leaving this as it is until I learn more.

Relocated from DBMS_SCHEDULER ... I think ... but when?
dbms_isched.convert_dbms_job(job_name IN VARCHAR2);
Step 1: Create a job

CREATE OR REPLACE PROCEDURE test_job AUTHID DEFINER IS
BEGIN
  NULL;
END test_job;
/

Procedure created.

DECLARE
 JobNo user_jobs.job%TYPE;
BEGIN
  dbms_job.submit(JobNo, 'begin test_job; end;', SYSDATE, 'SYSDATE + 36/86400');
  COMMIT;
END;
/

PL/SQL procedure successfully completed.

SELECT con_id, job, schema_user
FROM cdb_jobs;

 JOB   SCHEMA_USER
----  ----------------------

   1  SYS


Step 2: Convert it

-- This might actually work if DBMS_JOB created jobs had VARCHAR2 names.
-- Unfortunately they do not so I can not puzzle this one out unless I
-- assume the information in the rdbms/admin file is incorrect.
 
CREATE_AGENT_DESTINATION
Code from execsch.sql in /RDBMS/ADMIN dbms_isched.create_agent_destination(
destination_name IN VARCHAR2,
hostname         IN VARCHAR2,
port             IN BINARY_INTEGER,
comments         IN VARCHAR2);
--create pseudo local db destination
BEGIN
  dbms_scheduler.create_database_destination(
    destination_name => 'sched$_local_pseudo_db',
    agent => 'sched$_local_pseudo_agent',
    tns_name => 'pseudo_inst',
    comments => 'Place holder for synonym LOCAL_DB dest');
EXCEPTION
  WHEN OTHERS THEN
    IF sqlcode = -27477 THEN
      NULL;
    ELSE
      RAISE;
    END IF;
END;
/

PL/SQL procedure successfully completed.
 
CREATE_CLOUD_CREDENTIAL (new 23ai)
Undocumented dbms_isched.create_cloud_credential(
credential_name    IN VARCHAR2,
username           IN VARCHAR2,
password           IN VARCHAR2,
database_role      IN VARCHAR2,
windows_domain     IN VARCHAR2,
comments           IN VARCHAR2,
key                IN VARCHAR2,
enabled            IN BOOLEAN,
connect_identifier IN VARCHAR2);
TBD
 
CREATE_CREDENTIAL_CCALL (new 23ai)
Undocumented dbms_isched.create_credential_ccall(
credential_name     IN VARCHAR2,
username            IN VARCHAR2,
password            IN VARCHAR2,
database_role       IN VARCHAR2,
windows_domain      IN VARCHAR2,
comments            IN VARCHAR2,
enabled             IN BOOLEAN,
invoker             IN VARCHAR2,
sys_privs           IN BINARY_INTEGER,
sch_privs           IN BINARY_INTEGER,
cur_schema          IN VARCHAR2,
key                 IN VARCHAR2,
connect_identifier  IN VARCHAR2,
is_cloud_credential IN BOOLEAN);
TBD
 
CREATE_JOB
Create a scheduler job

Overload 1
dbms_isched.create_job(
job_name            IN VARCHAR2,
job_style           IN VARCHAR2,
program_type        IN VARCHAR2,
program_action      IN VARCHAR2,
number_of_arguments IN BINARY_INTEGER,
schedule_type       IN VARCHAR2,
schedule_expr       IN VARCHAR2,
queue_spec          IN VARCHAR2,
start_date          IN TIMESTAMP WITH TIME ZONE,
end_date            IN TIMESTAMP WITH TIME ZONE,
job_class           IN VARCHAR2,
comments            IN VARCHAR2,
enabled             IN BOOLEAN,
auto_drop           IN BOOLEAN,
invoker             IN VARCHAR2,
sys_privs           IN BINARY_INTEGER,
aq_job              IN BOOLEAN,
current_schema      IN VARCHAR2);
TBD
Overload 2 dbms_isched.create_job(
job_name            IN VARCHAR2,
job_style           IN VARCHAR2,
program_type        IN VARCHAR2,
program_action      IN VARCHAR2,
number_of_arguments IN BINARY_INTEGER,
schedule_type       IN VARCHAR2,
schedule_expr       IN VARCHAR2,
queue_spec          IN VARCHAR2,
start_date          IN TIMESTAMP WITH TIME ZONE,
end_date            IN TIMESTAMP WITH TIME ZONE,
job_class           IN VARCHAR2,
comments            IN VARCHAR2,
enabled             IN BOOLEAN,
auto_drop           IN BOOLEAN,
invoker             IN VARCHAR2,
sys_privs           IN BINARY_INTEGER,
aq_job              IN BOOLEAN,
destination_name    IN VARCHAR2,
credential          IN VARCHAR2,
current_schema      IN VARCHAR2);
TBD
 
CREATE_LOG_DIR
Creates the scheduler logging directory: I think. dbms_isched.create_log_dir;
--source code from {ORACLE_HOME}/rdbms/admin/execsch.sql
BEGIN
  dbms_isched.create_log_dir;
END;
/

PL/SQL procedure successfully completed.
 
DB_COMPATIBILITY
Returns the major version number from the compatibility parameter dbms_isched.db_compatibility RETURN NUMBER;
SELECT dbms_isched.db_compatibility;

DB_COMPATIBILITY
----------------
              23
 
EXPAND_FILENAME
Expands the file name to include the path from the root directory dbms_isched.expand_filename(source_file IN VARCHAR2) RETURN VARCHAR2;
TBD
 
FILE_WATCH_FILTER
Undocumented dbms_isched.file_watch_filter(
ownid    IN NUMBER,
objid    IN NUMBER,
fw_msgid IN RAW)
RETURN NUMBER;
TBD
 
GET_AGENT_PASS_VERIFIER
Not sure for what it is intended but the output could lend itself to a number of security-related usages dbms_isched.get_agent_pass_verifier;(
password IN  RAW,
salt     IN  RAW,
iter     OUT BINARY_INTEGER,
keylen   OUT BINARY_INTEGER,
hash     OUT RAW);
DECLARE
 pwd  RAW(128) := utl_raw.cast_to_raw('Morgan');
 salt RAW(128) := utl_raw.cast_to_raw('Dan');
 iter BINARY_INTEGER;
 klen BINARY_INTEGER;
 hash RAW(128);
BEGIN
  dbms_isched.get_agent_pass_verifier(pwd, salt, iter, klen, hash);
  dbms_output.put_line(pwd);
  dbms_output.put_line(salt);
  dbms_output.put_line(TO_CHAR(iter));
  dbms_output.put_line(klen);
  dbms_output.put_line(hash);
END;
/
4D6F7267616E
44616E
4096
64
B9113323392C44F06E5A0352A1FFF942AB7C801027216F0D6AFBD0A876EF031297B67EF5616FF71C0ADEF918
B949FC23FD83C90CBED356A3F5D38BE3F6D38FF3

PL/SQL procedure successfully completed.
 
GET_DB_EPOCH
Undocumented dbms_isched.get_db_epoch RETURN NUMBER;
SELECT dbms_isched.get_db_epoch;

GET_DB_EPOCH
------------
1.7312E+12


col get_db_epoch format 99999999999999

   GET_DB_EPOCH
---------------
  1731249283612
 
GET_FIXED_SALT_STRING
Undocumented dbms_isched.get_fixed_salt_string RETURN VARCHAR2;
SELECT dbms_isched.get_fixed_salt_string;

GET_FIXED_SALT_STRING
----------------------
1702944000
 
GET_GLOBAL_DB_NAME
Returns the global database name dbms_isched.get_global_db_name;
SELECT dbms_isched.get_global_db_name;

GET_GLOBAL_DB_NAME
--------------------------------------------
ASRA34AI.SUB6101709240.ASRAVCN.ORACLEVCN.COM
 
GET_LAST_RUN_TIME
Undocumented dbms_isched.get_last_run_time RETURN TIMESTAMP WITH TIME ZONE;
SELECT dbms_isched.get_last_run_time;

GET_LAST_RUN_TIME
------------------

 
GET_SYS_TIME_ZONE_NAME
Returns the servers current time zone name dbms_isched.get_sys_time_zone_name(tzname OUT VARCHAR2);
DECLARE
  tz VARCHAR2(20);
BEGIN
  dbms_isched.get_sys_time_zone_name(tz);
  dbms_output.put_line(tz);
END;
/
Etc/UTC

PL/SQL procedure successfully completed.
 
GET_TNS_NVPAIR
Returns the TNSNAMES.ORA connection string Name Value (NV) pair dbms_isched.get_tns_nvpair(tns_entry IN VARCHAR2) RETURN VARCHAR2;
SELECT dbms_isched.get_tns_nvpair('PDBDEV');

DBMS_ISCHED.GET_TNS_NVPAIR('PDBDEV')
------------------------------------------------------------------------------------
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = asra23C)(PORT = 1521)
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = ASRA23ai_ASRA23ai_pdbdev,paas,oracle,com)))
 
IMTRACE_TO_FILE (new 23ai)
Undocumented dbms_isched.imtrace_to_file(p_paddr IN RAW);
TBD
 
INST_CHECK
Undocumented dbms_isched.inst_check(
instance IN NUMBER,
force    IN BOOLEAN);
exec dbms_isched.inst_check(1, FALSE);

PL/SQL procedure successfully completed.
 
NORMALIZE_HOST_NAME
Returns fully qualified host name dbms_isched.normalize_host_name(hostname IN VARCHAR2) RETURN VARCHAR2;
SELECT dbms_isched.normalize_host_name('ASRA23C');

DBMS_ISCHED.NORMALIZE_HOST_NAME('PERRITO5')
--------------------------------------------
asra34c.sub061-1709240.asravcn.oraclevcn.com
 
OBFUSCATE_CREDENTIAL_PASSWORD
Every time this procedure is executed it generates a different password obfuscating the input string dbms_isched.obfuscate_credential_password(
credential_name IN  VARCHAR2,
password        IN  VARCHAR2,
opass           OUT VARCHAR2,
cur_schema      IN  VARCHAR2);
DECLARE
 opassVal VARCHAR2(120);
BEGIN
  dbms_isched.obfuscate_credential_password('UWCred', 'ZZYZX', opassVal, USER);
  dbms_output.put_line(opassVal);
END;
/
FVT55xjMcisUX7h9Wmusd9KId4wnNJOK1wboQqdZ9dD

PL/SQL procedure successfully completed.
 
PARSE_EMAIL_ADDRESSES
Turns a comma delimited list of email addresses into a VARCHAR2 table dbms_isched.parse_email_addresses(
comma_separated_list IN  VARCHAR2,
addresses_list       OUT dbms_utility.lname_array);
DECLARE
 retTab dbms_utility.lname_array;
BEGIN
  dbms_isched.parse_email_addresses('larry@orcl.com,safra@orcl.com', retTab);
  FOR i IN 1 .. 2 LOOP
    dbms_output.put_line(retTab(i));
  END LOOP;
END;
/
larry@orcl.com
safra@orcl.com

PL/SQL procedure successfully completed.
 
RAISE_ORACLE_ERROR
Raises a DBMS_SCHEDULER specific error dbms_isched.raise_oracle_error(
error_number IN BINARY_INTEGER,
params_table IN dbms_utility.lname_array);
DECLARE
 paramArr dbms_utility.lname_array;
BEGIN
  paramArr(1) := 'operation not permitted on lightweight and in-memory jobs';
  dbms_output.put_line(paramArr(1));
  dbms_isched.raise_oracle_error(27494, ParamArr);
END;
/
operation not permitted on lightweight and in-memory jobs
*
ORA-27494: operation not permitted on lightweight and in-memory jobs
 
REMOTE_KILL
Undocumented but I really hope it proves to do what the name and parameters imply dbms_isched.remote_kill(
job_name         IN VARCHAR2,
job_subname      IN VARCHAR2,
job_owner        IN VARCHAR2,
credential_name  IN VARCHAR2,
credential_owner IN VARCHAR2,
destination      IN VARCHAR2,
hard_kill        IN BINARY_INTEGER);
TBD
 
RESET_JOBSUFFIX_SEQ
Undocumented dbms_isched.reset_jobsuffix_seq;
exec dbms_isched.reset_jobsuffix_seq;

PL/SQL procedure successfully completed.
 
RESET_NO_COMMIT_FLAG
Undocumented dbms_isched.reset_no_commit_flag;
exec dbms_isched.reset_no_commit_flag;

PL/SQL procedure successfully completed.
 
RESOLVE_NAME
Either separates owner and object name from a fully qualified object name or, if owner is not supplied provides a substitute. dbms_isched.resolve_name(
full_name     IN  VARCHAR2,
object_name   OUT VARCHAR2,
owner_name    OUT VARCHAR2,
default_owner IN  VARCHAR2);
DECLARE
 objName VARCHAR2(30);
 ownName VARCHAR2(30);
BEGIN
  dbms_isched.resolve_name('UWCLASS.SERVERS', objName, ownName, 'UNK');
  dbms_output.put_line('Object: ' || objName);
  dbms_output.put_line('Owner: ' || ownName);
END;
/
Object: SERVERS
Owner: UWCLASS

PL/SQL procedure successfully completed.

DECLARE
 objName VARCHAR2(30);
 ownName VARCHAR2(30);
BEGIN
  dbms_isched.resolve_name('SERVERS', objName, ownName, 'UNK');
  dbms_output.put_line('Object: ' || objName);
  dbms_output.put_line('Owner: ' || ownName);
END;
/

Object: SERVERS
Owner: UNK

PL/SQL procedure successfully completed.
 
SEND_EVENT_EMAIL
Undocumented dbms_isched.send_event_email(
email_server_host IN VARCHAR2,
email_server_port IN BINARY_INTEGER,
send              IN VARCHAR2,
recipient         IN VARCHAR2,
subject           IN VARCHAR2,
body              IN VARCHAR2,
wallet_path       IN VARCHAR2,
email_server_cred IN VARCHAR2,
email_server_end  IN VARCHAR2);
TBD
 
SET_JOB_ROLE (new 23ai)
Undocumented dbms_isched.set_job_role(
obj_name IN VARCHAR2,
job_role IN VARCHAR2,
invoker  IN VARCHAR2);
TBD
 
SET_NO_COMMIT_FLAG
Undocumented dbms_isched.set_no_commit_flag;
exec dbms_isched.set_no_commit_flag;

PL/SQL procedure successfully completed.
 
STIME
Undocumented dbms_isched.stime(
follows_default_timezone IN  BOOLEAN,
outs                     OUT TIMESTAMP WITH TIME ZONE);
DECLARE
 outVal TIMESTAMP WITH TIME ZONE;
BEGIN
  dbms_isched.stime(TRUE, outVal);
  dbms_output.put_line(outVal);
END;
/
10-NOV-24 02.51.45.190041 PM ETC/UTC

PL/SQL procedure successfully completed.
 
TRACE_EMAIL
Undocumented dbms_isched.trace__email(trace_text IN VARCHAR2);
TBD
 
TRANSLATE_JSSU_ERROR_CODE
Undocumented

Overload 1
dbms_isched.translate_jssu_error_code(open_blob IN OUT BLOB);
TBD
Overload 2 dbms_isched.translate_jssu_error_code(
error_code   IN  VARCHAR2,
errormessage OUT VARCHAR2,
errorfound   OUT BOOLEAN
TBD
 
VALIDATE_EMAIL_ADDRESSES
Undocumented dbms_isched.validate_email_addresses(
single_address IN VARCHAR2,
addresses_list IN dbms_utility.lname_array);
-- note the missing "@" in the following demo
DECLARE
 addrList dbms_utility.lname_array;
BEGIN
  dbms_isched.validate_email_addresses('damorgan_oracle.com', addrList);
END;
/
*
ORA-24098: invalid value damorgan_yahoo.com for EMAIL_ADDRESS


-- with the "@" in place
DECLARE
 addrList dbms_utility.lname_array;
BEGIN
  dbms_isched.validate_email_addresses('damorgan@oracle.com', addrList);
END;
/

PL/SQL procedure successfully completed.

DECLARE
 addrList dbms_utility.lname_array;
BEGIN
  addrList(1) := 'a@b.com';
  addrList(2) := 'b@c.com';
  addrList(3) := 'c@d.com';
  dbms_isched.validate_email_addresses(NULL, addrList);
END;
/

PL/SQL procedure successfully completed.
 
WRITE_FILE_WATCH_TRACE
Undocumented but writes a file watcher trace

-- demo from initscfw.sql
dbms_isched.remote_kill(
job_name         IN VARCHAR2,
job_subname      IN VARCHAR2,
job_owner        IN VARCHAR2,
credential_name  IN VARCHAR2,
credential_owner IN VARCHAR2,
destination      IN VARCHAR2,
hard_kill        IN BINARY_INTEGER);
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "dbFWTrace" AS
  import oracle.scheduler.agent.fileWatchTrace;
  import oracle.jdbc.*;
  import oracle.jdbc.pool.OracleDataSource;
  import java.sql.Connection;
public class dbFWTrace implements fileWatchTrace
{
  public void writeTrace(String do_trc, String trc_string)
  {
    if (do_trc.equals("Y"))
    {
      try
      {
        OracleDataSource ods = new OracleDataSource();
        ods.setURL("jdbc:default:connection");
        Connection conn = ods.getConnection();
        OracleCallableStatement ocs = (OracleCallableStatement)conn.prepareCall(
            "{call dbms_isched.write_file_watch_trace(?, ?)}");
        ocs.setString(1, do_trc);
        ocs.setString(2, trc_string);
        ocs.executeUpdate();
        ocs.close();
      }
      catch (java.sql.SQLException sqlexception)
      {
        // ignore for now
      }
    }
  }
}
/

Related Topics
Built-in Functions
Built-in Packages
DBMS_ISCHEDFW
DBMS_ISCHED_AGENT
DBMS_ISCHED_CHAIN_CONDITION
DBMS_SCHEDULER
DBMS_SCHED_ARGUMENT_IMPORT
DBMS_SCHED_ATTRIBUTE_EXPORT
DBMS_SCHED_FILE_WATCHER_EXPORT
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved