Oracle provides the following two ways to create jobs:
1) dbms_job.submit
DBMS_JOB.SUBMIT(
job OUT BINARY_INTEGER,
what
IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
interval IN VARCHAR2 DEFAULT 'NULL',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
force IN BOOLEAN DEFAULT FALSE);
2) DBMS_SCHEDULER.CREATE_JOB
DBMS_SCHEDULER.CREATE_JOB (
job_name
IN VARCHAR2,
program_name
IN VARCHAR2,
start_date
IN TIMESTAMP WITH TIME ZONE,
event_condition
IN VARCHAR2,
queue_spec
IN VARCHAR2,
end_date
IN TIMESTAMP WITH TIME ZONE,
job_class
IN VARCHAR2 DEFAULT 'DEFAULT_JOB_CLASS',
enabled
IN BOOLEAN DEFAULT FALSE,
auto_drop
IN BOOLEAN DEFAULT TRUE,
comments
IN VARCHAR2 DEFAULT NULL);