RE: Why isn't my script running?

  • From: Eugene Pipko <eugene.pipko@xxxxxxxxxxxx>
  • To: "'Bobak, Mark'" <Mark.Bobak@xxxxxxxxxxxx>, 'Daniel Fink' <daniel.fink@xxxxxxxxxxxxxx>
  • Date: Wed, 25 Feb 2009 13:15:55 -0800

Including env file helped.
Thank you all.

Eugene Pipko
  Please consider the environment before printing this e-mail.


-----Original Message-----
From: Bobak, Mark [mailto:Mark.Bobak@xxxxxxxxxxxx] 
Sent: Wednesday, February 25, 2009 12:00 PM
To: Eugene Pipko; 'Daniel Fink'
Cc: 'oracle-l@xxxxxxxxxxxxx'
Subject: RE: Why isn't my script running?

Cause it doesn't know where to find oraenv.

Try putting:
export PATH=$PATH:/usr/local/bin


in the script somewhere before the '. oraenv' line.

(Of course, confirm what directory oraenv is actually in, and use that 
directory in the PATH setting above, but for most environments, it will be 
/usr/local/bin.)

-Mark

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Eugene Pipko
Sent: Wednesday, February 25, 2009 2:34 PM
To: 'Daniel Fink'
Cc: 'oracle-l@xxxxxxxxxxxxx'
Subject: RE: Why isn't my script running?

Thanks for the tip, however when I try it, I get:

/home/oraprd/scripts/spi_schema_stats.sh[12]: .: oraenv: not found

#!/bin/ksh
USER=SYSTEM
PASSWORD=test
export ORACLE_SID=SPIPRD
export ORAENV_ASK=NO
. oraenv

sqlplus -s $USER/$PASSWORD <<EOF
set feed off
set head off
set pagesize 0
exec dbms_stats.gather_schema_stats('TEST',ESTIMATE_PERCENT=>30,CASCADE=>TRUE)
exit;
EOF

Eugene Pipko
  Please consider the environment before printing this e-mail.


-----Original Message-----
From: Daniel Fink [mailto:daniel.fink@xxxxxxxxxxxxxx] 
Sent: Wednesday, February 25, 2009 11:25 AM
To: Eugene Pipko
Cc: 'oracle-l@xxxxxxxxxxxxx'
Subject: Re: Why isn't my script running?

You should use . oraenv as Mark suggested. By hard coding the 
ORACLE_HOME, you run the risk of breaking the script when you upgrade 
Oracle and/or move to a new ORACLE_HOME.

If you use oraenv, you have a tremendous amount of flexibility in 
scripting. Maintain your oratab and you don't worry about changing 
ORACLE_HOMEs and the same script can be used for multiple databases 
(pass in the ORACLE_SID as a parameter).

If you aren't going to use oraenv, you can remove the ORAENV_ASK line...

Regards,
Daniel Fink

-- 
Daniel Fink

OptimalDBA.com - Oracle Performance, Diagnosis, Data Recovery and Training

OptimalDBA    http://www.optimaldba.com
Oracle Blog   http://optimaldba.blogspot.com

Lost Data?    http://www.ora600.be/


Eugene Pipko wrote:
> Thank you,
> I exported $ORACLE_HOME and it worked:
>
> #!/bin/ksh
> USER=SYSTEM
> PASSWORD=test
> export ORACLE_HOME=/prod/oraprd/product/9.2.0
> export ORACLE_SID=SPIPRD
> export ORAENV_ASK=NO
>
> $ORACLE_HOME/bin/sqlplus -s $USER/$PASSWORD <<EOF
> set feed off
> set head off
> set pagesize 0
> exec dbms_stats.gather_schema_stats('TEST',ESTIMATE_PERCENT=>30,CASCADE=>TRUE)
> exit;
> EOF
>
> Eugene Pipko
>   Please consider the environment before printing this e-mail.
>
>
> -----Original Message-----
> From: Bobak, Mark [mailto:Mark.Bobak@xxxxxxxxxxxx] 
> Sent: Wednesday, February 25, 2009 10:34 AM
> To: Eugene Pipko; 'Mercadante, Thomas F (LABOR)'
> Cc: 'oracle-l@xxxxxxxxxxxxx'
> Subject: RE: Why isn't my script running?
>
> Well, there you go, sqlplus not found.
>
> That means PATH was not modified to contain $ORACLE_HOME/bin.
>
> Most likely cause is that you didn't run '. oraenv'.
>
> A quick look at your script, and sure enough, you set:
> export ORACLE_SID=SPIPRD
> export ORAENV_ASK=NO
>
> But you neglect to actually call '. oraenv' to setup the correct environment.
>
> Try adding:
> . oraenv
>
> immediately following:
> export ORAENV_ASK=NO
>
> in your script.
>
>
> That ought to do it,
>
> -Mark
>   


��i��0���zX���+��n��{�+i�^

Other related posts: