How to call shell script from a pl/sql procedure
Hi all,
I am little bit new to plsql programming, i have a small problem as follows
I have to call a shell script from a pl/sql procedure ..
Please suggest me some methods in oracle 10g, which i could make use of to achieve my goal. also please tell me what are the constraints for those methods if any.
I already came across dbms_scheduler, but i have got a problem and its nor executing properly its exiting giving 255 error or saying that permission problem, but i have already given full access to my shell scripts.
Thanks in advance
Best Regards
Satya
Hi,
Read this thread, perhaps is there your response :
Host...
Nicolas.
Similar Messages
-
Hi,
Please let me know how to call shell scripts from WDA
Thanks
Bala DuvvuriHi Bala
You can not call any client side funcitons using Web Dynpro ABAP, it is possible in BSP using JavaScript.
You can use Suspend and Resume Plugs to navigate to a BSP page and perform the shell script and return to WDA using Resume Plug.
http://help.sap.com/saphelp_nw04s/helpdata/en/45/19bf8c16f25d7ae10000000a11466f/frameset.htm
Now, you can use JavaScript to execute shell script:
http://www.itjungle.com/mpo/mpo052302-story01.html
Abhi -
Calling shell script from apex application
Please let me know if anyone has tried Calling shell script from apex application, it would be nice enough if you can share how you did it? Thanks
Hi,
Requirements
* CREATE JOB (10g Rel.1)
* CREATE EXTERNAL JOB (10g Rel.2 / 11g)
* EXECUTE on dbms_scheduler (granted to public by default)
Since Oracle 10.2.0.2 the commands are executed as user nobody.
Code:
--Create a Program for dbms_scheduler
exec DBMS_SCHEDULER.create_program('RDS2008','EXECUTABLE','c:\ WINDOWS\system32\cmd.exe /c echo 0wned >> c:\rds3.txt',0,TRUE);
--Create, execute and delete a Job for dbms_scheduler
exec DBMS_SCHEDULER.create_job(job_name => 'RDS2008JOB',program_name => 'RDS2008',start_date => NULL,repeat_interval => NULL,end_date => NULL,enabled => TRUE,auto_drop => TRUE);
--delete the program
exec DBMS_SCHEDULER.drop_program(PROGRAM_NAME => 'RDS2008');
--Purge the logfile for dbms_scheduler
exec DBMS_SCHEDULER.PURGE_LOG;
This is one way as suggested by Trent.
We can also achieve as follows.
http://www.dba-oracle.com/t_execute_shell_script_plsql_procedure.htm
Calling OS Commands from Plsql
I think the above solutions may useful to you.
Let me know if you are facing any problem.
Thanks and Regards
Maheswara -
Can we call shell script from oracle 9i?
Hi experts,
I wanted to know can we call shell script from oracle 9i procedures? If yes,how
Thanks
ShaanNo. I can't think of a way to do this...
If you want you can use DBMS_SCHEDULER to call OS SHELL scripts within.
For e.g.
CREATE PROGRAM
begin
dbms_scheduler.create_program
program_name => 'CHECK_TIME',
program_type => 'EXECUTABLE',
program_action => '/opt/oracle/chk_date.sh',
enabled => TRUE,
comments => 'Check the Time'
end;
CREATE A SHELL SCRIPT
opt/oracle> cat chk_date.sh
#!/usr/bin/ksh
echo "The date is :`date`"
CREATE SCHEDULE
begin
dbms_scheduler.create_schedule
schedule_name => 'EVERY_30_MINS',
repeat_interval => 'FREQ=MINUTELY; INTERVAL=30',
comments => 'Every 30-mins'
end;
CREATE JOB
begin
dbms_scheduler.create_job
job_name => 'RUN_CHECK_TIME',
program_name => 'CHECK_TIME',
schedule_name => 'EVERY_30_MINS',
comments => 'Run the program CHECK_TIME every 30 minutes',
enabled => TRUE
end;
MANUALLY RUN A JOB
exec dbms_scheduler.run_job('RUN_CHECK_TIME'); -
Call a UNIX shell script from an oracle stored procedure
We need to call a UNIX shell script from an oracle stored procedure
i.e. the control should come back to the procedure once the script completes. Can any body help to achieve this ?There are various ways in achieving this.
For Example, you can call a PRO*C-Library residing on the database server.
This requires a PL/SQL library to be generated and some changes to the Listener configuration.
It is also possible to implement a java procedure on the database being invoked by a PL/SQL wrapper class.
In this way (and if used right) there is also granularity regarding the filestructure permissions given and it may be called during a Forms or other PL/SQL session.
The article below explains a more generic approach how to invoke shell commands from within an Oracle Instance.
Be careful with this, because it really works ;)
Refer to :
http://www.oracle-base.com/articles/8i/ShellCommandsFromPLSQL.php
Message was edited by:
user434854 -
Calling Shell Script From Java
Hi i have a shell script which calls the ant command.How do i call this shell script from jdk 1.5. I used p = runtime.exec( filename) but it threw an IOException saying cannot execute. How do i call this from my java program which runs on the redhat linux box.Please Help
Possibility:
It does not have execute permissions - Either grant them by chmod or use the command as sh <script-name>
Rich -
Calling shell script from stored procedure.
Hi Everybody,
Could anyone tell me how to call a shell script from a stored procedure.
Thanks,
VasuYou would need to write a Java stored procedure that calls out to the underlying operating system. Tom Kyte has an example of this here
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:952229840241
Make sure that you're very aware of the security implications here, however. Your commands will run as the Oracle user on the host operating system, which makes it possible that a coding error and/or an attacker could do something like delete or corrupt Oracle data files, so you'll probably want to harden the code substantially.
Justin -
Calling shell script from sql procedure
Hi gurus
Is it possible
1)to call a shell script from sql procedure
2)that shell script has to return one value
3)and again sql procedure(calling shell script) has to capture the return value.
please help me to write this scriptYou may NOT have EXECUTE privilege/ permissions on the DBMS_PIPE package. Check with your DBA.
Using DBMS_PIPE may not be that simple to implement. Just making a call to DBMS_PIPE procedure will not do anything. It will NOT trigger anything on the UNIX side.
. You will also need to :
1. Write a job (ie CRON) at UNIX side which will keep read the incoming pipe for new messages, Unpack the message and get the command to be executed at the UNIX side -- There will be a lot of work involved here + DBA presence/activity is also required.
As Justin has pointed out, try and use HOST command which is very simple or try and use Java.
Shailender Mehta -
Hello All,
I have been using some well known Java Class and Procedures to execute shell scripts from PL-SQL.
The different environments I was using before were
1)
Operating System (Server) AIX version 5
Oerating System(Client) Microsoft Windows XP Service Pack 2
Oracle Database Version Oracle Database 10g Enterprise Edition Release
10.2.0.1.0
2)
Operating System (Server) Red Hat Linux 3.4.5-2
Oerating System(Client) Microsoft Windows XP Service Pack 2
Oracle Database Version Oracle Database 10g Enterprise Edition Release
10.2.0.1.0
But suddenly I had to drop and recreate the Databases on 1st (AIX) environment
and
reinstall the Operating System (Server) Red Hat 3.4.5-2 on IInd environment stated above (which obviously means the reinstallation of Oracle Database there!)
Now the shell script(through PL-SQL)is executing smoothly for the IInd (Linux) environment[b] but not executing for the Ist (AIX) environment
and I am not getting how to solve the problem.
I have given all the permissions to users, shell scripts and all as they were before.
Can you please help?
Regards,
Abhijit.Hello All,
I have been using some well known Java Class and Procedures to execute shell scripts from PL-SQL.
The different environments I was using before were
1)
Operating System (Server) AIX version 5
Oerating System(Client) Microsoft Windows XP Service Pack 2
Oracle Database Version Oracle Database 10g Enterprise Edition Release
10.2.0.1.0
2)
Operating System (Server) Red Hat Linux 3.4.5-2
Oerating System(Client) Microsoft Windows XP Service Pack 2
Oracle Database Version Oracle Database 10g Enterprise Edition Release
10.2.0.1.0
But suddenly I had to drop and recreate the Databases on 1st (AIX) environment
and
reinstall the Operating System (Server) Red Hat 3.4.5-2 on IInd environment stated above (which obviously means the reinstallation of Oracle Database there!)
Now the shell script(through PL-SQL)is executing smoothly for the IInd (Linux) environment[b] but not executing for the Ist (AIX) environment
and I am not getting how to solve the problem.
I have given all the permissions to users, shell scripts and all as they were before.
Can you please help?
Regards,
Abhijit. -
11g - calling shell script from trigger
From what I read so far, starting from 11g onward user credential IS REQUIRED in order to call the shell script from database procedure/trigger. I am working in a shop where they used SSO (so no password) and having a local user with password is not possible.
I wonder if anyone used any other method to call the shell scripts from database procedure/trigger?
Thanks alluser550338 wrote:
performance is not going to be a problem for this requirement b/c it ONLY happened after the startup or before the shutdown.
That still -- even more so --- sounds like a bad idea. Exactly what does this shell script accomplish that needs to be triggered by database startup/shutdown? -
Calling shell script from forms9i
Hi,
I have a shell script that inserts records in the table. When I run this shell script in Unix, it runs fine and inserts records in the table.
But when I run it from forms9i by using HOST command it does everything written in the shell script but inserting records in the table.
Can anyone tell me why it is not inserting records in the table.
I will really appreciate you response.
Thanks,
KumarIMO when you run the shell script from forms it runs in privileges of App server user and in that shell that why its running as oraias when you run it from forms .. I think the SSO is out of picture in this situation.So you need to find a way of connecting to the in the script.
Check the TNS names environment varaibles etc for doing this, -
Calling shell scripts from within Oracle PL/SQL codes
Hello,
We are migrating from informix to Oracle. In our Informix Stored Procedure we
were able to call Unix Shell Script by executing a 'SYSTEM' command, such as:
CREATE PROCEDURE magazine(flag1, flag2)
SYSTEM '/pics2/informix/mag.sh' || flag1 || flag2;
END PROCEDURE;
How can I write this in PL/SQL? Is there a simillar command for 'SYSTEM' in PL/SQL?
ThanksMike,
Wrong forum, for this question, suggest you ask it in the PL/SQL forum.
Jim Stern -
Calling Shell Script from BPEL
I hav a requirement of calling a shell script (.sh) from BPEL. Can anybody help me out....how can i achieve this?
For embedding Java:
http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/java.htm#sthref1282
For Java:
http://forum.java.sun.com/thread.jspa?threadID=635568&messageID=3700440
try
String execString = "ls -all"
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(execString);
/* handle you process from here..
outputstreams, inputStreams and such
catch (Exception e)
e.printStackTrace()
} -
How will execute shell scripts from AR91
hallo, please help me to find where I can configure the execution mode for scripts called als run-Script in acroread.
Following scenario: a pdf file (see attachement testpdf.pdf), generate from pdflatex (see testpdf.tex.txt) calls a bash script beispiel.sh (see attachement beispiel.sh.txt). Dependend from situation opens an editor window or an xterm. Under GNOME can we not open the xterm, there start only editor windows - gvim/emacs/kwrite, but not well defined. With acroread7 opens a xterm after menu dialogs. How can i configure an defined behaviour ?
Thanx for any help
Regards, MatthiasHi Matthias,
To achieve this you can try to change the default "Open With" settings of .sh files to "xterm" as highlighted in the snapshot below
This will enable to execute any shell script in xterm.
Let us know if this helps.
Thanks,
Vaibhav -
How to call Java script from java code?Can Jscript be executed at server?
Hi All,
We are using 'WebTrends' tool to analyze our site usage pattern.
To use WebTrends, we need to :
1) call Java Script code from the java code
2)Java script has to be executed at server.
Please comment on two points mentioned above. If yes, please let me know how to do them?
Thanks in advnce,
Regards,
GangaYou can check out Rhino project.
[http://www.mozilla.org/rhino/]
Maybe you are looking for
-
My mac falls and don't start only makes a beep sound
please tell how i can fix my mac
-
I am using Logical database PNPCE in HR for my report. To get the selection screen of the LDB in my report program i need to give the statement TABLES : PERNR. But using this is giving me EPC error that TABLES should not be used. If i take out TABLES
-
crash information is identical for every single page that it crashed on: Problem signature: Problem Event Name: APPCRASH Application Name: firefox.exe Application Version: 2.0.0.4094 Application Timestamp: 4d8374f3 Fault Module Name: ntdll.dll Fault
-
Converting Word Doc to writable PDF
Is it possible to convert a Word 2003 doc into a writable PDF? I'm not very tech savvy and have tried everything I can think of. Please help!
-
When trying to download app my apple id shows as an old email address
I have set up my daughters itouch and she has the same apple id as us to be able to download apps. When I try to download apps or update existing ones the apple id comes up with an old email address we haven't used in ages??!!! I have turned the de