Re: [oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico Milton Bastos Henriquis Jr.
Olha que estranho... é uma base OLTP, mas que ninguém se conecta, e a única
coisa que rodam é essa batch?

Ou seja... ela não tem característica de base OLTP.

Diante desse cenário eu acredito que seja possível SIM ajustar a base para
que essa batch rode mais rápido.
Só que eu não sei o que faz essa batch (se é muito insert, se é muito
update, se são tabelas muito grandes,
ou se são muitas operações em um monte de tabelas pequenas...), então fica
complicado opinar.

Exemplos: tabelas MUITO grandes, usar particionamento.
Selects retornando muitos dados: TALVEZ alterar o tamanho do bloco, criar
uma tablespace com bloco de 32k...
Aumentar a Large Pool ou alguma outra estrutura de memória dependendo do
que acontece nesse batch...

Enfim, tudo DEPENDE.




2012/5/10 Rafael Vieira 

> **
>
>
> Milton, obrigado pelo retorno.
>
> 1 - OLTP
>
> 2 - É manual, não tem um horário certo, mas o pessoal costuma a rodar pela
> manhã e a tarde, às vezes deixam a noite também.
>
> 3 - Nos dois horários apenas um usuário estava conectado pela aplicação
> rodando o BATCH.
>
> 4 - Creio que não, eu não acompanhei o processo inteiro, pois tinha outros
> fazeres, mas o tempo que acompanhei, não tinha ninguém concorrendo com o
> BATCH, apenas ele estava sendo executado.
>
> 
> De: Milton Bastos Henriquis Jr. 
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Quinta-feira, 10 de Maio de 2012 11:35
>
> Assunto: Re: [oracle_br] Re: Eventos em espera
>
> 1 - Essa base é OLTP ou OLAP?
>
> 2 - Essa Batch roda de quanto em quanto tempo? É automático ou manual?
>
> 3 - Quantos usuários tinham conectados e trabalhando "ontem de manhã",
> quando rodou em 40 minutos?
> E quantos tinham a tarde, quando rodou em 8 horas?
>
> 4 - Haviam OUTROS processos concorrentes dessa batch a tarde que não tinham
> de manhã?
>
> 2012/5/10 Rafael Vieira 
>
> > **
>
> >
> >
> > Chiappa, gostaria de mais uma ajuda sua...
> > Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em
> 8
> > horas, o pessoal veio argumentar que a aplicação não mudou absolutamente
> > nada, e que queria uma explicação por conta desse tempo, está todo mundo
> > colocando a culpa no database, mas eu não mudei absolutamente nada, não
> foi
> > feita nenhuma alteração e nenhum ajuste foi feito no database, o
> argumento
> > do pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi
> > colocado novamente em execução e acabou em 8 horas. O meu argumento está
> > sendo que o problema é a query que detectei mal escrita que está dando o
> > problema e que eh executada dezenas de vezes, mas eles voltam a
> argumentar
> > o tempo que foi rodado antes em 40 minutos, teria algo a acrescentar em
> > defesa do database? Preciso de uma justificativa à dar sobre isso, eu sei
> > que é difícil pra uma pessoa que está de fora e não tem nem noção da
> > infra-estrutura, nem idéia do modelo e de como é o processo,
> > mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai
> pra
> > diretoria e preciso de algo para me justificar. O grande problema é que
> não
> > tenho à quem recorrer além do Blog e dos amigos.
> >
> > 
> > De: Rafael Vieira 
> > Para: "oracle_br@yahoogrupos.com.br" 
> > Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
> > Assunto: Re: [oracle_br] Re: Eventos em espera
> >
> >
> >
> >
> > Chiappa, muito obrigado pela ajuda.
> >
> > Realmente, achei muito interessante essa criação da view materializada,
> > realmente essae query busca milhões de linhas todas as vezes que é
> > consultada, e como falei anteriormente ela é rodada centenas de vezes(
> que
> > segundo o pessoal realmente é necessário). Irei fazer sim esse teste
> junto
> > com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc
> > escreveu no prórpio grupo sobre MV's é uma excelente alternativa.
> >
> > Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em
> > índices onde a maioria está setada para 8 que é o total de processadores
> > que nós temos, como esse banco é expecífico para esse BATCH, quando o
> > processo inicia ninguém mais se conecta no banco por questão de
> > concorrência etc...
> >
> > No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA?
> > Eu sou muito novo na área e estou aprendendo aos poucos, eu me encontro
> em
> > uma situação dificil pois não tem outro DBA para me auxiliar.
> > Então alguns termos as vezes não fica claro para mim.
> >
> > As estatísticas, todas estão sim atualizadas.
> >
> > 
> > De: J. Laurindo Chiappa 
> > Para: oracle_br@yahoogrupos.com.br
> > Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
> > Assunto: [oracle_br] Re: Eventos em espera
> >
> >
> > Colega, lamento ser o desmancha-prazeres, mas é um Fato que :
> >
> > - não existe um "parâmetro", um setting que vc aplique e faça qquer
> tarefa
> > no banco de dados ficar "rápida"
> >
> > - como qquer software, se vc mandar o banco de dados f

Re: [oracle_br] Export - Crontab

2012-05-10 Por tôpico Wadson Ramon
Os meus scripts começam assim:
Lembrando que o meu .bash_profile já está configurado com as variáveis
de ambiente do oracle.


#Definindo Variáveis do Oracle

.  /home/oracle/.bash_profile

#Definindo Variáveis  do script

DIA=`date +%d%m%y`
DIANT=`date --date='1 day ago' '+%d%m%y'`
USERP="/home/oracle/scripts/.crypt/.user"


Wadson Ramon.


Em 9 de maio de 2012 17:10, Rodrigo Mufalani escreveu:

> **
>
>
> Boa tarde Marcelo,
>
> Esse erro é típico eu apanhei muito para descobrir o que era.
>
> A crontab é um shell limpa, ou seja, ela não conhece suas variáveis de
> ambiente do usuário. Pegue as linhas relativas ao Oracle do seu
> .bash_profile e adicione ao seu script ou execute o .bash_profile ou
> .profile ao executar o script de backup.
>
> #!/bin/bash
>
> . /home/oracle/.bash_profile # carregando as variáveis de ambiente
>
> expdp 
>
> E por ai vai...
>
> Ou no script...
>
> #!/bin/bash
>
> export ORACLE_BASE=/caminho/da/sua/oracle_base
>
> export ORACLE_HOME=/caminho/da/sua/oracle_home
>
> export ORACLE_SID=<>
>
> expdp X
>
> Espero que te ajude.
>
> Atenciosamente,
>
> Rodrigo Mufalani
>
>  rodr...@mufalani.com.br
>
>  www.mufalani.com.br
>
> twitter: @mufalani
>
> Descrição: Descrição: Descrição: logo_mufalani
>
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de Marcelo da Silva Pranckevicius
> Enviada em: quarta-feira, 9 de maio de 2012 16:18
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Export - Crontab
>
>
> Caros Colegas,
>
> Inseri no Crontab uma linha para a geração do export para algumas tabelas.
>
> Meu arquivo dump.sh possui apenas uma linha com o comando do export.
> Manualmente ela executa corretamente.
>
> Na linha do meu Crontab inseri o seguinte:
>
> 00 18 * * * /dumps/dump.sh
>
> No horário estipulado o dump.sh não é executado.
>
> O que estou fazendo de errado?
>
> Oracle 11.2.0.3 Enterprise
>
> Linux RedHat 5.7 Enterprise
>
> Desde já agradeço a ajuda.
>
> Marcelo da Silva Pranckevicius
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] ORA-01010: operação OCI inválida ... URGENTE ...

