| |
 |
|
dbms_scheduler replaces cron for shell scripts
Oracle Tips by Burleson Consulting |
Question: I hear that in Oracle 10g
I can bypass crontab jobs for scheduling UNIX/Linux shell scripts.
Why is this better?
Answer: Yes, there are serious
limitations to Linux crons, especially when the server is down when
a shell script is set to execute, the job will be "missed".
The dbms_scheduler remembers missed jobs.
Here is a sample shell script invoked from
dbms_scheduler. Note the use of program_type='EXECUTABLE':
BEGIN
-- Shell Script (OS executable file).
DBMS_SCHEDULER.create_program (
program_name => 'test_executable_prog',
program_type => 'EXECUTABLE',
program_action => '/u01/app/oracle/dba/MyJob.ksh',
number_of_arguments => 0,
enabled => TRUE,
comments => 'CREATE_PROGRAM test using a schell script.');
END;
/
Also, note that the user ID executing the script must have execute
authority on the script (chmod 700), and these shell scripts
normally run as the Oracle user who participates in the Linux DBA
group.
For this and more details with dbms_scheduler,
see Dr. Hall's book "Oracle Job Scheduling":
http://www.rampant-books.com/book_2005_1_scheduling.htm
 |
If you like Oracle tuning, you may enjoy my new book "Oracle
Tuning: The Definitive Reference", over 900 pages
of BC's favorite tuning tips & scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |
|