[oracle_br] Re: É possível medir o impacto da rede no desempenho do banco de dados?

2013-11-25 Por tôpico J. Laurindo Chiappa
  Bom, a resposta da primeira pergunta é SIM : tranquilamente vc encontra tools 
capazes de medir a tua performance de rede como um todo (ie, latência/ping, 
tempo de transporte de pacotes, tempo de DNS/resposta de rotas, etc, etc) mas 
TODAS :
  
   => trabalham FORA do banco de dados, via monitoração de transmissões da rede 
e logging 
(http://www.smallnetbuilder.com/lanwan/lanwan-basics/31220-how-fast-is-your-network-five-ways-to-measure-network-speed
 lista algumas)... E é claro, Logicamente é possível usar tools do próprio SO, 
como ping, traceroute, netcat, etc, mas a Confiabilidade realmente cai
   
   => EXIGEM um profissional de redes gabaritado, que conheça bem a capacidade 
teórica do hardware envolvido para poder comparar os máximos teóricos de cada 
elemento com o report da tool - isso porque em caso NENHUM vc vai ver 
throughput máximo : entre outras coisas há que se considerar o tempo gasto para 
encontrar a rota, para o DNS resolver o domínio de destino, colisões eventuais, 
etc E é aí que um bom Profissional de rede vai fazer a diferença...
   
  Sobre a segunda pergunta, referente ao impacto de rede no banco de dados , o 
que vc pode fazer é :
  
  a. medir a performance média da rede no ponto de vista do banco de dados (ie, 
tempo de rede gasto para enviar uma dada quantidade de blocos) no ambiente 
teste (que tipicamente tem pouca concorrência) , num ambiente Homologação (ie, 
o mais idêntico possível à produção), e ver se a escala é razoável... Lógico 
que quanto mais usuários simultâneos usando a rede pior fica o desempenho, mas 
deveria ser algo razoável, tipo : dobro de usuários=3x mais tempo de rede 
gasto, alguma coisa parecida. Quando vc ver algo fora de escala, (tipo, 2x 
mais usuários=20x mais tempo de rede gasto para enviar a mesma quantidade de 
blocos, uma Ordem de fator maior) aí sim vc tem uma indicação clara de rede 
interferindo
  
  b. em modo geral, falando sobre o banco de modo geral, vc pode também medir 
os WAITs principais havidos, Repetidamente, em Múltiplas ocasiões,  e SE 
houver, na esmagadora maioria das medições, participação porcentual 
significativa de eventos relacionados à rede (sql*net qquer coisa, 
principalmente) , isso é certamente uma indicação de que vale MUITO a pena 
investigar em detalhes o ambiente de rede...
Esse levantamento de waits pode ser feito com uma combinação de 
traces+tkprof com consultas às v$ necessárias, seja diretamente, seja via 
awr/ash ou statspack Só relembro, isso TEM que ser feito muitas, mas 
mUUUITAS vezes, em ocasiões/dias/horários diferentes (uma medida só 
estatisticamente não vale Um Tostão Furado), E os intervalos de coleta tem que 
ser curtos  : é Ululantemente Óbvio que se vc mensurar por horas a fio vc vai 
estar analisando um pacotão geral, com estatísticas ACUMULADAS : o ideal é vc 
coletar por 15 ou 30 minutos (máximo!) pela manhã antes do pessoal conectar no 
banco, depois outra coleta de 15 ou 30 min quando o pessoal começa a trabalhar, 
outra no pico de uso, outra à noite, coisas assim, repetidas por vários e 
vários dias...

