Re: [oracle_br] Criação Índice

2019-12-10 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
Obrigado André. Vou seguir o seu conselho.


Emerson Sanches
Analista de Sistemas


Em ter., 10 de dez. de 2019 às 12:23, André Luiz aandre...@yahoo.com.br
[oracle_br]  escreveu:

>
>
> Bom dia Emerson,
>
> Entendi que a tabela e temporária no sentido de guardar os dados
> temporariamente, não foi uma duvida, por esse motivo é que acredito que o
> problema deve ter sido a falta de um rebuild no índice, somente recriar o
> índice, digo a PK, já que arquitetura e a mesma, tanto a do índice criado
> quanto a da PK.
>
> Com o tempo, se não houver uma manutenção no índice o problema pondera se
> repetir,  logo de tempos em tempos, recrie o mesmo.
>
>
> Enviado do meu iPhone
>
> Em 10 de dez de 2019, à(s) 10:52, Emerson Sanches
> emerson.sanc...@gmail.com [oracle_br] 
> escreveu:
>
> 
>
> Bom dia. A PK esta criada desde que a tabela foi criada, e não tive
> problema com ele. Quando digo que é uma tabela "temporária" digo isso pq
> ela é usada como auxiliar de um relatório, não que eu a cria e a destrua
> sempre. Ela foi criada, fica no banco, e quando vou rodar a procedure eu
> inicio apagando os dados antigos. Acho que deveria ter me referido a ela
> como "tabela auxiliar" mesmo, teria gerado menos confusão.
> No inicio do processamento, no "insert" inicial de itens, o processo todo
> é bem rápido, o problema estava quando ia alterar (update) nos itens que já
> estavam na gravados na tabela (no cursor inicial). Era nesse processo de
> update que o negocio pegava. Quando foi criado um índice, o problema
> acabou. Por isso a duvida se o índice gerado na PK é tratado de forma
> diferente do índice criado manualmente.
>
>
> []s
> Emerson Sanches
> Analista de Sistemas
>
>
> Em seg., 9 de dez. de 2019 às 19:57, aandrelrm aandre...@yahoo.com.br
> [oracle_br]  escreveu:
>
>>
>>
>> Boa noite,
>>
>> Em relacao a PK, ela foi recriada ou ja existia?
>> Acredito que o problema se resolveria com a recriacao da PK, ja que voce
>> disse que apenas apaga os dados correto?
>>
>> Acredito que apenas um rebuild resolveria.
>>
>> Em relacao a diferença entre PK e indice em termos de arquitetura nao ha,
>> ele cria uma arvore e suas respectivas folhas.
>>
>>
>> Experimenta dropar o indice e recria a PK, lembrando que se esta tabela
>> tiver dependente, apague a consttraint.
>>
>> Espero ter ajudado!
>>
>>
>>
>> Enviado do tablet Samsung.
>>
>>  Mensagem original 
>> De : "Emerson Sanches emerson.sanc...@gmail.com [oracle_br]" <
>> oracle...@yahoogrupos.com..br >
>> Data: 09/12/2019 16:23 (GMT-03:00)
>> Para: oracle_br@yahoogrupos.com.br
>> Assunto: [oracle_br] Criação Índice
>>
>>
>>
>> Boa tarde pessoal do Grupo.
>> Tenho uma procedure rodando com muitos cursores pra popular uma tabela
>> auxiliar que criei (essa tabela é fixa, eu apago ela completamente no
>> inicio da procedure). Essa tabela contem vários campos, entre ele CNPJ
>> cliente, Código Produto e Part Number do produto. Esse campos são usados na
>> PK da tabela.
>>
>> O primeiro cursor acessa a base de faturamento e popula essa tabela
>> criada com informação do cnpj cliente, código do produto e part number do
>> cliente... O restante dos campos são deixados em branco.
>>
>> O segundo cursor acessa essa tabela, populada pelo cursor anterior, e,
>> baseado em suas informações, acessa a base de custos. Depois de aberto o
>> cursor, eu faço um update na tabela criada com as informações retornada
>> pelo cursor.
>>
>> Esse processo sempre rodou rapidamente, dentro do esperado pra um
>> processo desse tipo. Na ultima semana o processo ficou EXTREMAMENTE lento.
>> Conversando com o DBA (free lance da empresa) ele solucionou o problema
>> criando um índice utilizando os campos CNPJ Cliente, Código Produto e Part
>> Number.
>>
>> Ai que vem a duvida, na criação da PK já não foi criado um índice com
>> esses campos? Pq a criação de um índice "manual" resolveu o problema, se,
>> teoricamente, o índice já existia? O Oracle trata de forma diferente
>> índices criados automaticamente pela PK e índices criados manualmente?
>>
>> Espero ter me feito entender.
>> Agradeço desde pela atenção sempre prestada.
>>
>> []s
>> Emerson
>>
>> 
>


