Reduzindo o UNDO Tablespace

Alguem já deve ter passado por isso, seu banco de dados Oracle tem uma tablespace gigantesca,poucos sabem para que serve, mas é de extrema importância para o funcionamento do DB Oracle.

Agora vamos descobrir para que serve a tablespace UNDO. O resumindo é simples, essa tablespace é utilizada para armazenar todas as operações que enviamos para o DB Oracle e aguardam um COMMIT ou ROLLBACK. Dependendo do tamanho da operação que é feita esses dados vão expandindo os arquivos que ficam a disposição do Oracle Flashback.

Só temos esse problema na quando menos esperamos como no dia de: fechamento de folha, SPED's (Contabil , Fcont, Contribuiçoes, Fiscal ) , Fechamento de Mês e etc, Mais ai a dica pra resolução desse probleminha

--Criando uma nova Tablespace
CREATE UNDO TABLESPACE undotbs_02 DATAFILE 'c:\oracle\product\10.2.0\oradata\orcl\undotbs_02.dbf' SIZE 2M REUSE AUTOEXTEND ON;

--Alterando o sistema para utilizar o novo tablespace
ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;

--Dropando a tablespace antiga (Gigantesca)
DROP TABLESPACE undotbs1;

Agora abra o oracle pelo DOS:
C:\sqlplus / as sysdba


De Um stop no database com o comando abaixo:

SQL>shutdown immediate


Aguarde o shutdown, vá na pasta onde se encontra o “undotbs01.dbf” está e delete-o.

No sqlplus do digite o comando:

SQL>startup
Aguarde o startup do banco de dados e execute os comandos abaixo:

--Recriando o arquivo UNDO
CREATE UNDO TABLESPACE undotbs1 DATAFILE 'c:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf' SIZE 2M REUSE AUTOEXTEND ON;

--Alterando o sistema para utilizar o arquivo UNDO anterior
ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;

--Dropando a tablespace temporária
DROP TABLESPACE undotbs_02;

Pronto, seu Oracle voltará a funcionar !! Sem susto !!

Abraços

Danilo Carvalho

Projetos Específicos? Nossa equipe está pronta pra atender com as melhores técnicas do mercado