Índice do fórum Treinamentos Avançados Treinamento Oracle RAC Diminuir tablespace SYSAUX e UNDO

Diminuir tablespace SYSAUX e UNDO

Dúvidas, dicas e atualizações sobre o Treinamento Oracle RAC.

Mensagem Qui Mai 04, 2017 8:57 pm

Mensagens: 0
Portilho,
qual o procedimento mais assertivo para diminuir o tamanho das tablespaces SYSAUX e UNDO? Pelo visto adicionaram muitos arquivos na UNDO para dar conta do recado em algumas situações e o que tenho hoje são duas UNDO com 300GB cada uma sendo que só usa de fato 50GB.
O que vi demais perto disso foi criar uma nova UNDO e substituir a antiga no parâmetro: undo_tablespace por essa nova! E após cessar as transações dropar as anteriores monitorando o script abaixo:

select tablespace_name tablespace, status, sum(bytes)/1024/1024 sum_in_mb, count(*) counts
from dba_undo_extents group by tablespace_name, status
order by 1,2;


A SYSAUX com o mesmo problema. A tabela de auditoria ficava nela e foi movida para outra Tablespace e ficou um espaço de 230GB livre sem uso, que poderia estar liberado para outras TL.

Mensagem Qui Mai 04, 2017 9:22 pm

Mensagens: 0
Já verificou o que está consumindo a SYSAUX?

Mensagem Sex Mai 05, 2017 8:58 pm

Mensagens: 0
Na SYSAUX tenho apenas 100GB utilizados e 230GB livres de arquivos que foram sendo adicionados.

Os dados que tenho na sysaux são tabelas relacionadas á ASH e demais tabelas internas.

Mensagem Sáb Mai 06, 2017 10:35 pm

Mensagens: 0
Manda o resultado do SELECT do consumo de cada componente da SYSAUX.

Mensagem Seg Mai 08, 2017 7:43 pm

Mensagens: 0
o select utilizado foi esse:

SELECT SEGMENT_NAME, BYTES/1024/1024/1024, SEGMENT_TYPE
FROM dba_segments WHERE TABLESPACE_NAME='SYSAUX'
ORDER BY bytes DESC;

e o resultado esse:

WRH$_ACTIVE_SESSION_HISTORY 43,61474609375 TABLE PARTITION
I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST 11,4423828125 INDEX
WRH$_ACTIVE_SESSION_HISTORY_PK 6,11669921875 INDEX PARTITION
I_WRI$_OPTSTAT_H_ST 5,8818359375 INDEX
WRH$_EVENT_HISTOGRAM_PK 5,4462890625 INDEX PARTITION
WRH$_EVENT_HISTOGRAM 3,7969970703125 TABLE PARTITION
WRH$_SQLSTAT 2,42779541015625 TABLE PARTITION
WRH$_LATCH_MISSES_SUMMARY_PK 2,2789306640625 INDEX PARTITION
WRH$_LATCH 1,8359375 TABLE PARTITION
WRH$_LATCH_MISSES_SUMMARY 1,73931884765625 TABLE PARTITION
WRH$_SYSSTAT_PK 1,72467041015625 INDEX PARTITION
WRH$_LATCH_PK 1,413818359375 INDEX PARTITION
WRH$_SYSSTAT 1,13616943359375 TABLE PARTITION

O tamanho total dos itens é de: 103GB, de acrodo com esse select:

select sum(bytes)/1024/1024/1024 FROM dba_segments WHERE TABLESPACE_NAME='SYSAUX'


E esse é o espaço livre dela:

TL Used FREE Total %free
SYSAUX 105958 200100 306058 65

*select utilizado*:

select df.tablespace_name "Tablespace",
totalusedspace "Used MB",
(df.totalspace - tu.totalusedspace) "Free MB",
df.totalspace "Total MB",
round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace))
"Pct. Free"
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
group by tablespace_name) df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name and df.totalspace <>0
Order by 3 desc;

Mensagem Seg Mai 08, 2017 7:57 pm

Mensagens: 0
Use esse select
clear columns
set lines 200
col OCCUPANT_NAME format a25
col OCCUPANT_DESC format a53
col MOVE_PROCEDURE format a38
col MOVE_PROCEDURE_DESC format a56
col SCHEMA_NAME format a8
col MB format 999999
select OCCUPANT_DESC, MOVE_PROCEDURE, MOVE_PROCEDURE_DESC, SPACE_USAGE_KBYTES/1024 "Mb" from v$sysaux_occupants
/


Qual a versão do seu banco?

Mensagem Ter Mai 09, 2017 10:16 am
portilho Site Admin

Mensagens: 482
Para corrigir um problema de UNDO muito grande, o procedimento é este mesmo: crie uma nova, altere o parâmetro UNDO_TABLESPACE para esta TABLESPACE, e no dia seguinte, remova a TABLESPACE antiga.

Já com SYSAUX isto não é possível. Veja o que diz a Nota do MOS "How To Recreate the SYSAUX Tablespace (Doc ID 468116.1)":
"So dropping and creating only SYSAUX tablespace is not the supported actions, it similar to the SYSTEM tablespace i.e., its a mandatory tablespace."

As opções que esta Nota dá são exportar e importar os dados de aplicação em outro banco de dados via Transportable TableSpace, por exemplo.

Mensagem Ter Mai 09, 2017 12:38 pm

Mensagens: 0
Correto, Portilho.

Caso você queria apenas liberar espaço na SYSAUX, alguns componentes podem ser sofrer purge ou move, mas a grande maioria não permite.
O melhor dos casos é seguir a nota do MOS.

Mensagem Qui Mai 11, 2017 2:44 pm
portilho Site Admin

Mensagens: 482
É, como ele já disse que tinha a auditoria lá, dificilmente vai conseguir reduzir o tamanho do DATAFILE.


Voltar para Treinamento Oracle RAC

cron