2012-05-10 Por tôpico Luis Freitas
Ricardo,
 
   Nunca vi esse erro!
 
   Mas pela descricao do erro so poderia ser uma coisa, a nao ser que voce 
tenha um banco 7.3 ai em algum lugar, o que nao parece ser o caso:
 
4) You are connected to a version 9.0.2(or higher) Oracle Server and you 
attempted to use a database link pointing to a version 9.0.1(or lower) Oracle 
Server for distributed autonomous transaction
 
   Traduzindo, em algum momento, pode ser nessa tabela mesmo, ou em alguma 
outra view ou tabela dentro desse form, ou em uma procedure chamada pelo 
form, ou em um form anterior, voce deve estar atualizando uma tabela atravez de 
DBLink em um banco de versao abaixo da 9.2. Pode ser uma trigger, ou view 
apontando para DBLink, ou sinonimo. O ponto é que voce tem um DBLink com um 
banco 9.0, 8i ou mais antigo e esta atualizando uma tabela lá e sem fazer 
commit tenta atualizar uma segunda tabela.
 
   Veja que se voce fizer um commit entre cada atualizacao, nao é mais 
distrubuted transaction e o erro deve sumir. Mas acho que a melhor solucao 
seria evitar de atualizar tabelas remotas atraves de DBLink. Esse tipo de 
atualizacao deve ser preferencialmente em processos batch, quando voce nao esta 
atualizando tambem tabelas locais ao banco.
 
   Caso nao seja, mande mais detalhes sobre a estrutura dessa tabela.
 
Atc,
Luis 



From: Ricardo Augusto de Moura Dal Secco 
To: Grupo Oracle ; OracleBR 
; Usuários Oracle 
 
Sent: Thursday, May 10, 2012 1:48 PM
Subject: [oracle_br] ORA-01010: operação OCI inválida ... URGENTE ...

  
Bom Dia, colegas

Gostaria de saber se alguém pode me dar uma luz ...
*Forms 9 com Banco XE*

ORA-01010: operação OCI
inválida 
esse erro acontece quando em uma determinada rotina em uma tela (Forms9)
faz insert em uma tabela... estou sem saber como corrigir esse problema...
alguém tem idéia do que posso fazer ???

Desde já agradeço

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




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



RES: [oracle_br] Export - Crontab

2012-05-10 Por tôpico Marcelo da Silva Pranckevicius
Boa tarde a todos,

 

Agradeço a todas as dicas que foram passadas e estarei efetuando os testes.

 

E posteriormente darei o resultado.

 

Abraço a todos.

 

