export to shell script variable

Hi all

When I tried to export values of variables using shell script. Its exported values dies shell dies.
oracle:/app/oracle # cat a.sh
export ABC=hi
oracle:/app/oracle # ./a.sh
oracle:/app/oracle # echo $ABC
ksh: ABC: parameter not set
How to store these values in the current shell
oracle:/app/oracle # cat a.sh
export ABC=hi
oracle:/app/oracle # . a.sh
oracle:/app/oracle #  echo $ABC
hi
Problem I sthat, I can't use above method I provide parametrs to shell. I want to make the interactive script.

select z in `ls`
 do
 echo $z
 break;
 done
 1) 1.txt
 2) a.sh
 3) admin
 #? 3
admin
Please suggest.

Let me know if the issue is not clear.

Thank you and best regards,
Ajay

How is it a question of Oracle? Have you tried to check the Unix Forum instead?

Nicolas.

Tags: Database

Similar Questions

  • Pass the Shell script variable to the plsql block

    Hello
    I have a shell script and pass the parameter of Shell script in a PLSQL block, I use the code but impossible to get any result, below
    Can someone help me with this issue?

    Shell script: test.sh


    * #! / bin/sh *.

    var1 = $1

    SQLPLUS = 'sqlplus-s ".
    Login = "gmisowner/gmisowner1".

    day ='$SQLPLUS $LOGON < < ++
    set the position
    Set feedback off

    Start
    select count () from mis_ref_codes where ref_description = & var1; *

    end;

    "exit";
    ++`

    echo $day

    Execution at the command prompt: >./test.sh Underline
    returns nothing

    1. I was hoping the count (*) in the number of lines in him select statement is stored in the day, but nothing returned as output of the plsql block
    the select statement above is an example, but I'll have to run a much larger plsql block

    I have syntactically doing something wrong? Please suggest

    Published by: Camilla January 14, 2012 12:35

    First of all you needget get rid of anonymous PL/SQL block:

    var1=$1
    
    SQLPLUS="sqlplus -s"
    LOGON="gmisowner/gmisowner1"
    
    day=`$SQLPLUS $LOGON <<++
    set heading off
    set feedback off
    select count(*) from mis_ref_codes where ref_description=&var1;
    exit;
    ++`
    echo $day
    

    But it still does not work. Your SQL * more script a proxy & var1. It has nothing to do with shel environment variable var1. That is why SQL * PLus prompts you to enter the value just after she readings

    Select count (*) in the mis_ref_codes where ref_description = &var1;

    And since you redirected input to your script, you must put value of var1, which isn't what you want, right? So what you need is:

    dev > # I'll set $1 to X
    dev > set X
    dev > var1 = $1
    dev > SQLPLUS = 'sqlplus-s ".
    dev > login = ' / '.
    dev > ='$SQLPLUS $LOGON < < EOF
    > set position
    > leave your comments
    > set verify off
    > select ' Have a nice day! "twice where dummy ="$var1 ";
    > "exit";
    > EOF'
    dev > echo $day
    Good day!
    dev >

    SY.

    Published by: Solomon Yakobson on 13 January 2012 15:17

  • Exports (from shell script) without password given explicitly in the script

    Hi all
    I have Oracle 10g 2 on SLES 10 64-bit. I would like to export the database using shell scripts data pump. Is there a method to hide the password in the script file.

    Currently to be done by the command:

    expdp system/password@database...

    If any user who see the script will know the Passover.

    Concerning

    Groxy

    Hello

    Have you thought about the feature ' Secure external password store "which was added in 10 gr 2? It uses the Oracle Wallet to store a database_alias with the name of user and password credentials in an encrypted format. You can then enter your order expdp like this:

    expdp / @database_alias...

    Take a look at the security of 10gr 2 Guide. There is a chapter on how to put in place.

    John

  • How to use select into command in shell script?

    I need to get the total number of rows in a table using select count (*) table and must assign a shell script variable. I used the following script, it returns the number of lines, but also with oracle headers, please help me to remove the headers.

    Shell script
    #! / bin/sh
    Count = "sqlplus $username/$password@$tnsname < < EOF"
    NEWPAGE 0 VALUE
    SET SPACE 0
    SET LINESIZE 80
    SET PAGESIZE 0
    SET ECHO OFF
    SET FEEDBACK OFF
    SET THE POSITION
    Select count (*) in the table.
    "exit";
    EXPRESSIONS OF FOLKLORE"
    echo "the value is"$count"


    O/P:

    SQL * more: Release 10.2.0.4.0 - Production on game Dec 22 05:01:33 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64 bit Production with the partitioning, options Real Application Clusters, OLAP, Data Mining and Real Application Testing
    SQL > SQL > SQL > SQL > SQL > SQL > SQL > SQL 525935 SQL > >
    Disconnected from the database to Oracle 10 g Enterprise Edition Release 10.2.0.5.0 - 64-bit options of Production with the partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing

    Use SQL * Plus silent mode. Change:

    Count = "sqlplus $username/$password@$tnsname<>

    TO

    Count ='sqlplus- s $username/$password@$tnsname<>

    SY.

  • Using the shell script sql variable

    OS: Oracle Linux 5.10

    DB Oracle 11.2.0

    I have need to query the database and assign the return value to a variable of shell, but it does not work.

    create table imr_env (key varchar2(1000), value varchar2(1000) ;
    insert into imr_env values('TblspcUsagePct','90');
    commit;
    

    Here is the shell script:

    #!/bin/bash
    echo "in script"
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ; export ORACLE_HOME
    ORACLE_SID=IMR1 ; export ORACLE_SID
    export PATH=$PATH:$ORACLE_HOME/bin
    
    pct=`sqlplus -S app/manager <<END
           set serveroutput on
           declare
              output_val number ;
           BEGIN
              select value into output_val from imr_env where key = 'TblspcUsagePct' ;
              dbms_output.put_line('output_val: ' || to_char(output_val)) ;
           END ;
           /
           exit;
    END`
    
    ## another sqlplus connection, use $pct in the where clause
    
    echo "var value is $pct"
    
    

    Here is the result:

    SQL> ./test.sh
    in script
    var value is 
    
    output_val: 90
    

    Why isn't the shell variable is populated with the value retrieved from the database?

    I need to use $pct in another query that will be storage spaces that are at least 90% full.

    I had to change to a korn shell - I couldn't get the "READ" command in shell or bash.

    But it is not only "READ" command:

    SQL > select * from IMR_ENV;

    THE KEY VALUE

    ------------------------- -----

    TblspcWarningLimit 90

    TblspcUsagePct 50

    SQL > exit

    Disconnected from the database to Oracle 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    With partitioning, OLAP, Data Mining and Real Application Testing options

    $ cat test.sh

    VAL = $(sqlplus-S test/test)<>

    Set feedback off

    set the position

    Select (value) from imr_env, including the key to_number = "TblspcUsagePct";

    Select (value) from imr_env, including the key to_number = "TblspcWarningLimit";

    "exit";

    EXPRESSIONS OF FOLKLORE

    )

    set $VAL

    Echo $1

    Echo $2

    $./test.sh

    50

    90

    $ echo $SHELL

    / bin/bash

    $

  • sqlplus from a shell script with the variable in unix

    I'm having some trouble calling sqlplus from a shell script... I am basically asking for a path/name of file which I attribute to one to a variable called $code. Then use cp to move the file ($code) to a new directory. I think that there is something wrong with my sqlplus below. echo $code does not work yet. I thought that $code was variable, which I could see, but rather it seems that the script is trying to rerun the SQL command each time.

    Any help would be greatly appreciated... condensed version of the code is below. Thank you!

    file in $FILES
    do
    Code =""
    code ='sqlplus-s $USER_PWD < < EOF
    Set the off position;
    set pagesize 0;
    Select r.outfile_name OUTFILE
    some paintings
    where file_name = $file;
    EXPRESSIONS OF FOLKLORE"
    echo $code
    CP $code $newdir

    Hello

    I hope code below will help but set feedback off so that he won't be any info if no line selected

    echo ${CODE}
    if [ -z "${CODE}" ]
    then
    echo "No rows returned"
    else
    echo "Returned"
    fi
    

    Concerning
    CA
    uninstall security tool
    essential elements of the Security window
    Windows startup configuration
    the Award bios update

  • OBIEE-Shell Script

    Hi all

    I'm trying my hands on scripting in OBIEE. I wrote following script

    #!/bin/bash
    export PATH=$PATH::$HOME/bin:/u01/app/oracle/obiee117g/instances/instance1/bin
    . /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl status
    
    

    When I run this script. I get the following error.

    /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl: line 25: =: command not found
    /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl: line 26: =: command not found
    /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl: line 28: syntax error near unexpected token `('
    /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl: line 28: `%commands = ('
    

    What Miss me?

    Thank you

    V

    TL; DR: this point on the third line of your script is redundant and the origin of the problem. Run this instead:

    /u01/app/oracle/obiee117g/instances/instance1/bin/opmnctl status
    

    Also, since you are using the absolute path (that is the full path to opmnctl, starting with a /) setting the environment variable PATH is redundant.

    Explanation:

    The dot is a shortcut for the command of the source , which has a different behavior to just run the script directly.

    You use source when you are wanting to run a script to set the environment etc. variables (an example of this is the script of bi - init.sh, which implements the OBI environment to run utilities such as nqcmd).

    If you open opmnctl itself, you will see that it is a perl script. The "shebang" on the first line tells linux to run the script using the perl interpreter, and I suppose when you are sourcing it Linux tries to pass under the shell running (bash) - and the perl language throws the bash syntax errors that you see

    More information: executable - different ways to execute a shell script - Unix & Linux change battery source or dot operator Man Page. Bash | SS64.com

  • Query does not not in shell scripts

    Hi Experts,

    I created a query to check the temp tablespace use in production servers and I wanted to run the query using shell scripts, but when I run the query in the script I get no error or output I am unale to correct where exactly, I make the mistake

    This is the query

    SELECT A.tablespace_name 'space', D.gb_total, ROUND (SUM (A.used_blocks * D.block_size) / 1024 / 1024/1024,2) "gb_used", ROUND (D.gb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024/1024,2) 'gb_free' v$ \sort_segment A, (SELECT B.name, C.block_size, ROUND(SUM (C.bytes) / 1024 / 1024/1024,2) 'gb_total' v$ \tablespace B, v$ \tempfile C WHERE B.ts #= C.ts # GROUP BY B.name, C.block_size) D WHERE A.tablespace_name = D.name GROUP by A.tablespace_name D.gb_total

    You can help in this.

    Thank you...

    Basic Linux/Unix shell script format

    #! / bin/sh

    oracle set environment #.

    Export ORACLE_HOME =...

    export of SID =... or TWO_TASK = export

    .. etc.

    # launch sqlplus

    sqlplus-s/nolog<>

    Connect scott/tiger

    together... environment of sqlplus

    -execution of script sql (or sql query)

    @script.sql

    output

    EXPRESSIONS OF FOLKLORE

    #end script

    Character $ is interpreted by the shell as environment variables, you must escape the $ character is as well as it not assimilated to the variable approx.

    For example, v$ instance should be written as v$ instance.

  • How to connect to remote Oracle through shell script server.

    Hi, I'm new to Shell scripting. I try to connect to remote oracle system, but I think Sqlplus not found error. I have sqlplus executable inside bin under oracle home, but still, I get the same error. can someone guide me to get this thing done.

    export ORACLE_HOME=/opt/oracle/oracle11g/product/11.2.0
    export NLS_LANG = American_America.US7ASCII
    export LD_LIBRARY_PATH = $ORACLE_HOME/lib: $LD_LIBRARY_PATH
    Export ORACLE_PATH = $ORACLE_HOME/bin
    export PATH = $ORACLE_HOME/bin: $PATH

    sqlplus-s/nolog < < EOF
    connect wcadmin / [email protected]:1521 / wctest98
    Select * twice;
    output
    EXPRESSIONS OF FOLKLORE

    Please describe in more detail what you are doing. You run scripts 2 or is it in a script? If you set the variables of Oracle in a separate script, you need to run the script.

    Source to run a script, the commands in the script are executed as if you type to the current command prompt. A script that is not executed source will lose the variables that you define in the script when the script stops. You can source run a script using the '. '. " script" or "source" (bash). The export command adds variables to the environment of the executed orders later.

    See the following examples:

    cat > shelltest <
    
    Test1:
    $ a=a
    $ ./shelltest
    
    $ echo $a
    a
    
    Test2:
    $ export a=a
    $ ./shelltest
    a
    $ echo $a
    a
    
    Test3:
    $ . ./shelltest
    a
    $ echo $a
    b
    
  • pl/sql to java shell script

    This issue crosses many boundaries, but it begins with PL/SQL, and I hope that there is sufficient expertise here in order to cover the basics.

    System: Oracle 11.2.0.1.0 on Oracle 5, 64 - bit Linux

    I have a PL/SQL, java appeal procedure, which in turn calls a shell script. I put a few diagnostic output in the shell script, the redirection of stdout to a file in / tmp. running the script from the command line works perfectly. When it is called by procedures, no output.

    Here is the 'chain of traceability', somehow...

    In the PL/SQL:
    Host_Command (p_command => v_command||v_control_file||v_orasid);
    where the variable v_command = /opt/u01/app/oracle/admin/control/sqlldr3_test.script


    So this is 'Host_command', the whole procedure procedure:
    CREATE OR REPLACE  PROCEDURE "DW"."HOST_COMMAND" (p_command  IN  
        VARCHAR2)
    AS LANGUAGE JAVA
    NAME 'Host.executeCommand (java.lang.String)';
    And the shell script /opt/u01/app/oracle/admin/control/sqlldr3_test.script:
    #!/bin/ksh
    export trcfle=/tmp/edstest.$$
    export ORACLE_SID=$2
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dwdev
    export PATH=$PATH:/u01/app/oracle/product/11.2.0/dwdev/bin
    export ORACLE_BASE=/u01/app/oracle
    export SQLLDR_CONTROLFILE=$1
    #
    echo input parms are $* >> $trcfle
    echo environment is: >> $trcfle
    env|grep -i ORACLE|grep -v grep|sort >> $trcfle
    #
    exit
    but in the end, there is no /tmp/edstest.* file
    oracle$ ls -ltr /tmp/eds*
    ls: /tmp/eds*: No such file or directory
    oracle$
    open to all ideas.

    I cut things down to their bases, but with the exception of the line of the high level process, the code above is finished... is that my test cut original scripts to exactly what is show. Requriement of business is to take existing scripts and remove some of the stuff that is hard coded, allowing procedures move from dev to qa to prod without hardcoded values unique to each environment.

    I'm very comfortable with PL/SQL and more with shell scripts, but the java link is a black hole for me.

    When the proc of Java runs the external command, a child process of Unix/Linux is created for it. This process inherits the environment settings of the parent process - that would be a dedicated server process, a work process or shared in the pool of the MTS server process.

    These processes have parameters of environment of bare bones and something fundamental that + $PATH + should not be approved as being valid and usable.

    If the Java code should fully qualify the path to the executable file to run.

    Java code should do 2 things - stdout (and stderr if possible) back to the appellant to PL/SQL as vacrhar2 of the parameters out. And return the exit code of the child process.

    They help a lot in troubleshooting why an outgoing external call failed.

    We use these external calls widely enough (through a number of interfaces, treatments to distance running and pulling on the release of data by the latter in the database). All driven from PL/SQL using the proc of Java to make an outgoing call. If the basics are working-, but there seems to be a constant learning and troubleshooting curve to follow to get this working in a robust way.

  • CDF to run commands / Shell scripts

    Hi friends,

    I need help serious here regarding the CDF function.

    I created a JAR file to run batch/shell scripts via the calculation script.

    I tested the JAR file and it works perfectly well that run without the calculation script, but I get errors including in Calc script, I get the error message.

    Initially, the error was: error of Machine virtual Java and later, it is class not found.

    Here are the steps to register the CDF:

    1. place the JAR file in the location: E:\Oracle\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\java\udf\

    2. update the file udf.policy with the following statement:

    Grants all permissions to BatEx

    give the code "file:${essbase.java.home}/BatEx.jar" {}

    permission java.security.AllPermission;

    };

    3 restart the Essbase services.

    4. I am trying to create this function at Global level so no mention is not the name of the Application in the MaxL at registration:

    create or replace function '@BatEx' as

    "BatEx.

    Spec '@BatEx(Complete path in double quotes) '.

    Comment "Functions A CDF that runs the batch file in Essbase Server";

    5 this is the calc script:

    @BatEx 'E:/Oracle/Middleware/EPMSystem11R1/common/utilities/Test.bat '; -It gives an error: error: invalid syntax 1012000 - not a command CALC [@BatEx]

    I tried another way:

    RUNJAVA @BatEx 'E:/Oracle/Middleware/EPMSystem11R1/common/utilities/Test.bat '; -Gives an error: problem running [@BatEx 'E:/Oracle/Middleware/EPMSystem11R1/common/utilities/Test.bat']: [can't find @BatEx class]

    Where I am wrong here? Please help me out here.

    Kind regards

    RB

    Thanks much Amit and Jake! I finally cracked!

    Sad thing is that I have found no OTN correct information regarding function Java Custom, rather there was a lot of information about CDFs pre-existing provided by Oracle, so I decided to write a complete solution of CDF, where Java code too was created by the developer of Essbase applications.

    The requirement that I had was to trigger the batch file in the calculation script. Here is the detailed requirement:

    Update Variable of Substitution by planning web form.

    1. the user enters the data in the form of the planning web and saves it.

    2. the calc script attached to the web form, extracts data and records the flat file on Essbase server.

    3. earlier we were executing the script batch on the web server as the workflow will identify the lots on the web server and not on Essbase server, but after the development of this CDF to run the batch job, the batch files can be run directly Essbase server.

    4. the idea is to keep the user limited to the tasks list, so that it does not jump to the to-do list to SubVar web form, workflow and then return to the task list for a simple job to change SubVar.

    There were a few challenges that I encountered during the development of this JAVA function, namely:

    1 function CDF records do not : I tested JAVA code separately using command line and the executable Jar file will execute the batch, as expected. But I couldn't get why my CDF is not have recorded trace. After a lot of searching on Google and analysis, I found that it was the difference between the Version of JAVA (the JAVA compiler I used to compile and create my JAR file) and JAVA (JVM Essbase) virtual machine. I used JDK 1.7 update 65 to compile and create my POT so that the JVM used in the Essbase Server Update 1.6 is 35. I uninstalled JDK 1.7 of my machine, downloaded Update 1.6 35 archives of the Oracle and recompiled the code. Guess what! My CDF function was recorded first.

    So always check the compatibility of the Version of the JDK you used to compile and create the JAR file and JVM on your Essbase server.

    You can check the version of the JVM in console EAS-> EssbaseCluster-> right click-> Edit-> properties-> tab environment. There is a line that appears something like:

    ; JvmModuleLocation $J (EPM_ORACLE_HOME)-...-jdk160_35\jre\bin\server\jvm.dll (the bold is your version of the JVM).

    2. "main class not found" error after successful registration of CDF:

    I haven't had that one category of Public in my JAVA code and this error took me by surprise. I also checked the "public static void main" section in my code and everything seems to be OK. Please note that JAVA is case sensitive - 'hand' and 'Hand' aren't even in JAVA.

    I did some further research and one of John's response to a CDF request, I came to know that I need to include another argument (context) in the main section of my Java code and recompile with classpath "essbase.jar" (I will explain the controls in the next steps). I changed the main section of my JAVA code and included the argument:

    Public Shared Sub main (paramContext context, String [] paramArrayOfString)

    The following JAVA code to perform the batch in Essbase Server:

    import com.hyperion.essbase.calculator.Context;

    import java.io.BufferedReader;

    import java.io.InputStream;

    import java.io.InputStreamReader;

    import java.io.OutputStream;

    import java.io.PrintStream;

    public class BatEx

    {

    Public Shared Sub main (context, paramContext, String [] paramArrayOfString)

    {

    Try

    {

    String str1 = paramArrayOfString [0];

    LocalProcess process = Runtime.getRuntime () .exec (str1);

    InputStream localInputStream1 = localProcess.getInputStream ();

    OutputStream localOutputStream = localProcess.getOutputStream ();

    InputStream localInputStream2 = localProcess.getErrorStream ();

    BufferedReader in = new BufferedReader (new InputStreamReader (localInputStream1)) localBufferedReader;

    String str2;

    While ((str2 = localBufferedReader.readLine ())! = null) {}

    System.out.println (str2);

    }

    System.out.println ("package executed successfully.");

    }

    catch (Exception localException)

    {

    System.out.println ("error!:" + localException);

    localException.printStackTrace ();

    }

    }

    }

    Install the (compatible to Essbase JVM) compatible version of the JDK on your machine. Compile the above code by using the following command:

    C:\ >javac - classpath essbase.jar BatEx.java - please specify the path to the file "essbase.jar". It generally to the location: : \Oracle\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\java\

    The code should compile without any problem, and a .class file must be created with the same name.

    Now is the time to create the JAR file. Use the following command:

    C:\ >jar cf BatEx.jar BatEx.class

    Now the executable JAR file must also be created.

    Place this JAR file: : \Oracle\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\java\udf\

    Restart the service of Essbase and application (the only Application Restarting should work, but I didn't take any chances to restart both).

    Check the log of function CDF recording applications. The application log should be at the location:

    : \Oracle\Middleware\user_projects\epmsystem3\diagnostics\logs\essbase\essbase\app\-

    The CDF enrollment message should be something like:

    External function of [GLOBAL] [@BatEx] saved OK

    I used the following MaxL to register my function in Essbase:

    create or replace function '@BatEx' as

    "BatEx.

    Spec '@BatEx (StringArray).

    Comment "Functions A CDF that runs the batch file in Essbase Server"

    I used the following script to calc to run my CDF (fairly simple however):

    ESS_LOCALE English_UnitedStates.Latin1@Binary

    RUNJAVA BatEx "": / Oracle/Middleware/EPMSystem11R1/common/utilities/Test.bat ";" -Note: please replace with the name of the physical drive.

    I went and checked the logs that the Test.bat written and "wallah! The log file had some content and 1 KB in size. I deleted the contents of the log file and checked again, the result was the same.

    Hope this answer helps all of us who work on CDF that is clean.

    Please like this post if this can help you in some way.

    Thanks again to Amit, Jake and John for helping me solve this puzzle.

    Kind regards

    Amit Kumar Singh

  • Need an example of loop with sql statement in shell script values

    Hello

    I have to present a simultaneous program to each line of the table through script shell (only).

    The table has all the parameters required to pass to the concurrent program.

    I have trouble in a loop with the lines of sql statement results.

    Could someone give me an example of a shell script with a loop with the sql statement values.

    appreciate your time and your help.

    Thank you

    Ganesh

    Hello

    Here is a guide using 3 parameters:

    {

    sqlplus-s $OA_USR / $OA_PWD<>

    SET THE OFF POSITION;

    SET FEEDBACK OFF;

    SET LINESIZE 300;

    SELECT param1, param2, param3

    Of your_param_table;

    ENDOFSQL

    } | while reading line

    do

    If ['$line'] # line non-NULL

    then

    set $line

    param1 = "$1."

    param2 = "$2."

    param3 = "$3."

    # Pass parameters to a script, sql more

    sqlplus-s $apps_usr / $apps_pwd @SUBMIT_CONC_PROG.sql $param1 $param2 $param3

    FI

    fact

    }

    In your SQL * more script you run 3 parameters into variables:

    declare

    VARCHAR2 (10) param1: = ' & &1';

    VARCHAR2 (10) param2: = ' & &2';

    param3 varchar2 (10): = ' & &3';

    .....

  • OEDQ 9.0.8 - external task - execution of Shell Script

    Hello Disqualification Experts.

    I am looking for your expert advise on this... With the help of the external task I am able to call the .bat (batchfiles) but I'm not able to run .ksh (UNIX shell script file), attached is the example script I am trying to run via the external task.

    File name: testfile.ksh

    #! / usr/bin/ksh

    Set - x

    $ORACLE_HOME/bin/sqlplus - s edq_test/edqtest@edqd < < EOF

    WHENEVER SQLERROR EXIT SQL. SQLCODE

    EXECUTE SP_TRUNCATE_TABLE ('ABC_OWN', 'ABC_TABLE');

    COMMIT;

    quit smoking;

    EXPRESSIONS OF FOLKLORE

    output

    Disqualification-> Manager-> External tasks-> Creates a new task called TestTask who has the below...

    Command: testfile.ksh

    Working directory: \opt\local\software\edq\config\commandarea

    Get this error Message:

    The external task (Execute testfile.ksh) failed because of the following exception: cannot run program "/ opt/local/software/edq/config/commandarea/testfile.ksh": error = 2. No such file or directory

    Thanks in advance!

    BG

    Dear Richard, thank you for your prompt response.

    # / bin/bash helped and I also have to export the ORACLE_HOME in the script, somehow the $ORACLE_HOME is not recognized by the external task.

    Example of Script working:

    #! / bin/bash

    export ORACLE_HOME=/ora02/oracle/product/11.2.0.4/client

    $ORACLE_HOME/bin/sqlplus - s edq_test/edqtest@edqdev<>

    WHENEVER SQLERROR EXIT SQL. SQLCODE

    EXECUTE SP_TRUNCATE_TABLE ('ABC_SCHEMA', 'ABC_TABLE');

    COMMIT;

    QUIT SMOKING;

    EXPRESSIONS OF FOLKLORE

    output

    Thanks for your help!

    BG

  • Component sql through shell script

    How to call a sql through UNIX shell script file?

    Rahul India wrote:

    export ORACLE_HOME=$ORACLE_BASE/product/10g
    
    cd $ORACLE_HOME
    set `sqlplus -s / <
    

    THIS SCRIPT IS OK?

    You will also need to set ORACLE_SID

    And I don't know why everyone puts the reference to sqlplus context of a 'set' assessment, nor why they put the reference to Scripture in a redirected input stream. What you need is

    sqlplus -s user/password  @r_100.sql
    

    And to make sure the environment is set correctly:

    export ORACLE_SID=whatever
    export ORAENV_ASK=NO
    . oraenv
    unset ORAENV_ASK=NO
    sqlplus -s user/password  @r_100.sql
    
  • Shell script to catch DB

    Hi all

    I have oracle DB in Amazon EC2. This DB will go down and I have to make every day.

    I want to write a shell script that checks the State of the DB and do.

    The things I do is

    Log in as root
    Su - oracle

    sqlplus
    user name:
    PWD:

    If DB is down, it shows error.

    So I'll do it again
    Log in as root
    . / stopPageview
    Su - oracle
    sqlplus
    user name: sys as sysdba
    PWD:

    the judgment
    startup

    output
    output
    . / startPageview

    How automatically using shell script?

    Published by: 969707 on January 9, 2013 04:36

    #! / bin/bash
    #
    # /etc/init.d/oracledb
    #
    # Startup script execution for the Oracle Listener and instance level
    # It relies on information on/etc/oratab

    # These are the paths for our basic installation
    export ORACLE_BASE = / opt/oracle
    export ORACLE_HOME=/opt/oracle/product/11.1.0/db_1
    Export ORACLE_OWNR = oracle
    export PATH = $PATH: $ORACLE_HOME/bin

    If [! f $ORACLE_HOME/bin/dbstart - o! d $ORACLE_HOME]
    then
    echo "Oracle startup: cannot start.
    Output 1
    FI

    case '$1' in
    implementation)
    # Start a listener and oracle instance
    echo - n "starting from Oracle:
    known $ORACLE_OWNR - c "start ORACLE_HOME/bin/lsnrctl $".
    known $ORACLE_OWNR-c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME.
    touch/var/lock/oracle
    echo 'OK '.
    ;;
    stop)
    # Stop listener and oracle instance
    echo - n "" shutdown Oracle: "."
    "judgment of $ORACLE_HOME/bin/lsnrctl" known $ORACLE_OWNR - c
    known $ORACLE_OWNR-c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME.
    RM-f/var/lock/oracle
    echo 'OK '.
    ;;
    reload | restart)
    $0 stop
    starting at $ 0
    ;;
    *)
    echo "use:" basename $0' start | stop | restart | reload. "
    Output 1
    ESAC

    Exit 0

    also use link below to create start & stop the database...
    http://www.Oracle-base.com/articles/Linux/automating-database-startup-and-shutdown-on-Linux.php
    http://www.exzilla.NET/docs/instance/StartupNshutdownWithshell.php

    *****************************************
    Best regards
    Shishir Tekade.
    My Blog: http://shishirtekade.blogspot.com

Maybe you are looking for

  • Qosmio X 500-116 - running Firefox & hard query by car

    Hello world Just a couple of queries if you let (I'm not very irritable) So far, I was unable to run Mozilla Firefox without it crashing. It seems to download & install OK but hangs at 100% of the time when I try and run it. Does anyone else have thi

  • Monthly hardware diagnostic test

    Top of A6510t HP desktop computer. Question of hardware diagnostic tools My monthly hardware diagnostic test ran and it showed: in the category of instruments 'storage '. storage-"smart auto court" has failed. It had on it. HD521-2W She supposed to c

  • When hotmail going to IMAP?

    When hotmail going to IMAP? It would be nice for those who use their phones to get the post.

  • HP Webcam 101 no longer works in Windows Vista__

    I was in the middle of skyping when (Web you Cam) that is installed on my computer suddenly came as it did before.  Usually, when it happened, I just closed or quickly entered in the options and changed to the HP Webcam - 101 defining.  This time whe

  • Reference Dell blade Intel X 710 the Ncdb FCOE support

    Now, I'm installing system on dell blade for my client, but when I configure the Intel X 710 Ncdb not to see the CF can show only Ethernet, anyone knows this FCOE support or not? Please help me!.