Re: su - oracle -c "script"

  • From: stephen booth <stephenbooth.uk@xxxxxxxxx>
  • To: joe_dba@xxxxxxxxxxx
  • Date: Thu, 11 Aug 2005 21:41:00 +0100

On 11/08/05, Joe Smith <joe_dba@xxxxxxxxxxx> wrote:
> I am trying to run this cmd as root from a shell script:
> 
> su - oracle -c /apps/oracle/product/9.2/bin/sqlplus /nolog
> @/apps/oracle/select_user.sql
> 
> output:
> 
> SQL*Plus: Release 9.2.0.6.0 - Production on Thu Aug 11 20:06:45 2005
> 
> Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
> 
> Enter user-name:
> 

I do something similar but the call to SQL*Plus is in a script, i.e.

su - oracle -c ./myscript.sh

where, in this case, myscript.sh would be

-------------------------------------------
#!/usr/bin/ksh

sqlplus /nolog <<EOF
@/apps/oracle/select_user.sql
EOF
--------------------------------------------

Have you tried doing that.  I'd guess that what's happening is that
the su command is interpreting the /nolog as a separate attribute.  If
you really don't want to encapsulate the call to SQL*Plus in a script
then try putting it in quotes:

su - oracle -c '/apps/oracle/product/9.2/bin/sqlplus /nolog'

Stephen

-- 
It's better to ask a silly question than to make a silly assumption.
--
//www.freelists.org/webpage/oracle-l

Other related posts: