camilla 0 Denunciar post Postado Abril 29, 2005 Estou rodando uma procedure que nada mais é q um INSERT. Mas estou fazendo um INSERT de uns 200.000 registrosComo posso saber se o andamento está ok???Sei que é um processamento longo, está durando 3 dias, mas queria ter certeza q está ok, ....Eu tenho como verificar se as inserções estão sendo feitas?????? Como???Obrigada !!!! Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 30, 2005 ???num saquei..num é só contar quantos registros tem???? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Maio 1, 2005 Olá Camila, Priumeiramente seu servidor deve estar com muitos problemas de performance, pois uma inserção de 200.000 registros demorar 3 dias, é complicado. Mais voltando ao assunto, para verificar que sua procedure está OK, basta acessar a view v$session e verificar o sql_address e status da sua sessão. Exemplo: sql> select username, sid, serial#, sql_address, status 2 from v$session 3 where username <> ' '; Agora, ache o usuário que você está conectado ao banco de dados, depois de identificar, seja como está o status de sua sessão, ATIVA ou INATIVA. Se estiver ativa, sua procedure ainda está sendo executada. caso contrario não. Para saber como está o andamento da sessão, copie o valor hexadecimal que está no campo sql_address, depois faça o seguinte comando. sql> select sql_text from v$sqlarea where address = '004455AA22'; 004455AA22 --> é o valor do meu sql_address da sessão. OK! Abraços, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 2, 2005 Cada insert leva quase 3s !! Verifique a SP que faz isto e as triggers disparadas (se houver) pois está bravo, seu problema é o tempo e não a qtd de registros. Compartilhar este post Link para o post Compartilhar em outros sites
camilla 0 Denunciar post Postado Maio 2, 2005 Obrigada !!Com isso posso fazer uma maior análise, ... para saber o q está acontecendo, ...Realmente, o bd não está muito legal, ... mas preciso descobrir pq, ..Bjs e Valeu !!Camilla Compartilhar este post Link para o post Compartilhar em outros sites
camilla 0 Denunciar post Postado Maio 2, 2005 Motta,se a cada insert leva mais ou menos 3 segs, ... as contas são:200.000registros * 3seg = 600.000seg600.000seg/60seg = 10000min10.000min/60min = 166,6 horas166,6 horas/24 = 6,9 dias !!!!!!!!!!!!Estou errada ???Valeu !Bjs,Camilla Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Maio 2, 2005 Verifique o Last_Analyzed de cada tabela que você está fazendo inserção. Verifique também como está o consumo de mémoria dos processos de servidor na máquina. Utilize o PERFSTAT, e as views v$sysstat para saber o que está acontecendo. Geralmente, aqui onde trabalho fazemos inserção de 10milhões de registros e 20 minutos. Essa é a média.... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif O banco está uma carroçinha aí... beijokas. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 2, 2005 Motta, se a cada insert leva mais ou menos 3 segs, ... as contas são: 200.000registros * 3seg = 600.000seg 600.000seg/60seg = 10000min 10.000min/60min = 166,6 horas 166,6 horas/24 = 6,9 dias !!!!!!!!!!!! Estou errada ??? Valeu ! Bjs, Camilla <{POST_SNAPBACK}> na verdade 200000/86400 (60s x 60min x 24h)= 2,31 s sou exagerado .... Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Maio 3, 2005 :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Maio 4, 2005 Caramba, 3 dias pra rodar 200.000 registros... Camila, Verifica se tem indexes criados para esse tabela, da uma melhorada de 1000% no mínimo. Outra dica tb, vai la nas sessões que está executando o comando e verifica se está tendo muito acesso ao Hd e aos Hard Parses, uma boa configuração fica tendo muito mais leituras lógicas do que no Hd. http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Maio 5, 2005 Olá Camila, Seguinte, para fazer uma melhor analise, seja como está sendo inseridos esses registros, processos de carga por comandos DML (INSERT) é mais demorado, caso seja muitos registros vindos de arquivos TXT ou outras extenções, utilize o SQL*Load. Antes de inserir os dados, DROP os Indexes e crie os novamente, os Indices atrapalham as inserções nas tabelas. Outro ponto importante, é verificar sua configuração de SGA e mémoria do servidor, pode estar precario. Caso não utilize commit ao inserir os dados, verifique os segmentos de rollback e a performance dos blocos de leitura deles. Com isso já dá para dar uma melhorada. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
M4cJun1or 0 Denunciar post Postado Maio 10, 2005 Cara, 3 dias é muita coisa CARAMBA!tem algo errado nessa rotina, ou ela é realmente muito bruta! Compartilhar este post Link para o post Compartilhar em outros sites
rick_simmons 0 Denunciar post Postado Maio 11, 2005 essa rotina não tem nenhum teste de busca antes de inserir não? pois é muito tempo para cada inserção... imagino eu que deve ter alguma busca complexa com testes para cada novo registro Compartilhar este post Link para o post Compartilhar em outros sites