Cris, antes de me responder à sua pergunta original, deixe-me dizer
que a tablespace SYSTEM é ** crítica ** num banco Oracle, e além disso
a qualquer momento pode crescer o uso (pois novos PL/SQLs, nova
criações de objetosno banco, usuários, etc, etc, faz crescer a
SYSTEM), então a não ser que vc REALMENTE esteja absolutamente,
totalmente DESSESPERADA por espaço, recomendo 100% vc NÂO BULIR NA
TABLEPACE SYSTEM, ok ? Aloque espaço de outras tablespaces, dexie a
SYSTEM lá quietinha, ESPECIALMENTE se vc não é uma DBA experiente, é o
meu conselho...
  Agora respondendo à sua perguna : : SIM, é comum vc não poder fazer
um resize num datafile, devido aos seguintes conceitos de banco Oracle
: o comando RESIZE não move bloco em uso, só elimina blocos
não-usados, então um resize só pode diminuir um datafile até
imediatamente após o último bloco usado. Exemplo, imagine que tenho um
datafile com 100 blocos, cada pontinho abaixo representa um bloco vazio :

....................................................................................................

aí eu crio uma tabela A e insiro uns tantos registros, ocupando
(digamos) 90 blocos :

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..........

depois crio uma tabela B que ocupou 6 blocos, digamos :

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBB....

depois eu dropo a tabela A, o comando DROP *** não *** move nada no
tablespace, a situação no datafile fica assim :

..........................................................................................BBBBBB....

==> OU SEJA, os blocos 1 até 90 estão VAZIOS, tão livres, mas o RESIZE
necessariamente tem que diminuir o espaço do final do arquivo para
trás, ele só vai conseguir remover desse datafile os blocos acima do
último bloco usado, que é o 96, removendo os blocos 97, 98, 99 e 100,
é isso... Note que isso ******** NÃO É ******** fragmentação, pois
fragmentação priopriamente dita é quando vc tem espaço não-usável, e
esses blocos vazios do meu exemplo serão SIM ** totalmente **
re-usados e re-aproveitados para qualquer objeto que usar essa
tablespace, OK ? Só quando vc quer re-alocar esses espaço livres de
volta ao Sistema Operacional, pra poder ser usado em OUTRAS
tablespaces, aí sim é que temos esta situação, yes ?? Neste caso, para
que possamos diminuir o datafile, liberando os espaços antes do último
bloco usado, os blocos usados tem que ser movidos pro início do
datafile, então teremos que   usar um dos ** vários comandos que movem
blocos (ie, ALTER TABLE MOVE, ALTYER INDEX REBUILD, as rotinas
DBMS_REDEFINITION), ou até mesmo podemos dropar o objeto (após uma
cópia bem sucedida dos dados dele, óbvio), E depois voltamos o objeto
pra tablespace original, ação essa que força o reuso dos blocos a
partir do início - no banco 10g foi introduzido o comando SHRINK, que
já faz essa operação toda numa pancada só, ok ?  

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, Elen <[EMAIL PROTECTED]> escreveu
>
> morreria de medo
> o banco é produçao..  Jesuis quisto,
> Obrigda
> 
> 
> 
> Em 04/07/08, Willian Frasson <[EMAIL PROTECTED]> escreveu:
> >
> >   Elen, você terá que pegar um horário sem ninguém, criar uma nova
TBS com
> > o tamanho adequado e mover a mesma para lá.
> >
> > ----- Original Message -----
> > From: Elen
> > To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> > Sent: Friday, July 04, 2008 9:51 AM
> > Subject: [oracle_br] tablespace
> >
> > ola pessoal.
> > Minha tablespace system está com 175 MB de dados,
> > No entanto ela esta com 1.100GB alocados.
> > Eu nao consigo fazer o resize nela.
> > É normal isso?
> > como consigo ajustar esse problema?
> >
> > Obrigada
> >
> > Cris
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > __________ Informação do NOD32 IMON 3240 (20080704) __________
> >
> > Esta mensagem foi verificada pelo NOD32 sistema antivírus
> > http://www.eset.com.br
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > 
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a