Running Shell Script on UX-HP from Oracle Procedure

Posted on 2001-07-03
Last Modified: 2012-06-21
How to execute/run an Unix Shell Script from a database trigger / Stored Procedure. The version of Oracle is 8.0.5
Question by:kotvali
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2

Expert Comment

ID: 6252362
You might like to consider the following.
Within your database trigger or stored procedure, if your processing detects a condition which means a Unix job should be run, then write a record to another Oracle table ( let's call it "JobControl" ) containing enough information for a separate job to determine what needs doing.
This separate job is run ( at whatever frequency is appropriate ) via a crontab entry and connects to the database to check if anything needs doing. If not, it goes back to sleep. But if a JobControl record is found, then the approprate action is taken.
( the SQL which polls  the JobControl table could spool output to a file which your Unix job could then pick up on ).
Sounds a bit convoluted, but I have used it and it is quite flexible once set up.

Hope this helps, good luck.

Author Comment

ID: 6254167
Dear Myerpz,

Thanks a lot for your comment. I really appreciate it. I have couple of jobs running the same way. Instead fo Corntab, I have a scheduler called "Appworx" which does the same. My questions is, directly, can I access the shell script!

Thanks any way.


Expert Comment

ID: 6263526
The best way to access a shell script from PL/SQL is via Oracle External Procedure calls.

Please refer to a previous answer of mine at:
Webinar: MongoDB® Index Types

Join Percona’s Senior Technical Services Engineer, Adamo Tonete as he presents “MongoDB Index Types, How, When and Where Should They be Used?” on Wednesday, July 12, 2017 at 11:00 am PDT / 2:00 pm EDT (UTC-7).


Author Comment

ID: 6265363
Hi whbram,

Thanks a lot for your response. But I dont have to do anything with forms. I need to execute shell straight from Oracle Database.

Thanks any way.

Accepted Solution

whbram earned 50 total points
ID: 6267199
The code resides in a stored database procedure (PL/SQL).
That means that you can run it from the database.
Calling the procedure from Oracle Forms is just one way of invoking it.
You can call this stored procedure from a number of things, a job queue entry, a database trigger or anything that can call a PL/SQL procedure (even SQL Plus).

Author Comment

ID: 6269787
Thanks whbram !

Author Comment

ID: 6269790
Thanks whbram !

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
This post contains step-by-step instructions for setting up alerting in Percona Monitoring and Management (PMM) using Grafana.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

696 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