Re: [oracle_br] Criação Índice

2019-12-10 Por tôpico André Luiz aandre...@yahoo.com.br [oracle_br]
Bom dia Emerson,

Entendi que a tabela e temporária no sentido de guardar os dados 
temporariamente, não foi uma duvida, por esse motivo é que acredito que o 
problema deve ter sido a falta de um rebuild no índice, somente recriar o 
índice, digo a PK, já que arquitetura e a mesma, tanto a do índice criado 
quanto a da PK.

Com o tempo, se não houver uma manutenção no índice o problema pondera se 
repetir,  logo de tempos em tempos, recrie o mesmo. 


Enviado do meu iPhone

> Em 10 de dez de 2019, à(s) 10:52, Emerson Sanches emerson.sanc...@gmail.com 
> [oracle_br]  escreveu:
> 
> 
> Bom dia. A PK esta criada desde que a tabela foi criada, e não tive problema 
> com ele. Quando digo que é uma tabela "temporária" digo isso pq ela é usada 
> como auxiliar de um relatório, não que eu a cria e a destrua sempre. Ela foi 
> criada, fica no banco, e quando vou rodar a procedure eu inicio apagando os 
> dados antigos. Acho que deveria ter me referido a ela como "tabela auxiliar" 
> mesmo, teria gerado menos confusão.
> No inicio do processamento, no "insert" inicial de itens, o processo todo é 
> bem rápido, o problema estava quando ia alterar (update) nos itens que já 
> estavam na gravados na tabela (no cursor inicial). Era nesse processo de 
> update que o negocio pegava. Quando foi criado um índice, o problema acabou. 
> Por isso a duvida se o índice gerado na PK é tratado de forma diferente do 
> índice criado manualmente.
> 
> 
> []s
> Emerson Sanches
> Analista de Sistemas
> 
> 
>> Em seg., 9 de dez. de 2019 às 19:57, aandrelrm aandre...@yahoo.com.br 
>> [oracle_br]  escreveu:
>>  
>> Boa noite,
>> 
>> Em relacao a PK, ela foi recriada ou ja existia?
>> Acredito que o problema se resolveria com a recriacao da PK, ja que voce 
>> disse que apenas apaga os dados correto?
>> 
>> Acredito que apenas um rebuild resolveria.
>> 
>> Em relacao a diferença entre PK e indice em termos de arquitetura nao ha, 
>> ele cria uma arvore e suas respectivas folhas.
>> 
>> 
>> Experimenta dropar o indice e recria a PK, lembrando que se esta tabela 
>> tiver dependente, apague a consttraint.
>> 
>> Espero ter ajudado!
>> 
>> 
>> 
>> Enviado do tablet Samsung.
>> 
>>  Mensagem original 
>> De : "Emerson Sanches emerson.sanc...@gmail.com [oracle_br]" 
>> 
>> Data: 09/12/2019 16:23 (GMT-03:00)
>> Para: oracle_br@yahoogrupos.com.br
>> Assunto: [oracle_br] Criação Índice
>> 
>>  
>> Boa tarde pessoal do Grupo. 
>> Tenho uma procedure rodando com muitos cursores pra popular uma tabela 
>> auxiliar que criei (essa tabela é fixa, eu apago ela completamente no inicio 
>> da procedure). Essa tabela contem vários campos, entre ele CNPJ cliente, 
>> Código Produto e Part Number do produto. Esse campos são usados na PK da 
>> tabela.
>> 
>> O primeiro cursor acessa a base de faturamento e popula essa tabela criada 
>> com informação do cnpj cliente, código do produto e part number do cliente.. 
>> O restante dos campos são deixados em branco.
>> 
>> O segundo cursor acessa essa tabela, populada pelo cursor anterior, e, 
>> baseado em suas informações, acessa a base de custos. Depois de aberto o 
>> cursor, eu faço um update na tabela criada com as informações retornada pelo 
>> cursor.
>> 
>> Esse processo sempre rodou rapidamente, dentro do esperado pra um processo 
>> desse tipo. Na ultima semana o processo ficou EXTREMAMENTE lento. 
>> Conversando com o DBA (free lance da empresa) ele solucionou o problema 
>> criando um índice utilizando os campos CNPJ Cliente, Código Produto e Part 
>> Number. 
>> 
>> Ai que vem a duvida, na criação da PK já não foi criado um índice com esses 
>> campos? Pq a criação de um índice "manual" resolveu o problema, se, 
>> teoricamente, o índice já existia? O Oracle trata de forma diferente índices 
>> criados automaticamente pela PK e índices criados manualmente?
>> 
>> Espero ter me feito entender. 
>> Agradeço desde pela atenção sempre prestada.
>> 
>> []s
>> Emerson
> 
> 


Re: [oracle_br] Criação Índice

2019-12-10 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
Bom dia. A PK esta criada desde que a tabela foi criada, e não tive
problema com ele. Quando digo que é uma tabela "temporária" digo isso pq
ela é usada como auxiliar de um relatório, não que eu a cria e a destrua
sempre. Ela foi criada, fica no banco, e quando vou rodar a procedure eu
inicio apagando os dados antigos. Acho que deveria ter me referido a ela
como "tabela auxiliar" mesmo, teria gerado menos confusão.
No inicio do processamento, no "insert" inicial de itens, o processo todo é
bem rápido, o problema estava quando ia alterar (update) nos itens que já
estavam na gravados na tabela (no cursor inicial). Era nesse processo de
update que o negocio pegava. Quando foi criado um índice, o problema
acabou. Por isso a duvida se o índice gerado na PK é tratado de forma
diferente do índice criado manualmente.


[]s
Emerson Sanches
Analista de Sistemas


Em seg., 9 de dez. de 2019 às 19:57, aandrelrm aandre...@yahoo.com.br
[oracle_br]  escreveu:

>
>
> Boa noite,
>
> Em relacao a PK, ela foi recriada ou ja existia?
> Acredito que o problema se resolveria com a recriacao da PK, ja que voce
> disse que apenas apaga os dados correto?
>
> Acredito que apenas um rebuild resolveria.
>
> Em relacao a diferença entre PK e indice em termos de arquitetura nao ha,
> ele cria uma arvore e suas respectivas folhas.
>
>
> Experimenta dropar o indice e recria a PK, lembrando que se esta tabela
> tiver dependente, apague a consttraint.
>
> Espero ter ajudado!
>
>
>
> Enviado do tablet Samsung.
>
>  Mensagem original 
> De : "Emerson Sanches emerson.sanc...@gmail.com [oracle_br]" <
> oracle_br@yahoogrupos.com.br>
> Data: 09/12/2019 16:23 (GMT-03:00)
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Criação Índice
>
>
>
> Boa tarde pessoal do Grupo.
> Tenho uma procedure rodando com muitos cursores pra popular uma tabela
> auxiliar que criei (essa tabela é fixa, eu apago ela completamente no
> inicio da procedure). Essa tabela contem vários campos, entre ele CNPJ
> cliente, Código Produto e Part Number do produto. Esse campos são usados na
> PK da tabela.
>
> O primeiro cursor acessa a base de faturamento e popula essa tabela criada
> com informação do cnpj cliente, código do produto e part number do cliente.
> O restante dos campos são deixados em branco.
>
> O segundo cursor acessa essa tabela, populada pelo cursor anterior, e,
> baseado em suas informações, acessa a base de custos. Depois de aberto o
> cursor, eu faço um update na tabela criada com as informações retornada
> pelo cursor.
>
> Esse processo sempre rodou rapidamente, dentro do esperado pra um processo
> desse tipo. Na ultima semana o processo ficou EXTREMAMENTE lento.
> Conversando com o DBA (free lance da empresa) ele solucionou o problema
> criando um índice utilizando os campos CNPJ Cliente, Código Produto e Part
> Number.
>
> Ai que vem a duvida, na criação da PK já não foi criado um índice com
> esses campos? Pq a criação de um índice "manual" resolveu o problema, se,
> teoricamente, o índice já existia? O Oracle trata de forma diferente
> índices criados automaticamente pela PK e índices criados manualmente?
>
> Espero ter me feito entender.
> Agradeço desde pela atenção sempre prestada.
>
> []s
> Emerson
>
> 
>


Re: [oracle_br] Criação Índice

2019-12-09 Por tôpico aandrelrm aandre...@yahoo.com.br [oracle_br]
Boa noite,Em relacao a PK, ela foi recriada ou ja existia?Acredito que o 
problema se resolveria com a recriacao da PK, ja que voce disse que apenas 
apaga os dados correto?Acredito que apenas um rebuild resolveria.Em relacao a 
diferença entre PK e indice em termos de arquitetura nao ha, ele cria uma 
arvore e suas respectivas folhas.Experimenta dropar o indice e recria a PK, 
lembrando que se esta tabela tiver dependente, apague a consttraint.Espero ter 
ajudado!Enviado do tablet Samsung.
 Mensagem original De : "Emerson Sanches 
emerson.sanc...@gmail.com [oracle_br]"  Data: 
09/12/2019  16:23  (GMT-03:00) Para: oracle_br@yahoogrupos.com.br Assunto: 
[oracle_br] Criação Índice 
 



  



  
  
  Boa tarde pessoal do Grupo. Tenho uma procedure rodando com muitos 
cursores pra popular uma tabela auxiliar que criei (essa tabela é fixa, eu 
apago ela completamente no inicio da procedure). Essa tabela contem vários 
campos, entre ele CNPJ cliente, Código Produto e Part Number do produto. Esse 
campos são usados na PK da tabela.O primeiro cursor acessa a base de 
faturamento e popula essa tabela criada com informação do cnpj cliente, código 
do produto e part number do cliente. O restante dos campos são deixados em 
branco.O segundo cursor acessa essa tabela, populada pelo cursor anterior, e, 
baseado em suas informações, acessa a base de custos. Depois de aberto o 
cursor, eu faço um update na tabela criada com as informações retornada pelo 
cursor.Esse processo sempre rodou rapidamente, dentro do esperado pra um 
processo desse tipo. Na ultima semana o processo ficou EXTREMAMENTE lento. 
Conversando com o DBA (free lance da empresa) ele solucionou o problema criando 
um índice utilizando os campos CNPJ Cliente, Código Produto e Part Number. Ai 
que vem a duvida, na criação da PK já não foi criado um índice com esses 
campos? Pq a criação de um índice "manual" resolveu o problema, se, 
teoricamente, o índice já existia? O Oracle trata de forma diferente índices 
criados automaticamente pela PK e índices criados manualmente?Espero ter me 
feito entender. Agradeço desde pela atenção sempre prestada.[]sEmerson



 







[oracle_br] Criação Índice

2019-12-09 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
Boa tarde pessoal do Grupo.
Tenho uma procedure rodando com muitos cursores pra popular uma tabela
auxiliar que criei (essa tabela é fixa, eu apago ela completamente no
inicio da procedure). Essa tabela contem vários campos, entre ele CNPJ
cliente, Código Produto e Part Number do produto. Esse campos são usados na
PK da tabela.

O primeiro cursor acessa a base de faturamento e popula essa tabela criada
com informação do cnpj cliente, código do produto e part number do cliente.
O restante dos campos são deixados em branco.

O segundo cursor acessa essa tabela, populada pelo cursor anterior, e,
baseado em suas informações, acessa a base de custos. Depois de aberto o
cursor, eu faço um update na tabela criada com as informações retornada
pelo cursor.

Esse processo sempre rodou rapidamente, dentro do esperado pra um processo
desse tipo. Na ultima semana o processo ficou EXTREMAMENTE lento.
Conversando com o DBA (free lance da empresa) ele solucionou o problema
criando um índice utilizando os campos CNPJ Cliente, Código Produto e Part
Number.

Ai que vem a duvida, na criação da PK já não foi criado um índice com esses
campos? Pq a criação de um índice "manual" resolveu o problema, se,
teoricamente, o índice já existia? O Oracle trata de forma diferente
índices criados automaticamente pela PK e índices criados manualmente?

Espero ter me feito entender.
Agradeço desde pela atenção sempre prestada.

[]s
Emerson