RES: [oracle_br] diminuir tablespace?
Márcio, de uma procurada sobre o SHRINK no forum. A um tempo atras disconti bastante sobre isso com o Chiappa. No fim das contas cheguei a uma brilhante conclusão. No ambiente que tenho não iria ajudar em nada. Mas os rebuilds é bom fazer sim. Estou fazendo em alguns indices aqui na empresa. Att, Welvis Douglas da Silva Moretto DBA - Oracle Certified (1ZO-042) Fone: (41) 9997-6297 E-mail:welvis_doug...@hotmail.com, wel...@stcruz.com.br Messenger: welvis_doug...@hotmail.com Mestre em Engenharia de Produção e Sistemas - PUC/PR; Especializando em Banco de Dados - UNOPAR; Especialista Engenharia de Software - UNOPAR; Tecnólogo em Processamento de Dados - FACCAR. _ De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Márcio Ricardo Alves da Silva Enviada em: quarta-feira, 23 de junho de 2010 11:49 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] diminuir tablespace? Raul, hoje pelo EM, eu faço todo mês um SHRINK nas tablespace de dados e índices que são recomendadas pelo EM. O que acha, continuo dessa maneira ou cada vez que deletar informações faço o SHRINK? Márcio. - Original Message - From: Raul Francisco Costa F. de Andrade, DBA raulf...@gmail.com mailto:raulfdba%40gmail.com To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Sent: Wednesday, June 23, 2010 11:45 AM Subject: Re: [oracle_br] diminuir tablespace? Olá meu amigo! faça um shrink nas tabelas e índices: ALTER TABLE TABLE_NAME SHRINK SPACE ALTER INDEX INDEX_NAME SHRINK SPACE [COMPACT] Ou faça um move da tabela de um tablespace para outro: ALTER TABLE TABLE_NAME MOVE NOME_TABLESPACE; Depois volte para o mesmo se for o caso. Para mover a tabela faça antes: ALTER TABLE TABLE_NAME enable row movement. Att. Raul Em 23 de junho de 2010 11:05, Márcio Ricardo Alves da Silva marcio_...@yahoo.com.br mailto:marcio_cbj%40yahoo.com.br escreveu: Boas. Hoje tenho no meu banco algumas tabelas que são deletadas informações de um determinado período, posso considerar que todo mês essas informações são deletadas. Nessa tabela tenho um campo CLOB e são inseridas muitas informações, com a deleção minha tablespace ficam fragmentada, certo? É aconselhável desfragmentar essa tablespace? Como posso fazer para que o Oracle possa reutilizar esses extents que ficaram sem informação? Da maneira que está, eu mesmo deletando as informações, só estou diminuindo a quantidade de registros, já o espaçamento no meu disco continua do mesmo jeito. HP-UX 11.23 Oracle 10.2.0.1 Márcio. [As partes desta mensagem que não continham texto foram removidas] -- -- Raul Francisco da Costa Ferreira de Andrade DBA - OCA - Oracle Certified Associate COBIT Foundation 4.1 Fone: (41)8855-8874 Brt email: raulf...@gmail.com mailto:raulfdba%40gmail.com Skype: raul.andrade www.clickdba.com A adversidade leva alguns a serem vencidos e outros a baterem recordes. William Arthur Ward [As partes desta mensagem que não continham texto foram removidas] -- 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 [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] diminuir tablespace?
Welvis, xo tentar dar umas dicas pro Márcio : primeiro de tudo, vamos usar a nomenclatura mais correta - FRAGMENTAÇÃO propriamente dita ocorre quando o espaço liberado não mais pode ser usado de forma alguma (normalmente por causa de tamnhos de extent), o que Não É o caso quando vc faz delete, o espaço liberado por DELETEs (mas que o bd mantém reservado pra atbela/índice deletado) VAI SER SIM re-usado nos futuros INSERTs, isso é WHITE SPACE, não espaço fragmentadoper se. Sendo assim, a minha recomendação, antes de sair fazendo SHRINKs e REBUILDs, que sempre implicam em trabalho e dependendo do caso alguma indisponibilidade pro usuário, é simples : SE o que vc tem é white-space (e não fragmentação!) e SE vc sabe que em muito breve novos INSERTs vão chegar ocupando esse espaço reservado, não vale a pena mexer... Só se Realmente vc tem Total certeza que esse espaço não vai mesmo ser usado, não vão chegar em breve novos INSERTs , aí sim vc pode fazer shrink/rebuild/o que for pra liberar esse espaço... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Welvis Douglas wel...@... escreveu Márcio, de uma procurada sobre o SHRINK no forum. A um tempo atras disconti bastante sobre isso com o Chiappa. No fim das contas cheguei a uma brilhante conclusão. No ambiente que tenho não iria ajudar em nada. Mas os rebuilds é bom fazer sim. Estou fazendo em alguns indices aqui na empresa. Att, Welvis Douglas da Silva Moretto DBA - Oracle Certified (1ZO-042) Fone: (41) 9997-6297 E-mail:welvis_doug...@..., wel...@... Messenger: welvis_doug...@... Mestre em Engenharia de Produção e Sistemas - PUC/PR; Especializando em Banco de Dados - UNOPAR; Especialista Engenharia de Software - UNOPAR; Tecnólogo em Processamento de Dados - FACCAR. _ De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Márcio Ricardo Alves da Silva Enviada em: quarta-feira, 23 de junho de 2010 11:49 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] diminuir tablespace? Raul, hoje pelo EM, eu faço todo mês um SHRINK nas tablespace de dados e índices que são recomendadas pelo EM. O que acha, continuo dessa maneira ou cada vez que deletar informações faço o SHRINK? Márcio. - Original Message - From: Raul Francisco Costa F. de Andrade, DBA raulf...@... mailto:raulfdba%40gmail.com To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Sent: Wednesday, June 23, 2010 11:45 AM Subject: Re: [oracle_br] diminuir tablespace? Olá meu amigo! faça um shrink nas tabelas e índices: ALTER TABLE TABLE_NAME SHRINK SPACE ALTER INDEX INDEX_NAME SHRINK SPACE [COMPACT] Ou faça um move da tabela de um tablespace para outro: ALTER TABLE TABLE_NAME MOVE NOME_TABLESPACE; Depois volte para o mesmo se for o caso. Para mover a tabela faça antes: ALTER TABLE TABLE_NAME enable row movement. Att. Raul Em 23 de junho de 2010 11:05, Márcio Ricardo Alves da Silva marcio_...@... mailto:marcio_cbj%40yahoo.com.br escreveu: Boas. Hoje tenho no meu banco algumas tabelas que são deletadas informações de um determinado período, posso considerar que todo mês essas informações são deletadas. Nessa tabela tenho um campo CLOB e são inseridas muitas informações, com a deleção minha tablespace ficam fragmentada, certo? É aconselhável desfragmentar essa tablespace? Como posso fazer para que o Oracle possa reutilizar esses extents que ficaram sem informação? Da maneira que está, eu mesmo deletando as informações, só estou diminuindo a quantidade de registros, já o espaçamento no meu disco continua do mesmo jeito. HP-UX 11.23 Oracle 10.2.0.1 Márcio. [As partes desta mensagem que não continham texto foram removidas] -- -- Raul Francisco da Costa Ferreira de Andrade DBA - OCA - Oracle Certified Associate COBIT Foundation 4.1 Fone: (41)8855-8874 Brt email: raulf...@... mailto:raulfdba%40gmail.com Skype: raul.andrade www.clickdba.com A adversidade leva alguns a serem vencidos e outros a baterem recordes. William Arthur Ward [As partes desta mensagem que não continham texto foram removidas] -- 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 [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] diminuir tablespace?
Chiappa, é exatamente a situação da minha tabela que sofre DELETE. Se eu deleto 1 milhão de registros, outros 1 milhão irão ser inseridos, com isso não precisarei fazer o SHRINK. O que eu não entendi foi o não fazer REBUILD. Eu não teria que reindexar os índices? Poderia me esclarecer esse ponto, por favor? Márcio. - Original Message - From: José Laurindo To: oracle_br@yahoogrupos.com.br Sent: Wednesday, June 23, 2010 1:30 PM Subject: Re: RES: [oracle_br] diminuir tablespace? Welvis, xo tentar dar umas dicas pro Márcio : primeiro de tudo, vamos usar a nomenclatura mais correta - FRAGMENTAÇÃO propriamente dita ocorre quando o espaço liberado não mais pode ser usado de forma alguma (normalmente por causa de tamnhos de extent), o que Não É o caso quando vc faz delete, o espaço liberado por DELETEs (mas que o bd mantém reservado pra atbela/índice deletado) VAI SER SIM re-usado nos futuros INSERTs, isso é WHITE SPACE, não espaço fragmentadoper se. Sendo assim, a minha recomendação, antes de sair fazendo SHRINKs e REBUILDs, que sempre implicam em trabalho e dependendo do caso alguma indisponibilidade pro usuário, é simples : SE o que vc tem é white-space (e não fragmentação!) e SE vc sabe que em muito breve novos INSERTs vão chegar ocupando esse espaço reservado, não vale a pena mexer... Só se Realmente vc tem Total certeza que esse espaço não vai mesmo ser usado, não vão chegar em breve novos INSERTs , aí sim vc pode fazer shrink/rebuild/o que for pra liberar esse espaço... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Welvis Douglas wel...@... escreveu Márcio, de uma procurada sobre o SHRINK no forum. A um tempo atras disconti bastante sobre isso com o Chiappa. No fim das contas cheguei a uma brilhante conclusão. No ambiente que tenho não iria ajudar em nada. Mas os rebuilds é bom fazer sim. Estou fazendo em alguns indices aqui na empresa. Att, Welvis Douglas da Silva Moretto DBA - Oracle Certified (1ZO-042) Fone: (41) 9997-6297 E-mail: welvis_doug...@..., wel...@... Messenger: welvis_doug...@... Mestre em Engenharia de Produção e Sistemas - PUC/PR; Especializando em Banco de Dados - UNOPAR; Especialista Engenharia de Software - UNOPAR; Tecnólogo em Processamento de Dados - FACCAR. _ De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Márcio Ricardo Alves da Silva Enviada em: quarta-feira, 23 de junho de 2010 11:49 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] diminuir tablespace? Raul, hoje pelo EM, eu faço todo mês um SHRINK nas tablespace de dados e índices que são recomendadas pelo EM. O que acha, continuo dessa maneira ou cada vez que deletar informações faço o SHRINK? Márcio. - Original Message - From: Raul Francisco Costa F. de Andrade, DBA raulf...@... mailto:raulfdba%40gmail.com To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Sent: Wednesday, June 23, 2010 11:45 AM Subject: Re: [oracle_br] diminuir tablespace? Olá meu amigo! faça um shrink nas tabelas e índices: ALTER TABLE TABLE_NAME SHRINK SPACE ALTER INDEX INDEX_NAME SHRINK SPACE [COMPACT] Ou faça um move da tabela de um tablespace para outro: ALTER TABLE TABLE_NAME MOVE NOME_TABLESPACE; Depois volte para o mesmo se for o caso. Para mover a tabela faça antes: ALTER TABLE TABLE_NAME enable row movement. Att. Raul Em 23 de junho de 2010 11:05, Márcio Ricardo Alves da Silva marcio_...@... mailto:marcio_cbj%40yahoo.com.br escreveu: Boas. Hoje tenho no meu banco algumas tabelas que são deletadas informações de um determinado período, posso considerar que todo mês essas informações são deletadas. Nessa tabela tenho um campo CLOB e são inseridas muitas informações, com a deleção minha tablespace ficam fragmentada, certo? É aconselhável desfragmentar essa tablespace? Como posso fazer para que o Oracle possa reutilizar esses extents que ficaram sem informação? Da maneira que está, eu mesmo deletando as informações, só estou diminuindo a quantidade de registros, já o espaçamento no meu disco continua do mesmo jeito. HP-UX 11.23 Oracle 10.2.0.1 Márcio. [As partes desta mensagem que não continham texto foram removidas] -- -- Raul Francisco da Costa Ferreira de Andrade DBA - OCA - Oracle Certified Associate COBIT Foundation 4.1 Fone: (41)8855-8874 Brt email: raulf...@... mailto:raulfdba%40gmail.com Skype: raul.andrade www.clickdba.com A adversidade leva alguns a serem vencidos e outros a baterem recordes. William Arthur Ward [As partes desta mensagem que não
Re: RES: [oracle_br] diminuir tablespace?
Oi : antes de mais nada, fique claro que estou me referindo a índices b*tree, bitmaps são totalmente outro animal... Bom entâo, na verdade a obs que deve ser feita é que nós não estamos mais usando dBASE, que a cada momento por assim dizer exigia um REBUILD de índices, de maneira ABSOLUTAMENTE NATURAL após um DELETE os índices serão atualizados, e quando um leaf block for composto apenas por registros deletados também NATURALMENTE ele vai pro free list, ok ? O fato é que há um mito comum rolando pelaí desde sempre que após uma deleção de grande número de registros OBRIGATORIAMENTE vc deveria fazer o REBUILD, porque o índice fica desbalanceado, fragmentado, vc escolhe a expressão... O mito é esse ORBIGATORIAMENTE, na verdade apenas em ** RAROS ** casos vc precisa fazer isso... E o rebuild pode até mesmo fazer o seu índice ficar MAIOR/fazer mais I/O , cfrme http://richardfoote.wordpress.com/2009/01/13/how-to-rebuild-and-make-an-index-bigger-not-smaller-carry-that-weight/ Nesse mesmo site temos muitíssimas outras demonstrações, como http://richardfoote.wordpress.com/2009/10/28/rebuilding-indexes-every-sunday-afternoon/ , http://richardfoote.wordpress.com/2009/05/25/two-excellent-index-related-blog-posts/ , http://richardfoote.wordpress.com/2009/11/12/1094/ e http://richardfoote.wordpress.com/2008/07/01/deleted-index-entries-part-v-trouble/ (este vc deve ler a série toda), ok ? Em resumo o meu conselho foi : ** Não ** faça o rebuild por fazer, faça apenas DEPOIS de estudar o assunto, testar e Comprovar que vc está mesmo caindo num dos ** raros ** casos aonde aonde vc ganha algo - digamos, uma chave sequencial aonde não é feito um delete tipo deletar chaves de 01 a 10 mas sim em valores intermediários, não removendo totalmente as linhas dos leaf blocks, algo assim... Dá uma estudada nestas refs que te passei, TESTA direitinho no seu ambiente e veja se vc está no caso de rebuild ou não , desconfio que não, já que vc diz que a tabela é quase completamente limpa e logo será re-usada, mas isso é 'a verificar... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Márcio Ricardo Alves da Silva marcio_...@... escreveu Chiappa, é exatamente a situação da minha tabela que sofre DELETE. Se eu deleto 1 milhão de registros, outros 1 milhão irão ser inseridos, com isso não precisarei fazer o SHRINK. O que eu não entendi foi o não fazer REBUILD. Eu não teria que reindexar os índices? Poderia me esclarecer esse ponto, por favor? Márcio. - Original Message - From: José Laurindo To: oracle_br@yahoogrupos.com.br Sent: Wednesday, June 23, 2010 1:30 PM Subject: Re: RES: [oracle_br] diminuir tablespace? Welvis, xo tentar dar umas dicas pro Márcio : primeiro de tudo, vamos usar a nomenclatura mais correta - FRAGMENTAÇÃO propriamente dita ocorre quando o espaço liberado não mais pode ser usado de forma alguma (normalmente por causa de tamnhos de extent), o que Não É o caso quando vc faz delete, o espaço liberado por DELETEs (mas que o bd mantém reservado pra atbela/índice deletado) VAI SER SIM re-usado nos futuros INSERTs, isso é WHITE SPACE, não espaço fragmentadoper se. Sendo assim, a minha recomendação, antes de sair fazendo SHRINKs e REBUILDs, que sempre implicam em trabalho e dependendo do caso alguma indisponibilidade pro usuário, é simples : SE o que vc tem é white-space (e não fragmentação!) e SE vc sabe que em muito breve novos INSERTs vão chegar ocupando esse espaço reservado, não vale a pena mexer... Só se Realmente vc tem Total certeza que esse espaço não vai mesmo ser usado, não vão chegar em breve novos INSERTs , aí sim vc pode fazer shrink/rebuild/o que for pra liberar esse espaço... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Welvis Douglas welvis@ escreveu Márcio, de uma procurada sobre o SHRINK no forum. A um tempo atras disconti bastante sobre isso com o Chiappa. No fim das contas cheguei a uma brilhante conclusão. No ambiente que tenho não iria ajudar em nada. Mas os rebuilds é bom fazer sim. Estou fazendo em alguns indices aqui na empresa. Att, Welvis Douglas da Silva Moretto DBA - Oracle Certified (1ZO-042) Fone: (41) 9997-6297 E-mail: welvis_douglas@, welvis@ Messenger: welvis_douglas@ Mestre em Engenharia de Produção e Sistemas - PUC/PR; Especializando em Banco de Dados - UNOPAR; Especialista Engenharia de Software - UNOPAR; Tecnólogo em Processamento de Dados - FACCAR. _ De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Márcio Ricardo Alves da Silva Enviada em: quarta-feira, 23 de junho de 2010 11:49 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] diminuir tablespace? Raul, hoje pelo EM, eu faço todo mês um SHRINK nas tablespace de dados e índices que