Re: [oracle_br] Shell Script start stop Oracle 10g HPUX

2008-12-10 Por tôpico Marcos Braga
Oi André,

O erro mostra alguma divergência com o operador; isso ocorre nos testes
"==" , são 4 testes e 4 erros, portanto deve ser isso mesmo.

Analisando outro parâmetro, observei que são dois sistemas operacionais
diferentes, porém o shell é o "ksh", portanto não haveria erros de
identação, que é o que parece.

Para ter certeza de que é isso, utilize o "if", como segue:

-- primeira parte:
if [ -z "$1" ]
then
echo "Usage $(basename $0) {instance_name} {start|stop}"
exit 0
fi

if [ -z "$2" ]
then
echo "Usage $(basename $0) {instance_name} {start|stop}"
exit 0
fi

-- na segunda parte, faça isso...
if [ "$2" == "start" ]
then
set startup open
fi
if [ "$2" == "stop" ]
then
set shutdown abort
startup restrict
shutdown abort
fi

--- opcionalmente, teste a segunda parte com estas modificações:
[ "$2" == "start" ] && set startup open
[ "$2" == "stop" ] && set shutdown abort && startup restrict && shutdown
abort
-- existem alguns interpretadores que consideram um parâmetro $X como um
número inteiro ou somente um caracter, as aspas podem identificar essa
dúvida.


Como não é exatamente um assunto de Oracle, mas de shell, qualquer dúvida,
pode me contactar em pvt.

[]'s
Braga




2008/12/10 André Alves <[EMAIL PROTECTED]>

>   Olá Pessoal,
> Tenho aqui um script num server AIX que serve para iniciar e parar vários
> bancos passando o SID e start ou stop e queria usá-lo num server HPUX mas
> não está funcionando.
>
> O uso seria assim: ./ora_ss.sh EMREP start ou /ora_ss.sh EMREP stop
>
> O script é esse:
> #!/bin/ksh
> #
>
> [ "X$1" == "X" ] && echo "Usage $(basename $0) {instance_name}
> {start|stop}"
> [ "X$2" == "X" ] && return
>
> rm /tmp/*$2.tmp 2> /dev/null
> log=/tmp/$$.$2.tmp
>
> do_sql ()
> {
> $ORACLE_HOME/bin/sqlplus -s  /nolog >>$log < connect / as sysdba
> $@
> EOF
> }
>
> export ORACLE_SID=$1
> [ $2 == start ] && set startup open
> [ $2 == stop ] && set shutdown abort && startup restrict && shutdown abort
> do_sql $@
>
> O erros que retornam são esses:
>
> ./ora_ss.sh[6]: ==: unknown test operator
> ./ora_ss.sh[7]: ==: unknown test operator
> ./ora_ss.sh[22]: ==: unknown test operator
> ./ora_ss.sh[23]: ==: unknown test operator
>
> Alguém poderia me ajudar a descobrir o que podem ser esses erros???
>
> Muito obrigado, Abs, André
>


[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Shell Script start stop Oracle 10g HPUX

2008-12-10 Por tôpico André Alves
Olá Pessoal,
Tenho aqui um script num server AIX que serve para iniciar e parar vários 
bancos passando o SID e start ou stop e queria usá-lo num server HPUX mas não 
está funcionando.

O uso seria assim: ./ora_ss.sh EMREP start ou /ora_ss.sh EMREP stop

O script é esse: 
#!/bin/ksh
#



[ "X$1" == "X" ] && echo "Usage $(basename $0) {instance_name} {start|stop}"
[ "X$2" == "X" ] && return

rm /tmp/*$2.tmp 2> /dev/null
log=/tmp/$$.$2.tmp

do_sql ()
{
$ORACLE_HOME/bin/sqlplus -s  /nolog >>$log