Atenciosamente,

 

Marcelo da Silva Pranckevicius

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome 
de Rodrigo Mufalani
Enviada em: quarta-feira, 9 de maio de 2012 17:11
Para: oracle_br@yahoogrupos.com.br
Assunto: RES: [oracle_br] Export - Crontab

 

  

Boa tarde Marcelo,

Esse erro é típico eu apanhei muito para descobrir o que era.

A crontab é um shell limpa, ou seja, ela não conhece suas variáveis de
ambiente do usuário. Pegue as linhas relativas ao Oracle do seu
.bash_profile e adicione ao seu script ou execute o .bash_profile ou
.profile ao executar o script de backup.

#!/bin/bash

. /home/oracle/.bash_profile # carregando as variáveis de ambiente

expdp 

E por ai vai...

Ou no script...

#!/bin/bash

export ORACLE_BASE=/caminho/da/sua/oracle_base

export ORACLE_HOME=/caminho/da/sua/oracle_home

export ORACLE_SID=<>

expdp X

Espero que te ajude.

Atenciosamente,

Rodrigo Mufalani

 > 
rodr...@mufalani.com.br  

 www.mufalani.com.br

twitter: @mufalani

Descrição: Descrição: Descrição: logo_mufalani 

De: oracle_br@yahoogrupos.com.br   
[mailto:oracle_br@yahoogrupos.com.br  ] 
Em
nome de Marcelo da Silva Pranckevicius
Enviada em: quarta-feira, 9 de maio de 2012 16:18
Para: oracle_br@yahoogrupos.com.br  
Assunto: [oracle_br] Export - Crontab

Caros Colegas,

Inseri no Crontab uma linha para a geração do export para algumas tabelas.

Meu arquivo dump.sh possui apenas uma linha com o comando do export.
Manualmente ela executa corretamente.

Na linha do meu Crontab inseri o seguinte: 

00 18 * * * /dumps/dump.sh

No horário estipulado o dump.sh não é executado.

O que estou fazendo de errado?

Oracle 11.2.0.3 Enterprise

Linux RedHat 5.7 Enterprise

Desde já agradeço a ajuda.

Marcelo da Silva Pranckevicius

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

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





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



RES: [oracle_br] *** Instancia não conecta **

2012-05-10 Por tôpico Robson Muniz (Terra)
Boa tarde pessoal.

Desculpe a demora no retorno, pois, estava fora.

O Listener estava como Ativo, porém, não olhei na ocasião se o log havia
estourado, porém, agora, já não está na situação de antes.

Vou aguardar essa semana e se ocorrer novamente, irei me atentar a todos
esses pontos, até para alinhar aqui com vocês.

Agradeço a ajuda de todos.

Grande Abraço,

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Milton Bastos Henriquis Jr.
Enviada em: quinta-feira, 10 de maio de 2012 11:45
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] *** Instancia não conecta **

Robson, passar por isso eu acredito que TODOS nós aqui já passamos... rs...
Esse é um erro muito comum de acontecer.

A questão é que acho não há UM motivo simples que cause esse erro.
Teria que se conectar na tua base e ver com muito mais detalhes.

O Fernando Franquini por exemplo passou duas perguntas:
Qual era o status do listener? Qual era o tamanho do LOG do listener?

Essas perguntas são pra tentar fazer um diagnóstico... sem esse diagnóstico
fica complicado de saber a causa do erro.




2012/5/10 Robson Muniz (Terra) 

> **
>
>
> Bom dia pessoal.
>
> O problema se resolveu, reiniciando Listener e Instancia direto pelo 
> serviço do Windows, porém, gostaria de saber se alguém já passou por 
> isso, para poder descobrir a causa, e tentar tratar para não mais 
> ocorrer.
>
> Obrigado a todos,
>
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] 
> Em nome de Robson Muniz (Terra) Enviada em: quinta-feira, 10 de maio 
> de 2012 11:15
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] *** Instancia não conecta **
>
>
> Bom dia pessoal.
>
> Estamos com um problema em uma base de dados Oracle 10.2.0.4.0 
> (Windows 2008), que estava funcionando normalmente e de repente, novas 
> conexões não passaram mais a serem aceitas, nem SQL Plus, nem aplicação,
nada.
>
> As conexões que já estavam ativas, continuam sem problemas.
>
> Abaixo o erro apresentado no momento da conexão nova.
>
> SQL> conn sys as sysdba
>
> Enter password:
>
> ERROR:
>
> ORA-12560: TNS:protocol adapter error
>
> Alguém consegue me ajudar com alguma idéia ?
>
> Obrigado a todos,
>
> Robson.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



--
Att,


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






--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos





Re: [oracle_br] *** Instancia não conecta **

2012-05-10 Por tôpico Fernando Franquini 'capin'
Busque nos logs do listner algo também!

Fernando Franquini - Capin
Bacharel em Ciencias da Computacao - UFSC
Analista de Sistemas e de Banco de Dados / DBA
Contatos: fernando.franqu...@gmail.com / 48.9902.4047
Florianópolis - SC - Brasil
http://franquini.wordpress.com/

