Changing an Undo Tablespace to a Fixed Size

Pode existir algumas razões para modificar o undo tablespace para fixed size ao invés de ser auto-extending. As razões pode ser de impedir que que o undo tablespace cresça muito e ocupe muito espaço ou melhorar as operações de flashback para que sejam bem sucedidas. Mas tomem cuidado, pois se dimensionar errado o tamanho do undo tablespace poderemos ter vários problemas com operações de DML sem conseguir executar.

Para modificar o tablespace para ser fixed size, devemos escolher um tamanho e também desabilitar o autoextend, executando os dois comandos:

ALTER DATABASE DATAFILE '/oracle/dbs/undotbs.dbf' RESIZE 300M;
ALTER DATABASE DATAFILE '/oracle/dbs/undotbs.dbf' AUTOEXTEND OFF;

Modificamos o datafile que compõe o undo tablespace, nesse caso só tinha um datafile no tablespace e o tamanho escolhido foi de 300MB. Caso o tablespace tivesse mais de um datafile, as operações descritas teriam que ser feitas em todos os demais datafiles. Se fosse um bigfile tablespace, essas operações poderiam ser feitas diretamente no tablespace, visto que só pode ter um datafile em um bigfile tablespace.

Para calcular o tamanho do tablespace, você poderá utilizar o Undo Advisor, em que ele verifica e analisa os dados no AWR, olhando sempre a query mais longa e também o intervalo de flashback desejado. Podemos verificar isso com a ajudar do Enterprise Manager

Na imagem acima do Undo Advisor, ele sugere que o tamanho do undo tablespace seja pelo menos de 1.3GB para o undo retention 3996 segundos.

Fora o Undo Advisor no Enterprise Manager, podemos utilizar a package DBMS_ADVISOR para fazer a mesma analise. Essa package já foi discutida em post anteriores para o segment advisor, a lógica é a mesma.

Para ativer o undo advisor, devemos crair um task do undo advisor. No exemplo abaixo nos mostrar como criar essa task. Nesse exemplo devemos informar qual snapshot do AWR será utilizando para realizar a análise, informamos o número 1 em start e 2 em end. Esses parâmetros deverão ser modificados para o seu ambiente. Para verificar o resultado, você ir direto no Enterprise Manager ou verificar o conteúdo das views DBA_ADVISOR_TASKS, DBA_ADVISOR_OBJECTS, DBA_ADVISOR_FINDINGS, DBA_ADVISOR_RECOMMENDATIONS.

DECLARE
   tid    NUMBER;
   tname  VARCHAR2(30);
   oid    NUMBER;
BEGIN
   DBMS_ADVISOR.CREATE_TASK('Undo Advisor', tid, tname, 'Undo Advisor Task');
   DBMS_ADVISOR.CREATE_OBJECT(tname, 'UNDO_TBS', null, null, null, 'null', oid);
   DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'TARGET_OBJECTS', oid);
   DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'START_SNAPSHOT', 1);
   DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'END_SNAPSHOT', 2);
   DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'INSTANCE', 1);
   DBMS_ADVISOR.execute_task(tname);
END;
/

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação OCA 12c, Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: , , , ,
Publicado em Administração, Undo
Um comentário em “Changing an Undo Tablespace to a Fixed Size

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Esse Blog é reconhecido pela
Sou um
Certificações
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação OCA 12c, Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 161.532 Visualizações
%d blogueiros gostam disto: