[oracle_br] Re: É possível medir o impacto da rede no desempenho do banco de dados?
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?
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
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
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:
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
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
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.