http://br.linkedin.com/in/capin
Em 10/05/2012 11:45, "Milton Bastos Henriquis Jr." 
escreveu:

> Robson, passar por isso eu acredito que TODOS nós aqui já passamos... rs...
> Esse é um erro muito comum de acontecer.
>
> A questão é que acho não há UM motivo simples que cause esse erro.
> Teria que se conectar na tua base e ver com muito mais detalhes.
>
> O Fernando Franquini por exemplo passou duas perguntas:
> Qual era o status do listener? Qual era o tamanho do LOG do listener?
>
> Essas perguntas são pra tentar fazer um diagnóstico... sem esse diagnóstico
> fica complicado
> de saber a causa do erro.
>
>
>
>
> 2012/5/10 Robson Muniz (Terra) 
>
> > **
> >
> >
> > Bom dia pessoal.
> >
> > O problema se resolveu, reiniciando Listener e Instancia direto pelo
> > serviço
> > do Windows, porém, gostaria de saber se alguém já passou por isso, para
> > poder descobrir a causa, e tentar tratar para não mais ocorrer.
> >
> > Obrigado a todos,
> >
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br]
> Em
> > nome de Robson Muniz (Terra)
> > Enviada em: quinta-feira, 10 de maio de 2012 11:15
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] *** Instancia não conecta **
> >
> >
> > Bom dia pessoal.
> >
> > Estamos com um problema em uma base de dados Oracle 10.2.0.4.0 (Windows
> > 2008), que estava funcionando normalmente e de repente, novas conexões
> não
> > passaram mais a serem aceitas, nem SQL Plus, nem aplicação, nada.
> >
> > As conexões que já estavam ativas, continuam sem problemas.
> >
> > Abaixo o erro apresentado no momento da conexão nova.
> >
> > SQL> conn sys as sysdba
> >
> > Enter password:
> >
> > ERROR:
> >
> > ORA-12560: TNS:protocol adapter error
> >
> > Alguém consegue me ajudar com alguma idéia ?
> >
> > Obrigado a todos,
> >
> > Robson.
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
>
> --
> Att,
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> 
>
>
> --
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
> VISITE: http://www.oraclebr.com.br/
> 
> Links do Yahoo! Grupos
>
>
>


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



