shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Shell Script


From: Marcelo Rios Kwecko
Subject: Re: [shell-script] Shell Script
Date: Fri, 1 Mar 2002 17:13:52 -0300 (BRT)

 Gostaria se possivel uma copia.
 Ahh, quando saira a nova edicao

[]s

Marcelo Rios kwecko
address@hidden



On Fri, 1 Mar 2002, Julio Cezar Neves - DISB.O wrote:

> Estou te mandando em PVT. Não mando para a lista toda, pq a última vez que
> fiz isso, teve um monte de colegas que receberam o material e reclamaram por
> que estava no formato .doc (que é o formato que o editor me obriga, *por
> contrato*, a usar), porque em uma lista não se anexa arquivos, ...
>
> Como não tenho necessidade de agradar a gregos e baianos, e faço isso pelo
> simples prazer de ajudar ao próximo (não sou bíblia, mas estou parecendo:^),
> prefiro mandar para 1000 endereços de e-mail do que mandar para lista.
>
> Favor não contestar minha opinião pq ela é irrevogável.
>
> [ ]s,
> Julio
>
> Obs: Aqueles que estão me enviando e-mail e citam que compraram meu livro,
> mando o "kit" de upgrade para a 3ª edição. (named-pipes + getopts).
>
> -----Mensagem original-----
> De: Diego Framill [mailto:address@hidden]
> Enviada em: sexta-feira, 1 de março de 2002 11:01
> Para: address@hidden
> Assunto: Re: [shell-script] Shell Script
>
>
> ok, manda pra mim tambem! :)
> aparentemente todos querem, entao manda pra lista toda...
>
> -----Mensagem Original-----
> De: "Walter" <address@hidden>
> Para: <address@hidden>
> Enviada em: sexta-feira, 1 de março de 2002 09:36
> Assunto: Re: [shell-script] Shell Script
>
>
> Tambem tenho interesse em uma cópia...
>
> Valeu
>
> Walter
> ----- Original Message -----
> From: "Julio Cezar Neves - DISB.O" <address@hidden>
> To: <address@hidden>
> Sent: Thursday, February 28, 2002 11:29 AM
> Subject: RES: [shell-script] Shell Script
>
>
> Oi Teresa,
>
> sem dúvida alguma, o melhor a fazer é utilizar named-pipes ou FIFO. Acabei
> de escrever uma seção sobre o assunto que será incorporada à terceira edição
> do meu livro, que traz como exemplo um caso bastante parecido com o que vc
> precisa. Trata-se da simulação de lock em bancos. Quem quiser me peça que a
> envio em um anexo (.doc). É um texto com várias páginas.
>
> Não tentei entender a sua lógica por absoluta falta de tempo, porém para
> rapidamente poder te ajudar vou colocar um resumo do que deve ser feito:
>
> prompt> mkfifo pipe1
> prompt> ls -l pipe1
> prw-r--r--   1 jneves   ssup              0 Jan 24 16:54 pipe1
> # Note que o arquivo pipe1 é do tipo "p"
>
> No final do prg R.SH coloque o seguinte comando:
> echo "Dispara R1.SH" > pipe1
>
> Inicie o programa R1.SH da seguinte maneira:
>
> Disparo=
> while [ "$Disparo" != "Dispara R1.SH" ]
> do
>     Disparo=`cat pipe1`
> done
>
> Pode ficar despreocupada que vc não está criando um loop furioso que exaure
> todos os recursos da máquina. O named-pipe precisa de um processo "falador"
> e de um "ouvidor". Enquanto os 2 não estiverem presentes o que estiver na
> ponta do pipe estará em modo de espera.
>
> Coloquei o while só porque não conheço a sincronização dos seus processos e
> pode ser que vc use o pipe para diversas mensagens. Coloque na saída do
> R1.SH a seguinte linha:
>
> echo "Dispara R2.SH" > pipe1
>
> Inicie o programa R2.SH da seguinte maneira:
>
> Disparo=
> while [ "$Disparo" != "Dispara R2.SH" ]
> do
>     Disparo=`cat pipe1`
> done
>
> Pronto! Ai está! Limpo e seguro.
>
> [ ]s,
> Julio Cezar Neves.
>
> Em tempo: abra 2 seções e faça testes direto no prompt para vc entender
> melhor este mecanismo. É sensacional para sincronização de processos.
>
> -----Mensagem original-----
> De: saghui [mailto:address@hidden]
> Enviada em: quinta-feira, 28 de fevereiro de 2002 08:23
> Para: address@hidden
> Assunto: [shell-script] Shell Script
>
>
> Olá.
>
> Estou com um problema que espero que um de voces me possa ajudar.
> :)
>
> Eu tenho uma shell script (R.SH) que chama outras duas (R1.sh e
> R2.sh) para fazer o seguinte:
>
> A primeira rotina (R1) chama o sql*loader para que este carregue uma
> tabela no oracle.
>
> A segunda rotina (R2)tem instruções sql para fazer o rebuild dos
> índices da tabela que está a ser carregada na R1.
>
> É aqui que começa o meu problema ...
> :(
>
> O unix lança a instrução do rebuild (R2.sh) sem antes ter terminado o
> load dos dados na tabela (R1.sh).
>
> Claro que depois não faz o rebuild porque a tabela oracle está a ser
> acedida pelo sql*loader....
> :(
>
> A única solução que eu arranjei foi executar o sql*loader, e depois
> pesquisar se existe algum processo
> sqldr a correr no unix e, enquanto existir, fazer sleeps de 300
> segundos !
> Mas esta solução não me agrada muito ... porque vou ter de correr
> esta rotina várias vezes e, umas vezes 300 segundos é muito
> tempo e, outras vezes, 300 segundos é pouco ...
>
> O que eu gostaria de saber é se existe algum parâmetro (tipo wait)
> que eu possa colocar na rotina unix de forma
> a que a minha rotina R2.sh só seja executada quando a rotina R1.sh
> termine ...
> Alguém sabe se existe ? Podem ajudar-me ?
>
> Obrigada!
>
>
> Teresa
>
>
>
> As rotinas são estas:
>
> ### R.SH ###
> DIR_KSH=/net/dev-utdad1/Desenv_UTDAD001/ksh
> . $DIR_KSH/R1.sh
> . $DIR_KSH/R2.sh
>
>
> ### R1.sh ###
>
> DATE=`(date '+%Y%m%d')`
> USER=tmc
> PASSWORD=:)
> BD=sa
> DIR_INP=/net/dev-utdad1/Desenv_UTDAD001/inp/ff_tratados
> FICH_CTL=dwtrmostl.ctl
> FICH_DAT=dwtrmostl.dat
> DIR_LOG=/net/dev-utdad1/Desenv_UTDAD001/logs
>
>
> sqlldr $USER/$PASSWORD@$BD control=$DIR_INP/$FICH_CTL data=$DIR_INP/
> $FICH_DAT log=$DIR_LOG/dwtrmostl.log bad=$DIR_LOG/dwtrmostl.bad
> DIRECT=TRUE SILENT=FEEDBACK  SKIP_INDEX_MAINTENANCE=TRUE SKIP=0 &
>
>
> i=1
> while [ $i -ne 30 ] ; do
>
>    if [ `ps -futmc | grep "sqldr" | grep -v "grep" | wc -l` != 0 ]
>    then
>
>         sleep 300
>         i=0
>         echo dormi 300
>    fi
>
>    i=`expr $i + 1`
> echo $i no while
> done
>
> #### R2.sh #####
> spool /net/dev-utdad1/Desenv_UTDAD001/logs/DWTrmostlRebuildIndex.log
> set timing on
> ALTER TABLE dw_t_rmo_stl MODIFY PARTITION dw_t_rmo_stl_p1 REBUILD
> UNUSABLE LOCAL INDEXES;
> spool off
> exit
>
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
>
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]