[]s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Wanderson Barrence  escreveu
>
> Olá Pessoal,
> 
> Sei que esta pergunta é um pouco confusa, pois todos nós temos problemas de
> lentidão no banco de dados, problema este que pode estar ligado diretamente
> a diversos fatores,  pode ser SQL (query's mal estruturadas), Modelo de
> Dados, Banco de dados mal configurado, etc..
> 
> Contudo gostaria de saber se é possível (por intermédio de alguma
> ferramenta), descobrir se há algum problema com a rede (algum gargalo)? E
> se este problema está impactando no desempenho  do banco de dados?
> 
> Desde já agradeço pela ajuda de todos.
> 
> Att,
> 
> Wanderson
>




[oracle_br] É possível medir o impacto da rede no desempenho do banco de dados?

2013-11-25 Por tôpico Wanderson Barrence
Olá Pessoal,

Sei que esta pergunta é um pouco confusa, pois todos nós temos problemas de
lentidão no banco de dados, problema este que pode estar ligado diretamente
a diversos fatores,  pode ser SQL (query's mal estruturadas), Modelo de
Dados, Banco de dados mal configurado, etc..

Contudo gostaria de saber se é possível (por intermédio de alguma
ferramenta), descobrir se há algum problema com a rede (algum gargalo)? E
se este problema está impactando no desempenho  do banco de dados?

Desde já agradeço pela ajuda de todos.

Att,

Wanderson


[oracle_br] Re: Duvida com SQL

2013-11-25 Por tôpico Rodrigo
Valeu  Chiappa, vou dar uma estudada no que me passou...

Abs

--- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa"  
escreveu
>
>   Sim, em princípio é Totalmente Possível INSERTs multitable no RDBMS Oracle 
> lá desde as remotas eras do Oracle 9i, cfrme 
> http://www.oracle-base.com/articles/9i/sql-new-features-9i.php#MultitableInserts
>  mostra, sem grandes problemas Cfrme o caso vc pode ter algumas 
> restrições, por exemplo com sequences ou cm detalhes de performance, cfrme 
> http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:6915127515933#7759320783998
>  e http://www.oracle-developer.net/display.php?id=209 comentam, mas não vejo 
> nenhum impedimento per se Nem sequer o fato de que cada tabela vai ter 
> valores diferentes a inserir vejo como impedimento, já que vc Necessariamente 
> Terá uma cláusula VALUES para cada tabela, okdoc ?
>   
>[]s
>
>  Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, "Rodrigo"  escreveu
> >
> > Pessoal,
> > 
> > Tenho 3 tabelas diferentes no banco de dados, e tenho uma planilha de onde 
> > busca todos os dados para as 3 tabelas.
> > 
> > Tem alguma forma de fazer um INSERT para as 3 tabelas, sendo que os dados 
> > são diferentes para as tabelas.
> >
>




[oracle_br] Re: EM12c - Migração de banco de dados entre servidores

2013-11-25 Por tôpico J. Laurindo Chiappa
  Tudo jóia ? Então, databases são identificados no OEM pela combinação 
servidor+oracle_home+iddodatabaseouserviço+porta, então em princípio se 
qualquer um desses elementos mudar sim, em princípio se deveria 
de-registrar/deletar esse target (enfim, o eliminar do OEM) e o readicionar, 
isso mesmo... O ponto que pega se fazendo isso é que vc perde o histórico... 
Até há adaptações possíveis para vc mudar no repositório/initfile/whatever do 
OEM só o(s) elemento(s) de identificação que mudaram (pesquise no metalink as 
notas correspondentes), mas eu pessoalmente SEMPRE vou no simples, 
delete+add
  A minha dúvida na sua situação é só o fato de que os outros DBs são 11gr2, 
então certamente o Agent nesse servidor deve ser dessa versão ou superior, 
tenho dúvidas referente à compatibilidade desse agent com o banco 10g - Não 
deixe de consultar no metalink a matriz de Compatibilidade...
  
  []s
  
Chiappa

--- Em oracle_br@yahoogrupos.com.br, "dadim_op"  escreveu
>
> Olá grupo!
> Tive uma situação aqui neste sábado: migramos um banco (chamemos de db1) de 
> um servidor Linux onde residia sozinho para outro onde existem mais 4 bancos.
> Ele era 10gR2 e continuou 10gR2. Mas as bases na sua nova "casa" são 11gR2.
> Tudo monitorado com EM12c (versão 12.1.0.2).
> 
> Agora entra a dúvida: No nosso Cloud Control temos o banco ainda registrado 
> no linux1, o procedimento correto seria um deregister neste server e add 
> novamente?
> Obrigado pela ajuda.
>




[oracle_br] Re:

2013-11-25 Por tôpico J. Laurindo Chiappa
 Bem, isso é algo um tanto Particular para cada Empresa, mas de modo geral :
 
 1. eu diria para vc dar uma geral no Português, pois termos como Corretude não 
constam dos dicionários que uso comumente, e/ou podem ser substituídos por 
termos mais comuns/"corretos"/adequados como CORREÇÃO
 
 2. não vi vc mencionar em lugar nenhum as estruturas de fim de cliclo de 
dados/limpeza/arquivamento de dados, coisa que ** TEM ** que ser pensada já a 
partir do modelo - senão fica aquele modelo teórico apenas, que aceita ingestão 
infinita de dados, que o dado nunca perde a validade, enfim, coisas que não são 
a Realidade, e um Modelo DEVERIA espelhar a Realidade
 
 3. só vi referência à PKs e UKs no que se refere à chaves, penso que DEVERIA 
estar diretamente citada a possibilidade de UKs
 
 4. obviamente, deve ser citado o local e a forma de registro para os casos de 
exceção (seja à normalização, seja a quais itens forem)

 5. não vi referência aos Documentos complementares que certamente devem 
existir , tais como :

 6. não vi referência às regras de validação de Domínios, Constraints e regras 
de negócio - se elas estiverem num Documento à parte, como devem estar, esse 
Documento deveria ser linkado

 7. necessariamente vc TEM que ter entregáveis no processo de validação de uma 
modelagem, como por exemplo o log da execução lógica dos processos principais 
do negócio em cima da modelagem (por exemplo, tentar vender um Produto, aí se 
precisa criar uma NF, acessar os Produtos, consultar os elementos que guardam 
info de clientes, digamos -  TEM que se comprovar que as 
entidades/relacionamentos modelados SUPORTAM os processos lógicos necessários) 
- deve ser citado nesse documento de validação do modelo QUAIS serão os 
entregáveis e QUEM os entregará
 
  []s
  
Chiappa

--- Em oracle_br@yahoogrupos.com.br, Samuel Santos  escreveu
>
> Olá, PessoALL;
> 
> Alguém conseguiu validar e/ou criticar o documento que enviei na semana
> passada?
> 
> Abraço.
> 
> 
> Em 22 de novembro de 2013 15:12, Samuel Santos
> escreveu:
> 
> > Preciso elaborar um checklist que irá servir de orientação a verificação
> > de Modelos de Dados.
> > Além disso, esse checklist será uma evidência de execução dessa tarefa,
> > quando demandada.
> >
> > Consegui algo 'Googlando' um pouco, mas gostaria da opnião de vocês sobre
> > o documento abaixo.
> >
> >
> >
> >
> >
> > *Critérios para Inspeção de Modelo de Dados (Check List de Validação)*
> >
> > *Validação de Modelo de Dados*
> >
> > Durante o processo de validação do modelo de dados são avaliados critérios
> > referentes à *Clareza*, *Completeza* e *Técnicas de Modelagem*.
> >
> > Ø  *CLAREZA*
> >
> > ü  Verificar se as definições estão claras, completas e corretas.
> >
> > ü  *Clareza* – Entender o significado do termo com apenas uma única
> > leitura. A definição apresenta o que a entidade representa para o negócio e
> > não o que a entidade contém ou como ela é usada.
> >
> > ü  *Completeza* – A definição está num nível apropriado de detalhe e
> > inclui os componentes como exemplos, sinônimos e exceções.
> >
> > ü  *Correção* – A definição se enquadra com o real significado do termo e
> > está aderente ao negócio.
> >
> >
> >
> > §  Entidades refletem o termo essencial para o negocio.
> >
> > §  Verificar se o termo que está sendo definido foi retirado da definição.
> >
> > §  Verificar se há frases escritas com erros ortográficos ou gramaticais.
> >
> > §  Conferir se há objetos sem descrição (entidades, atributos,
> > relacionamentos, chaves primárias (pks) e chaves estrangeiras (fks)).
> >
> >
> >
> > Ø  *COMPLETEZA*
> >
> >
> >
> > ü  Verificar se o modelo reflete o escopo pretendido no projeto
> > (Informações presentes em requisitos, casos de usos e relatórios que não se
> > encontram no modelo de dados).
> >
> > ü  Verificar se a cardinalidade e os relacionamentos refletem os
> > requisitos de negócio.
> >
> > ü  Verificar se as estruturas são genéricas suficientes para modificações
> > futuras.
> >
> > ü  Verificar compatibilidade de formatos de elementos de dados.
> >
> > ü  Analisar se todos os estados (fluxo do processo de negócio) estão
> > representados no modelo.
> >
> > ü  Identificar se existem termos ambíguos, verificar contradições.
> >
> > ü  Avaliar se o nome dos atributos indica o que eles realmente armazenam.
> >
> > ü  Analisar se existem ciclos fechados e avaliar sua real necessidade.
> >
> >
> >
> > Ø  *TÉCNICAS DE MODELAGEM*
> >
> >
> >
> > ü  Verificar se o modelo de dados atende as regras de normalização.
> >
> > ü  Verificar se todas as chaves primárias das entidades estão definidas.
> >
> > ü  Verificar se todas as entidades/atributos/tabelas/colunas estão
> > nomeadas de acordo com o padrão estabelecido pela empresa XPTO.
> >
> > ü  Identificar se existem entidades sem relacionamentos e avaliar as
> > alternativas justificativas para esta situação.
> >
> > ü  Verificar se todas as chaves primárias escolhidas são de controle do
> > domínio da funciona

[oracle_br] Re: Duvida com SQL

2013-11-25 Por tôpico J. Laurindo Chiappa
  Sim, em princípio é Totalmente Possível INSERTs multitable no RDBMS Oracle lá 
desde as remotas eras do Oracle 9i, cfrme 
http://www.oracle-base.com/articles/9i/sql-new-features-9i.php#MultitableInserts
 mostra, sem grandes problemas Cfrme o caso vc pode ter algumas restrições, 
por exemplo com sequences ou cm detalhes de performance, cfrme 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:6915127515933#7759320783998
 e http://www.oracle-developer.net/display.php?id=209 comentam, mas não vejo 
nenhum impedimento per se Nem sequer o fato de que cada tabela vai ter 
valores diferentes a inserir vejo como impedimento, já que vc Necessariamente 
Terá uma cláusula VALUES para cada tabela, okdoc ?
  
   []s
   
 Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Rodrigo"  escreveu
>
> Pessoal,
> 
> Tenho 3 tabelas diferentes no banco de dados, e tenho uma planilha de onde 
> busca todos os dados para as 3 tabelas.
> 
> Tem alguma forma de fazer um INSERT para as 3 tabelas, sendo que os dados são 
> diferentes para as tabelas.
>




[oracle_br] Duvida com SQL

2013-11-25 Por tôpico Rodrigo
Pessoal,

Tenho 3 tabelas diferentes no banco de dados, e tenho uma planilha de onde 
busca todos os dados para as 3 tabelas.

Tem alguma forma de fazer um INSERT para as 3 tabelas, sendo que os dados são 
diferentes para as tabelas.