Oracle DBMS_ISCHED
Version 26ai

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

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
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