Solved

How to automate sql script using cron job

Posted on 2007-12-04
5
5,808 Views
Last Modified: 2013-12-18
Dear experts -
I have to automate a sql script to run every day. I would like to know the various ways. I would prefer to do it using CRON. Please advice. Kind of urgent

regards
0
Comment
Question by:akp007
5 Comments
 
LVL 6

Assisted Solution

by:chedgey
chedgey earned 50 total points
Comment Utility
What does your SQL script do?

If it a simple SQL script then the Oracle Job Scheduler is your best bet. See:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_sched.htm#sthref6598

If the is controlled from a shell or Perl script then you can schedule it from CRON using by editiing Oracle's CRONTAB using the command "crontab -e".

Regards

chedgey
0
 

Author Comment

by:akp007
Comment Utility
my script involves read from db and write to a table. I have an alter statement to change the optimizer setting. So it has alter,select and insert. I want to use shell for that. can you please provide me a some kind of script or idea, I can take it from there. Thanks for the fast response
regards
0
 
LVL 18

Assisted Solution

by:Jinesh Kamdar
Jinesh Kamdar earned 100 total points
Comment Utility
Create a SQL script with ur DML / DDL statements. Next create a shell script that invokes the SQLPLUS with the SQL script. Another option is to create a stored procedure for your DDL / DML statements and schedule a DBMS_JOB to run it at periodic intervals.
0
 
LVL 34

Accepted Solution

by:
johnsone earned 350 total points
Comment Utility
Below is a sample script that you could put into cron.  Remember that cron does not set the environment so you have to do it in the script.
#!/bin/sh
 

ORACLE_SID=<sid>

ORACLE_HOME=<ora_home>

PATH=${PATH}:${ORACLE_HOME}/bin

export ORACLE_SID ORACLE_HOME PATH
 

${ORACLE_HOME}/bin/sqlplus <user>/<pass> << END

-- Statements go here

exit

END

Open in new window

0
 

Author Comment

by:akp007
Comment Utility
Thanks. I got an idea and now I am implementing it
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
Via a live example, show how to take different types of Oracle backups using RMAN.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now