Re: [oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico Rafael Vieira
Ederson, obrigado pela ajuda, irei fazer essa análise sim.



 De: ederson2001br 
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Maio de 2012 11:51
Assunto: [oracle_br] Re: Eventos em espera
 

  
Rafael e Chiappa,

Permitam-me dar minha opinião.

Uma query rodando em 40 minutos, prá mim é um tempo longo se ela não for um 
relatório/report. Se está em uma tela de consulta e com o sistema aberto para o 
usuário da ponta rodá-la, pode olhar que esta rotina é uma séria candidata a um 
refactoring, nem que seja para uma mudança de estratégia.

Outro ponto: levar 8 horas para rodar? só se for um processo batch que atualiza 
zilhões de linhas. Cuidado com a concorrência, neste caso somente um usuário 
poderia disparar esta rotina.

Se é uma tela de consulta/relatório, a hora de verificar é durante a execução.

Pontos a considerar:
- tunning da query: vc conhece TUNNING_TASK (dbms_sqltune.create_tuning_task)? 
Isto pode te ajudar bastante, a analizar sua query, sugerindo indices ou melhor 
escolha do plano de execução criando um profile otimizado do sql.
- Verificar LOCK durante a execução (tem o script UTLLOCKT.sql na área de 
rdbms/admin). Se está havendo lock entre sessões, uma delas ficará aguardando 
com a execução parada ...
- Verificar V$SESSION_LONGOPS (monitorar query´s demoradas):

SELECT TO_CHAR(s.sid) sid,
TO_CHAR(s.serial#) serial,
s.username,
SUBSTR(DECODE(target_desc,NULL,DECODE(target,NULL,opname, concat(opname, concat 
(' - ',target))), 
DECODE(target,NULL,concat(opname, concat (' : ',target_desc)), 
concat(opname, concat (' : ',concat(target_desc, concat (' - 
',target)),1,25) "Processo" ,
TO_CHAR(start_time,'dd/mm/ hh24:mi:ss') "Inicio",
TO_CHAR(elapsed_seconds,'999') "Tempo(s)" ,
DECODE(sofar, 0, 0, ROUND(elapsed_seconds*(totalwork-sofar)/sofar)) "Blocos 
Processados"
FROM v$session_longops l,
v$session s
WHERE sofar < totalWork
AND s.sid   =l.sid;

Espero ter ajudado, sei que esta situação é complicadíssima pois já senti na 
pele.

Forte abraço.

Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0

--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira  
escreveu
>
> Chiappa, gostaria de mais uma ajuda sua...
> Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8 
> horas, o pessoal veio argumentar que a aplicação não mudou absolutamente 
> nada, e que queria uma explicação por conta desse tempo, está todo mundo 
> colocando a culpa no database, mas eu não mudei absolutamente nada, não foi 
> feita nenhuma alteração e nenhum ajuste foi feito no database, o argumento do 
> pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi colocado 
> novamente em execução e acabou em 8 horas. O meu argumento está sendo que o 
> problema é a query que detectei mal escrita que está dando o problema e que 
> eh executada dezenas de vezes, mas eles voltam a argumentar o tempo que foi 
> rodado antes em 40 minutos, teria algo a acrescentar em defesa do database? 
> Preciso de uma justificativa à dar sobre isso, eu sei que é difícil pra uma 
> pessoa que está de fora e não tem nem noção da infra-estrutura, nem idéia do 
> modelo e de como é o processo,
>  mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra 
> diretoria e preciso de algo para me justificar. O grande problema é que não 
> tenho à quem recorrer além do Blog e dos amigos.
> 
> 
> 
>  De: Rafael Vieira 
> Para: "oracle_br@yahoogrupos.com.br"  
> Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
> Assunto: Re: [oracle_br] Re: Eventos em espera
> 
> 
>   
> Chiappa, muito obrigado pela ajuda.
> 
> Realmente, achei muito interessante essa criação da view materializada, 
> realmente essae query busca milhões de linhas todas as vezes que é 
> consultada, e como falei anteriormente ela é rodada centenas de vezes( que 
> segundo o pessoal realmente é necessário). Irei fazer sim esse teste junto 
> com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc 
> escreveu no prórpio grupo sobre MV's é uma excelente alternativa.
> 
> Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em 
> índices onde a maioria está setada para 8 que é o total de processadores que 
> nós temos, como esse banco é expecífico para esse BATCH, quando o processo 
> inicia ninguém mais se conecta no banco por questão de concorrência etc...
> 
> No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA? Eu 
> sou muito novo na área e estou aprendendo aos poucos, eu me encontro em uma 
> situação dificil pois não tem outro DBA para me auxiliar.
> Então alguns termos as vezes não fica claro para mim.
> 
> As estatísticas, todas estão sim atualizadas.
> 
> 
> De: J. Laurindo Chiappa 
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
> Assunto: [oracle_br] Re: Eventos em espera
> 
> 
>   
> Colega, lamento se

Re: [oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico Rafael Vieira
Milton, obrigado pelo retorno.

1 - OLTP

2 - É manual, não tem um horário certo, mas o pessoal costuma a rodar pela 
manhã e a tarde, às vezes deixam a noite também.

3 - Nos dois horários apenas um usuário estava conectado pela aplicação rodando 
o BATCH.

4 - Creio que não, eu não acompanhei o processo inteiro, pois tinha outros 
fazeres, mas o tempo que acompanhei, não tinha ninguém concorrendo com o BATCH, 
apenas ele estava sendo executado.






 De: Milton Bastos Henriquis Jr. 
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Maio de 2012 11:35
Assunto: Re: [oracle_br] Re: Eventos em espera
 
1 - Essa base é OLTP ou OLAP?

2 - Essa Batch roda de quanto em quanto tempo? É automático ou manual?

3 - Quantos usuários tinham conectados e trabalhando "ontem de manhã",
quando rodou em 40 minutos?
E quantos tinham a tarde, quando rodou em 8 horas?

4 - Haviam OUTROS processos concorrentes dessa batch a tarde que não tinham
de manhã?





2012/5/10 Rafael Vieira 

> **
>
>
> Chiappa, gostaria de mais uma ajuda sua...
> Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8
> horas, o pessoal veio argumentar que a aplicação não mudou absolutamente
> nada, e que queria uma explicação por conta desse tempo, está todo mundo
> colocando a culpa no database, mas eu não mudei absolutamente nada, não foi
> feita nenhuma alteração e nenhum ajuste foi feito no database, o argumento
> do pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi
> colocado novamente em execução e acabou em 8 horas. O meu argumento está
> sendo que o problema é a query que detectei mal escrita que está dando o
> problema e que eh executada dezenas de vezes, mas eles voltam a argumentar
> o tempo que foi rodado antes em 40 minutos, teria algo a acrescentar em
> defesa do database? Preciso de uma justificativa à dar sobre isso, eu sei
> que é difícil pra uma pessoa que está de fora e não tem nem noção da
> infra-estrutura, nem idéia do modelo e de como é o processo,
> mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra
> diretoria e preciso de algo para me justificar. O grande problema é que não
> tenho à quem recorrer além do Blog e dos amigos.
>
> 
> De: Rafael Vieira 
> Para: "oracle_br@yahoogrupos.com.br" 
> Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
> Assunto: Re: [oracle_br] Re: Eventos em espera
>
>
>
>
> Chiappa, muito obrigado pela ajuda.
>
> Realmente, achei muito interessante essa criação da view materializada,
> realmente essae query busca milhões de linhas todas as vezes que é
> consultada, e como falei anteriormente ela é rodada centenas de vezes( que
> segundo o pessoal realmente é necessário). Irei fazer sim esse teste junto
> com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc
> escreveu no prórpio grupo sobre MV's é uma excelente alternativa.
>
> Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em
> índices onde a maioria está setada para 8 que é o total de processadores
> que nós temos, como esse banco é expecífico para esse BATCH, quando o
> processo inicia ninguém mais se conecta no banco por questão de
> concorrência etc...
>
> No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA?
> Eu sou muito novo na área e estou aprendendo aos poucos, eu me encontro em
> uma situação dificil pois não tem outro DBA para me auxiliar.
> Então alguns termos as vezes não fica claro para mim.
>
> As estatísticas, todas estão sim atualizadas.
>
> 
> De: J. Laurindo Chiappa 
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
> Assunto: [oracle_br] Re: Eventos em espera
>
>
> Colega, lamento ser o desmancha-prazeres, mas é um Fato que :
>
> - não existe um "parâmetro", um setting que vc aplique e faça qquer tarefa
> no banco de dados ficar "rápida"
>
> - como qquer software, se vc mandar o banco de dados fazer uma asneira
> (exemplo, ler a mesma informação vezes e vezes sem conta, repetidas vezes,
> ou não usar o melhor construto SQL para uma solicitação, ou acessar um
> modelo falho, etc ), ele VAI burramente fazer, não tem por onde
>
> ==> Então, a partir do momento que vc identificou um processamento que de
> cara não parece ser bem-feito E ainda por cima é repetido N vezes, pouco vc
> tem fazer no banco de dados em si - com certeza, algum tipo de Tuning no
> processo vai ser inescapável E que fique Claro, esse Tuning tanto pode
> envolver alterações no SQL envolvido (o que é comum), quanto também pode
> envolver no modelo (por exemplo, de-normalizando alguns pontos,
> criando/removendo índices, utilizando GTT sendo inseridas em APPEND-MODE
> para "separar" os dados, etc), quanto pode também envolver uso dos recursos
> do banco de dados para diminuir o I/O sendo feito (exemplo, particionamento
> da informação, uso de View materializadas que já trazem o resultado
> deseja

[oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico ederson2001br
Rafael e Chiappa,

Permitam-me dar minha opinião.

Uma query rodando em 40 minutos, prá mim é um tempo longo se ela não for um 
relatório/report. Se está em uma tela de consulta e com o sistema aberto para o 
usuário da ponta rodá-la, pode olhar que esta rotina é uma séria candidata a um 
refactoring, nem que seja para uma mudança de estratégia.

Outro ponto: levar 8 horas para rodar? só se for um processo batch que atualiza 
zilhões de linhas. Cuidado com a concorrência, neste caso somente um usuário 
poderia disparar esta rotina.

Se é uma tela de consulta/relatório, a hora de verificar é durante a execução.

Pontos a considerar:
- tunning da query: vc conhece TUNNING_TASK (dbms_sqltune.create_tuning_task)? 
Isto pode te ajudar bastante, a analizar sua query, sugerindo indices ou melhor 
escolha do plano de execução criando um profile otimizado do sql.
- Verificar LOCK durante a execução (tem o script UTLLOCKT.sql na área de 
rdbms/admin). Se está havendo lock entre sessões, uma delas ficará aguardando 
com a execução parada ...
- Verificar V$SESSION_LONGOPS (monitorar query´s demoradas):

SELECT TO_CHAR(s.sid) sid,
  TO_CHAR(s.serial#) serial,
  s.username,
  SUBSTR(DECODE(target_desc,NULL,DECODE(target,NULL,opname, concat(opname, 
concat (' - ',target))), 
DECODE(target,NULL,concat(opname, concat (' : ',target_desc)), 
  concat(opname, concat (' : ',concat(target_desc, concat (' - 
',target)),1,25) "Processo" ,
  TO_CHAR(start_time,'dd/mm/ hh24:mi:ss') "Inicio",
  TO_CHAR(elapsed_seconds,'999') "Tempo(s)" ,
  DECODE(sofar, 0, 0, ROUND(elapsed_seconds*(totalwork-sofar)/sofar)) "Blocos 
Processados"
FROM v$session_longops l,
  v$session s
WHERE sofar < totalWork
AND s.sid   =l.sid;

Espero ter ajudado, sei que esta situação é complicadíssima pois já senti na 
pele.

Forte abraço.

Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0


--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira  
escreveu
>
> Chiappa, gostaria de mais uma ajuda sua...
> Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8 
> horas, o pessoal veio argumentar que a aplicação não mudou absolutamente 
> nada, e que queria uma explicação por conta desse tempo, está todo mundo 
> colocando a culpa no database, mas eu não mudei absolutamente nada, não foi 
> feita nenhuma alteração e nenhum ajuste foi feito no database, o argumento do 
> pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi colocado 
> novamente em execução e acabou em 8 horas. O meu argumento está sendo que o 
> problema é a query que detectei mal escrita que está dando o problema e que 
> eh executada dezenas de vezes, mas eles voltam a argumentar o tempo que foi 
> rodado antes em 40 minutos, teria algo a acrescentar em defesa do database? 
> Preciso de uma justificativa à dar sobre isso, eu sei que é difícil pra uma 
> pessoa que está de fora e não tem nem noção da infra-estrutura, nem idéia do 
> modelo e de como é o processo,
>  mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra 
> diretoria e preciso de algo para me justificar. O grande problema é que não 
> tenho à quem recorrer além do Blog e dos amigos.
> 
> 
> 
>  De: Rafael Vieira 
> Para: "oracle_br@yahoogrupos.com.br"  
> Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
> Assunto: Re: [oracle_br] Re: Eventos em espera
>  
> 
>   
> Chiappa, muito obrigado pela ajuda.
> 
> Realmente, achei muito interessante essa criação da view materializada, 
> realmente essae query busca milhões de linhas todas as vezes que é 
> consultada, e como falei anteriormente ela é rodada centenas de vezes( que 
> segundo o pessoal realmente é necessário). Irei fazer sim esse teste junto 
> com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc 
> escreveu no prórpio grupo sobre MV's é uma excelente alternativa.
> 
> Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em 
> índices onde a maioria está setada para 8 que é o total de processadores que 
> nós temos, como esse banco é expecífico para esse BATCH, quando o processo 
> inicia ninguém mais se conecta no banco por questão de concorrência etc...
> 
> No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA? Eu 
> sou muito novo na área e estou aprendendo aos poucos, eu me encontro em uma 
> situação dificil pois não tem outro DBA para me auxiliar.
> Então alguns termos as vezes não fica claro para mim.
> 
> As estatísticas, todas estão sim atualizadas.
> 
> 
> De: J. Laurindo Chiappa 
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
> Assunto: [oracle_br] Re: Eventos em espera
> 
> 
>   
> Colega, lamento ser o desmancha-prazeres, mas é um Fato que :
> 
> - não existe um "parâmetro", um setting que vc aplique e faça qquer tarefa no 
> banco de dados ficar "rápida"
> 
> - como qquer software, se vc mandar o banco de dados fazer um

Re: [oracle_br] *** Instancia não conecta **

2012-05-10 Por tôpico Milton Bastos Henriquis Jr.
Robson, passar por isso eu acredito que TODOS nós aqui já passamos... rs...
Esse é um erro muito comum de acontecer.

A questão é que acho não há UM motivo simples que cause esse erro.
Teria que se conectar na tua base e ver com muito mais detalhes.

O Fernando Franquini por exemplo passou duas perguntas:
Qual era o status do listener? Qual era o tamanho do LOG do listener?

Essas perguntas são pra tentar fazer um diagnóstico... sem esse diagnóstico
fica complicado
de saber a causa do erro.




2012/5/10 Robson Muniz (Terra) 

> **
>
>
> Bom dia pessoal.
>
> O problema se resolveu, reiniciando Listener e Instancia direto pelo
> serviço
> do Windows, porém, gostaria de saber se alguém já passou por isso, para
> poder descobrir a causa, e tentar tratar para não mais ocorrer.
>
> Obrigado a todos,
>
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de Robson Muniz (Terra)
> Enviada em: quinta-feira, 10 de maio de 2012 11:15
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] *** Instancia não conecta **
>
>
> Bom dia pessoal.
>
> Estamos com um problema em uma base de dados Oracle 10.2.0.4.0 (Windows
> 2008), que estava funcionando normalmente e de repente, novas conexões não
> passaram mais a serem aceitas, nem SQL Plus, nem aplicação, nada.
>
> As conexões que já estavam ativas, continuam sem problemas.
>
> Abaixo o erro apresentado no momento da conexão nova.
>
> SQL> conn sys as sysdba
>
> Enter password:
>
> ERROR:
>
> ORA-12560: TNS:protocol adapter error
>
> Alguém consegue me ajudar com alguma idéia ?
>
> Obrigado a todos,
>
> Robson.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att,


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] *** Instancia não conecta **

2012-05-10 Por tôpico Rafael Vieira
"e de repente, novas conexões nãopassaram mais a serem aceitas, nem SQL Plus, 
nem aplicação, nada."

A princípio eu desconfiaria do Listener ou do parameter processes, esse erro 
apareceu semana passada para mim, e o erro ORA infelizmente não foi tão claro, 
pois a quantidade de processos v$process estava com o máximo de acordo com o 
parameter processes.






 De: Fernando Franquini 'capin' 
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Maio de 2012 11:17
Assunto: Re: [oracle_br] *** Instancia não conecta **
 

  
Qual o status do listener?

Veja se o tamanho do log do listener não estourou!

2012/5/10 Robson Muniz (Terra) 

> Bom dia pessoal.
>
>
>
> Estamos com um problema em uma base de dados Oracle 10.2.0.4.0 (Windows
> 2008), que estava funcionando normalmente e de repente, novas conexões não
> passaram mais a serem aceitas, nem SQL Plus, nem aplicação, nada.
>
>
>
> As conexões que já estavam ativas, continuam sem problemas.
>
>
>
> Abaixo o erro apresentado no momento da conexão nova.
>
>
>
> SQL> conn sys as sysdba
>
> Enter password:
>
> ERROR:
>
> ORA-12560: TNS:protocol adapter error
>
>
>
> Alguém consegue me ajudar com alguma idéia ?
>
> Obrigado a todos,
>
> Robson.
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> 
>
>
> --
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
> VISITE: http://www.oraclebr.com.br/
> --
> Links do Yahoo! Grupos
>
>
>

-- 
Fernando Franquini - Capin
Graduado Bacharel em Ciencias da Computação - UFSC
Analista de Sistemas e de Banco de Dados / DBA
Contatos: 048.9902.4047  - Florianópolis - SC - Brasil
http://franquini.wordpress.com/

http://br.linkedin.com/in/capin
http://wf5.com.br/

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


 

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



Re: [oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico Rafael Vieira
Chiappa, gostaria de mais uma ajuda sua...
Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8 
horas, o pessoal veio argumentar que a aplicação não mudou absolutamente nada, 
e que queria uma explicação por conta desse tempo, está todo mundo colocando a 
culpa no database, mas eu não mudei absolutamente nada, não foi feita nenhuma 
alteração e nenhum ajuste foi feito no database, o argumento do pessoal é que o 
o mesmo batch que rodou em 40 minutos e a tarde foi colocado novamente em 
execução e acabou em 8 horas. O meu argumento está sendo que o problema é a 
query que detectei mal escrita que está dando o problema e que eh executada 
dezenas de vezes, mas eles voltam a argumentar o tempo que foi rodado antes em 
40 minutos, teria algo a acrescentar em defesa do database? Preciso de uma 
justificativa à dar sobre isso, eu sei que é difícil pra uma pessoa que está de 
fora e não tem nem noção da infra-estrutura, nem idéia do modelo e de como é o 
processo,
 mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra 
diretoria e preciso de algo para me justificar. O grande problema é que não 
tenho à quem recorrer além do Blog e dos amigos.



 De: Rafael Vieira 
Para: "oracle_br@yahoogrupos.com.br"  
Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
Assunto: Re: [oracle_br] Re: Eventos em espera
 

  
Chiappa, muito obrigado pela ajuda.

Realmente, achei muito interessante essa criação da view materializada, 
realmente essae query busca milhões de linhas todas as vezes que é consultada, 
e como falei anteriormente ela é rodada centenas de vezes( que segundo o 
pessoal realmente é necessário). Irei fazer sim esse teste junto com os 
desenvolvedores, tomara que dê certo, pelo que li sobre o que vc escreveu no 
prórpio grupo sobre MV's é uma excelente alternativa.

Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em índices 
onde a maioria está setada para 8 que é o total de processadores que nós temos, 
como esse banco é expecífico para esse BATCH, quando o processo inicia ninguém 
mais se conecta no banco por questão de concorrência etc...

No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA? Eu sou 
muito novo na área e estou aprendendo aos poucos, eu me encontro em uma 
situação dificil pois não tem outro DBA para me auxiliar.
Então alguns termos as vezes não fica claro para mim.

As estatísticas, todas estão sim atualizadas.


De: J. Laurindo Chiappa 
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
Assunto: [oracle_br] Re: Eventos em espera


  
Colega, lamento ser o desmancha-prazeres, mas é um Fato que :

- não existe um "parâmetro", um setting que vc aplique e faça qquer tarefa no 
banco de dados ficar "rápida"

- como qquer software, se vc mandar o banco de dados fazer uma asneira 
(exemplo, ler a mesma informação vezes e vezes sem conta, repetidas vezes, ou 
não usar o melhor construto SQL para uma solicitação, ou acessar um modelo 
falho, etc ), ele VAI burramente fazer, não tem por onde

==> Então, a partir do momento que vc identificou um processamento que de cara 
não parece ser bem-feito E ainda por cima é repetido N vezes, pouco vc tem  
fazer no banco de dados em si - com certeza, algum tipo de Tuning no processo 
vai ser inescapável E que fique Claro, esse Tuning tanto pode envolver 
alterações no SQL envolvido (o que é comum), quanto também pode envolver no 
modelo (por exemplo, de-normalizando alguns pontos, criando/removendo índices, 
utilizando GTT sendo inseridas em APPEND-MODE para "separar" os dados, etc), 
quanto pode também envolver uso dos recursos do banco de dados para diminuir o 
I/O sendo feito (exemplo, particionamento da informação, uso de View 
materializadas que já trazem o resultado desejado para Evitar ter que ler e ler 
e ler a informação, etc, etc) 

Respondendo porém a sua pergunta sobre os eventos : os eventos com PX como 
prefixo são relacionados à SQL executando em parallel mode , e  cfrme 
http://www.confio.com/blog/oracle-wait-event-explained-direct-path-read-temp , 
o evento de direct path read indica que ou o SQL está ordenando dados, ou está 
criando um área temporária em disco (para hash, talvez), ou simplesmente está 
fazendo paralelismo... TODAS essas operações dificilmente podem ser feitas em 
RAM, no caso de Parallel SQL é por definição : o modelo de paralelismo de SQL 
no RDBMS Oracle é dividir um segmento por intervalos e ter N slaves lendo o 
mesmo segmento, cada um lendo uma porção diferente de extents e cada slave 
enviando o que leu para a sessão MASTER, que é aquela de onde o Parallel SQL se 
originou, e se lê extents logicamente NÃO pode confiar no cache, que contém 
BLOCOS isolados

O que eu diria pra vc fazer de momento então é :

1. CONFIRMAR que vc está solicitando um grau de paralelismo razoável nas suas 
tabelas e índices, compatível com a quantidade de pro