[oracle_br] Re: Muitos registros / pouca performance
Falou gente, Ricardo, Kenia e Eduardo. Tô indo pra empresa tentar realizar trace . Vou fazer isso no horario de pico e depois do expediente, pra poder ter mais exatidao sobre o aspecto de qtd de acesso. Volto mais tarde ou amanha, isso se os tapados da lá resolverem evoluir! Obrigado + uma vez a todos. --- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni [EMAIL PROTECTED] escreveu Depende, cada ambiente é um ambiente. Materialized Views são legais. O nome é mais legal ainda. Mas cada select é diferente. E Materialized Views tem problema também. Performance só pode ser mensurada por um quantitativo:TEMPO. Saiba onde ele está sendo gasto antes de tentar corrigir, se este ambiente for importante. Vai com calma e com certeza, nós vamos te ajudar. Ricardo Portilho Proni Coordenador de Bancos de Dados - Solvo S/A - Oracle Database 10g Administrator Certified Professional (OCP) - Microsoft Certified Professional (MCP) - Microsoft Certified Technologt Specialist: SQL Server 2005 (MCTS) Em Seg, 2008-10-27 às 23:10 +, urubullino escreveu: Nossas consultas ja foram bem estudadas. Nenhuma tem * e extraímos alguns degradadores como decodes e outros tipos de construcoes na cláusula 'where'. Qual seria a diferenca (em termos de performance) entre tabelas particionadas e views materializadas. Pelo que vi na internet , o particionamento da tabela ja com dados seria mais trabalhoso, pois teria que construir a tabela particionada e depois migrar os dados da tabela de origem para ela, atraves de inserts. Já com visoes materializadas nao teriamos esse problema , até porque o sistema tem muitas tabelas que estao com uma quantidade enorme de registros. O faria no meu caso ? Favor responder nesse topico, pq cometi o erro de repetir as perguntas com tirulos diferentes: http://br.groups.yahoo.com/group/oracle_br/message/90503 pode copiar e colar a conversa toda. Obrigado pela ajuda --- Em oracle_br@yahoogrupos.com.br, Kenia Milene keniamilene@ escreveu Ola ... Ja tentou analizar as consultas que estao sendo feitas ??? Muitas vezes é feito um select * em uma tabela com muitas informações qdo na verdade precisamos somente de 1 ou 2 campos ... Outra alternativa tb seria o particionamento de tabelas !!! Boa Sorte Kenia -- Kenia Milene C. Galiego DataBase Administrator Oracle / PostgreSQL / MySql / SQL Server Email: keniamilene@ Blog: http://keniamilene.wordpress.com 2008/10/24 urubullino javone@ Oi pra todos. Sou novo no grupo e nao conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao financeira com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram muito para serem executados. Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver a informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma aceerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Muitos registros / pouca performance
Oi pra todos. Sou novo no grupo e nao conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao financeira com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram muito para serem executados. Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver a informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma aceerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos.
[oracle_br] Relatorios muito lentos
Oi pra todos. não conheco muita coisa de Oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram uma eternidade para serem executados. Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver essa informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma acelerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. Informações do Ambiente: * Versão do Oracle: 10g * Sistema Operacional: win xp
[oracle_br] Performance dos relatorios-ajuda
Oi pra todos. não conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram uma eternidade para serem executados, em torno de HORAS... Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver essa informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma acelerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos.
[oracle_br] Re: Performance dos relatorios-ajuda
Caro Eduardo , como vc pode ter visto as mensagens foram mandadas em horarios diferentes. Estava mandando a mensagem e ela nao aparecia na listagem. Hoje é aprimeira vez que a vi aqui. De qq forma desculpe o transtorno . Falando sobre o assunto, o Reports que uso é antigo , vesao 3 se nao me engano, mas acho que vamos mudar para 9. Perguntei sobre a troca de ferramenta porque tinha um consultor que aqui na empresa e falava que o Reports perde um certo tempo construindo o layout. Já o Discoverer (exemplo dado por ele) executa isso muito mais rapido, porém essa ferramenta é muito limitada nessa parte de layout. Teria como me enviar alguma pagina que dê dicas de como realizar o trace. Como disse sou leigo em Oracle. Muito obrigado pela ajuda. --- Em oracle_br@yahoogrupos.com.br, Claro, Eduardo [EMAIL PROTECTED] escreveu Amigo, Acho que uma primeira dica seria mandar apenas um e-mail, e não três com o mesmo conteúdo e títulos diferentes como você fez. Isso acaba poluindo as mensagens do grupo, que já são muitas, ok? ;-) Se os seus relatórios estão com esta performance tão ruim, é muito provável que recaia em um ou mais dos seguintes itens: 1. Queries mal-escritas dentro dos relatórios. Podem ser consultas que evitam o uso de índices (modo de escrita da query), ou lêem mais do que o necessário (falta de restrições), etc, etc. 2. Falta de objetos de performance no banco de dados (especialmente índices, mas também entram aqui as Views Materializadas). 3. Falta de estatísticas dos objetos, ou estatísticas obsoletas. Seria interessante gerar trace de algum destes relatórios, formatar o trace com o tkprof e analisar o resultado. Assim, talvez possamos ajudar melhor. Quanto à troca de ferramenta, a princípio não acredito ser o caso. O Reports é uma ferramenta que te permite escrever as queries dos relatórios, e portanto a performance será ditada pelo que você escrever, e não pela ferramenta em si. []s -- Eduardo Claro -Original Message- From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of urubullino Sent: sábado, 25 de outubro de 2008 14:30 To: oracle_br@yahoogrupos.com.br Subject: [oracle_br] Performance dos relatorios-ajuda Oi pra todos. não conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram uma eternidade para serem executados, em torno de HORAS... Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver essa informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma acelerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. -- 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
[oracle_br] Re: Performance dos relatorios-ajuda
Caro Ricardo, antes de tudo obrigado. Nao seria interessante colocar o trace no na trigger 'before report' do Reports? Poderia ficar assim? srw.do_sql('ALTER SESSION SET TRACEFILE_IDENTIFIER = RelatorioLentoQueSoEle' ); srw.do_sql('ALTER SESSION SET TIMED_STATISTICS = TRUE'); srw.do_sql('ALTER SESSION SET EVENTS 10046 trace name context forever, level 12); alguma coisa no 'after report' ? Uma pergunta...Esse alter session está restrito ao usuario solicitante do relatorio? Pq nao adiantaria tanto se tiver outros usuarios tambem fazendo consultas no banco. Falando em acessos, suponho que poucos usuarios acessando o banco, a performance seria melhor; enquanto se muitos usuarios estiverem acessando , seria pior . Como analisar isso? Eu teria que fazer o trace depois do horario de expediente, quando ninguem estaria usando o sistema? E depois, como avaliar se a quantidade de acessos estaria compromentando a performance. E mais tarde, como melhorar isso, caso seja comprovado esse problema? Obrigado mais uma vez e desculpe por tantas duvidas --- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni [EMAIL PROTECTED] escreveu Oi. Como um colega já disse aqui, antes de solucionar o problema de performance, você precisa ter certeza onde o TEMPO deste relatório está sendo gasto. Você consegue rodar este relatório com trace? Para isso, uma das formas é colocar isso antes do SELECT que faz este relatório: ALTER SESSION SET TRACEFILE_IDENTIFIER = 'RelatorioLentoQueSoEle'; ALTER SESSION SET TIMED_STATISTICS = TRUE; ALTER SESSION SET EVENTS '10046 trace name context forever, level 12'; Depois que ele terminar, procure pelo arquivo com RelatorioLentoQueSoEle no nome, e execute: tkprof arquivo E coloque o resultado aqui pra gente. Ricardo Portilho Proni Coordenador de Bancos de Dados - Solvo S/A - Oracle Database 10g Administrator Certified Professional (OCP) - Microsoft Certified Professional (MCP) - Microsoft Certified Technologt Specialist: SQL Server 2005 (MCTS) Em Sáb, 2008-10-25 às 16:30 +, urubullino escreveu: Oi pra todos. não conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram uma eternidade para serem executados, em torno de HORAS... Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver essa informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma acelerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Performance dos relatorios-ajuda
Opa, esqueci de mais uma: E como fica a avaliacao de outros quesitos como: rede, maquina,..., na execução do report? Nao adianta ter tudo perfeito com um servidor lento ou uma rede horrivel . Obrigado --- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni [EMAIL PROTECTED] escreveu Oi. Como um colega já disse aqui, antes de solucionar o problema de performance, você precisa ter certeza onde o TEMPO deste relatório está sendo gasto. Você consegue rodar este relatório com trace? Para isso, uma das formas é colocar isso antes do SELECT que faz este relatório: ALTER SESSION SET TRACEFILE_IDENTIFIER = 'RelatorioLentoQueSoEle'; ALTER SESSION SET TIMED_STATISTICS = TRUE; ALTER SESSION SET EVENTS '10046 trace name context forever, level 12'; Depois que ele terminar, procure pelo arquivo com RelatorioLentoQueSoEle no nome, e execute: tkprof arquivo E coloque o resultado aqui pra gente. Ricardo Portilho Proni Coordenador de Bancos de Dados - Solvo S/A - Oracle Database 10g Administrator Certified Professional (OCP) - Microsoft Certified Professional (MCP) - Microsoft Certified Technologt Specialist: SQL Server 2005 (MCTS) Em Sáb, 2008-10-25 às 16:30 +, urubullino escreveu: Oi pra todos. não conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram uma eternidade para serem executados, em torno de HORAS... Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver essa informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma acelerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Muitos registros / pouca performance
Nossas consultas ja foram bem estudadas. Nenhuma tem * e extraímos alguns degradadores como decodes e outros tipos de construcoes na cláusula 'where'. Qual seria a diferenca (em termos de performance) entre tabelas particionadas e views materializadas. Pelo que vi na internet , o particionamento da tabela ja com dados seria mais trabalhoso, pois teria que construir a tabela particionada e depois migrar os dados da tabela de origem para ela, atraves de inserts. Já com visoes materializadas nao teriamos esse problema , até porque o sistema tem muitas tabelas que estao com uma quantidade enorme de registros. O faria no meu caso ? Favor responder nesse topico, pq cometi o erro de repetir as perguntas com tirulos diferentes: http://br.groups.yahoo.com/group/oracle_br/message/90503 pode copiar e colar a conversa toda. Obrigado pela ajuda --- Em oracle_br@yahoogrupos.com.br, Kenia Milene [EMAIL PROTECTED] escreveu Ola ... Ja tentou analizar as consultas que estao sendo feitas ??? Muitas vezes é feito um select * em uma tabela com muitas informações qdo na verdade precisamos somente de 1 ou 2 campos ... Outra alternativa tb seria o particionamento de tabelas !!! Boa Sorte Kenia -- Kenia Milene C. Galiego DataBase Administrator Oracle / PostgreSQL / MySql / SQL Server Email: [EMAIL PROTECTED] Blog: http://keniamilene.wordpress.com 2008/10/24 urubullino [EMAIL PROTECTED] Oi pra todos. Sou novo no grupo e nao conheco muita coisa de oracle mas aqui vai um problema que nunca deixou o sistema em que trabalho... Temos uma aplicacao financeira com inumeras tabelas e muuuiitos registros. Usamos o Oracle Reports e em muitos casos os relatórios demoram muito para serem executados. Por pesquisa cheguei a conclusao que uma view materializada poderia resolver o assunto , o Report iria acessar essa view . Mas o usuario quer ver a informacao quase que instantaneamente quando a mesma é inserida ou modificada. A view materialized seria mesmo a melhor opcao ou teria outra, mesmo com ferramentas de terceiros ? Para dar uma aceerada ainda maior , também estou estudando outros geradores de relatorios que possam executar a tarefa mais rapido que o Oracle Reports... Alguma dica? Obrigado a todos. [As partes desta mensagem que não continham texto foram removidas]