Re: [oracle_br] Performance em Insert into Select
Se possível, passe o código do insert com select completo, dae fica mais fácil ajudar. - Original Message - From: Zumba To: Oracle BR Sent: Wednesday, January 16, 2008 11:31 AM Subject: {Disarmed} [oracle_br] Performance em Insert into Select Olá pessoal, estou com uma situação um pouco estranha. Um select um pouco grande, mas está bem indexando e retornando rápido. O resultado do select é inserido numa tabela na forma de INSERT INTO TB_XX SELECT. Este processamento está em package e ao executar este trecho, a performance degrada demais levando 2min p/ cada registro. Mais estranho é se pegar o mesmo trecho e executar manualmente no sqlplus, roda sem problemas. A tabela a ser inserida não dispara trigger, mas tem 4 indices sendo que 3 deles tem 4 colunas cada. Existe alguma forma de implementar ou configurar p/ resolver este problema. Já utilizamos FORALL e nada. Bom, se tiverem alguma sugestão e puderem contribuir, agradeço muito. Abraço Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Debug 8i
Vc precisa compilar FOR DEBUG pra funcionar. Att., Rodrigo Moreno Cambé - Paraná - Original Message - From: Thiago H. Pojda To: oracle_br@yahoogrupos.com.br Sent: Tuesday, January 15, 2008 1:30 PM Subject: {Disarmed} [oracle_br] Debug 8i Pessoal, Estive estudando ferramentas para depuração de códigos PL/SQL mas só encontrei as que suportam bancos acima do 9i. Já tentei SQL Developer, JDeveloper, SQuirreL SQL e SQL Tools mas ainda nada. O SQL Developer é o que chega mais perto, abre a conexão para debug e executa o que pedi mas não pára em nenhum breakpoint. Alguém tem alguma idéia do que posso utilizar? Obrigado. -- Thiago Henrique Pojda www.duohost.com.br DuoHost - Atendimento [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] URGENTE !
Acho melhor reiniciar o servidor (se for possível), pois vc vai precisar de uma senha DBA p/ matar o processo que está rodando. - Original Message - From: Michel Temer Feres To: oracle_br@yahoogrupos.com.br Sent: Tuesday, January 15, 2008 8:45 AM Subject: {Disarmed} Re: [oracle_br] URGENTE ! o problema é que eu não sei fazer isso, sou desenvolvedor e não temos dba, como faço isso ? Rodrigo Moreno - Hydronorth S/A <[EMAIL PROTECTED]> escreveu: Procura o processo da trigger no banco e mata ele que dae vc consegue apagar a trigger. Abraço, Rodrigo Moreno Cambé - Paraná - Original Message - From: Michel Temer Feres To: oracle_br@yahoogrupos.com.br Sent: Tuesday, January 15, 2008 8:24 AM Subject: {Disarmed} [oracle_br] URGENTE ! Bom dia a todos ! Estou tentando excluir uma trigger que dentro dela está chamando uma procedure, e acredito que ela está em loop no meu banco de dados oracle Release 9.0.1.3., e está dando a seguinte mensage: timeout occurred while waiting to lock object ACADEMICO.TRG_ALTERA_CREDITO Gostaria de saber qual será o procedimento adequado para exluir esse objeto. Desde já agradeço ! No aguardo, Michel. - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Como melhorar performance em consult a com função
Você pode usar uma Função de Tabela em PIPELINE. Rodrigo Moreno Cambé - Paraná - Original Message - From: foruns paganato To: oracle_br@yahoogrupos.com.br Sent: Monday, January 14, 2008 5:32 PM Subject: {Disarmed} Re: [oracle_br] Como melhorar performance em consulta com função Gleyson: - A função em questão (VERIFICA_URA), faz vários selects e consistências internamente. Como disse apenas consultas; - A função retorna apenas uma string, onde dentro da função eu vou concatenando as informações que quero pegar na saída; - Quanto a opção de "procedure", eu preciso que seja retornado os valores dentro de um select normal conforme apresentado. Eu não sei se é possível fazer com procedure, se for poderia me ajudar, dando exemplo, etc ???; - Eu não sei a estrutura de armazenamento, pois é num cliente que estou fazendo esse procedimento. Att., Alexandre Em 14/01/08, Gleyson Melo <[EMAIL PROTECTED]> escreveu: > > Fala Paganato! > > Para resolver esse problema, é necessário que a gente conheça algumas > variáveis a mais: > > - Você chama a função VERIFICA_URA apenas uma vez, ou você coloca o > nome do campo que vem de uma tabela, ao colocar esse select dentro de > outro? > - O que a função VERIFICA_URA faz? SELECT numa tabela (Possivelmente)? > Quantos quantos blocos? Essa tabela possui estatísticas atualizadas? > - Você tem uma estrutura de Storage? Discos SATA? IDE? > - Os dados da URA vem em forma de uma "stringona". Você faz a > concatenação dentro da função? > - Já que você retorna apenas um registro, você não poderia criar uma > procedure com diversos parâmetros de saída para evitar de fazer vários > SUBSTRING? > > Abraços. > > Em 14/01/08, paganato <[EMAIL PROTECTED] > > escreveu: > > > > Bom dia a todos. > > Tenho a seguinte situação abaixo: Tenho um sub select que chama um > > função; Essa função retorna uma string; Um select quebra a string > > retornada; > > > > SELECT SUBSTR(A.URA, 1, 70) NOME, > > SUBSTR(A.URA, 71, 1) EMPRESA, > > SUBSTR(A.URA, 72, 4) ANO, > > SUBSTR(A.URA, 76, 14) NUM_OCORRENCIA, > > SUBSTR(A.URA, 90, 1) TIPO_OCORR, > > SUBSTR(A.URA, 91, 16) DH_FINAL > > FROM (SELECT VERIFICA_URA('(19)36082902') URA FROM DUAL) A > > > > Estou precisando melhorar a performance desse select mas não sei mais > > oq fazer. > > > > Quando executo apenas SELECT VERIFICA_URA('(19)36082902') URA FROM DUAL > > o tempo é de 0,157s, e o seelct todo o tempo é de 0,953s. > > Esses valores variam. Preciso que fique no tempo menor, se alguem tiver > > uma solução melhor e mais eficiente aceito sugestões. > > > > Att., > > Alexandre > > > > > > > > -- > Atenciosamente, > Gleyson Melo > Oracle Database 10g Administrator Certified Professional > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] URGENTE !
Procura o processo da trigger no banco e mata ele que dae vc consegue apagar a trigger. Abraço, Rodrigo Moreno Cambé - Paraná - Original Message - From: Michel Temer Feres To: oracle_br@yahoogrupos.com.br Sent: Tuesday, January 15, 2008 8:24 AM Subject: {Disarmed} [oracle_br] URGENTE ! Bom dia a todos ! Estou tentando excluir uma trigger que dentro dela está chamando uma procedure, e acredito que ela está em loop no meu banco de dados oracle Release 9.0.1.3., e está dando a seguinte mensage: timeout occurred while waiting to lock object ACADEMICO.TRG_ALTERA_CREDITO Gostaria de saber qual será o procedimento adequado para exluir esse objeto. Desde já agradeço ! No aguardo, Michel. - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Alguem pode me ajudar???
Olá, eu uso a função abaixo para retornar linhas em colunas. create or replace FUNCTION rowtocol ( p_slct IN VARCHAR2, p_dlmtr IN VARCHAR2 DEFAULT ',' ) RETURN VARCHAR2 AUTHID CURRENT_USER AS TYPE c_refcur IS REF CURSOR; lc_str VARCHAR2(4000); lc_colval VARCHAR2(4000); c_dummy c_refcur; l number; BEGIN OPEN c_dummy FOR p_slct; LOOP FETCH c_dummy INTO lc_colval; EXIT WHEN c_dummy%NOTFOUND; lc_str := lc_str || p_dlmtr || lc_colval; END LOOP; CLOSE c_dummy; RETURN SUBSTR(lc_str,2); END; Compila ela no seu banco e tenta fazer assim: SELECT codtit, emp, razaosocial, codtitular, nometit, codass, nomeass, ROWTOCOL('SELECT deptitu FROM TABELADEP WHERE CODTIT = '||codtit,' / ') FROM ... Se você me passar a estrutura e as chaves eu monto mais certinho pra você. Abraço, Rodrigo Moreno Cambé - Paraná - Original Message - From: adealves22 To: oracle_br@yahoogrupos.com.br Sent: Friday, January 11, 2008 4:30 PM Subject: {Disarmed} [oracle_br] Alguem pode me ajudar??? Boa tarde pessoal! Estou precisando de ajuda para emitir um relatório. Temos o Oracle 10g e preciso emitir um relatório unindo tres tabelas. Tabela de Titulares, Tabela de Associados e Tabela de Dependentes. Como funciona o esquema. O titular tem um associado e dependentes cadastrados. O Associado tambem tem os mesmos dependentes do titular cadastrados. Preciso que o relatório seja apresentado como o exemplo abaixo: exemplo: cod emp razaosocial codtitular nometit codass nomeass deptitu depass 1 empresa ltda 1 maria 1 joao maria joao joao maria jose jose Como fazer o select para que não traga no relatorio as informações duplicadas varias vezes que é o meu problema. Está trazendo assim: codemp razaosocial codtitular nometit codass nomeass deptitu depass 1 empresa ltda 1 maria 1 joao maria joao 1 empresa ltda 1 maria 1 joao joao maria 1 empresa ltda 1 maria 1 joao jose jose 1 empresa ltda 1 maria 1 joao maria joao 1 empresa ltda 1 maria 1 joao joao maria 1 empresa ltda 1 maria 1 joao jose jose Agradeço desde já!!! Adeilda -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] DBMS_JOB.Change
Bom Dia Fabiano, Tenta assim: BEGIN DBMS_JOB.CHANGE(1,'CODIGO_A_EXECURAR;',TRUNC(SYSDATE),'TRUNC(SYSDATE+1)+23/24'); END; / Att., Rodrigo Moreno Arapongas - Paraná - Original Message - From: Fabiano Arndt To: oracle_br@yahoogrupos.com.br Sent: Friday, December 21, 2007 10:14 AM Subject: {Disarmed} [oracle_br] DBMS_JOB.Change Bom dia Pessoal, to com uma dificuldade pra mudar o horário de execução de um Job, gostaria que ele fosse executado todo dia às 23:00hs a versão do oracle é a 9i. SO win2003 server. já fiz várias tentativas e não está funcionando, por isso resolvi apelar para o grupo. a forma que eu fiz foi como mostrado abaixo: begin dbms_job.change( JOB => 1, WHAT => null, NEXT_DATE => TRUNC(SYSDATE)+23/24, INTERVAL => 'TRUNC(SYSDATE)+23/24' ); end; / o problema é que tá executando sempre depois da meia noite, tentei mudar os parâmetros para TRUNC(SYSDATE)+22/24 para executar as 22:00hs, mas continua executando depois da meia noite. gostaria que alguém me desse uma luz nisso, ou me passasse algum material que explique como funcionam os parâmetros dessa função. obrigado a todos, Fabiano. [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas]