- Este tópico contém 3 respostas, 4 vozes e foi atualizado pela última vez 12 anos, 2 meses atrás por
Rodrigo Almeida.
-
AutorPosts
-
31 de outubro de 2013 às 7:48 am #106082
Luislivelli
ParticipanteBoa tarde pessoal,
Estava vendo o tamanho dos tablespaces e me depare que o tablespace SYSTEM estaba muito grande tinha 27G de espaço ocupado e revisando as tabelas deste tablespace vi que a tabla SYS.AUD$ (auditoria) tinha 25G, pelo qual realizei um truncate nesta tabela AUD$, então o tablespace SYSTEM diminui de tamanho de espaço utilizado para 950M, então quando quero redimensionar o tablespace SYSTEM, me sale o seguinte erro:
ALTER DATABASE DATAFILE ‘/u01/home/oracle/oracle/oradata/base01/system01.dbf’
RESIZE 6144M
ORA-3297 signalled during: ALTER DATABASE DATAFILE ‘/u01/home/oracle/oracle/orad
ata/base01/system01.dbf’ RESIZE 6144M …Entendo que essa mensagem é pq existe fragmentação de tabelas, sei que para usar o shrink el Gerenciamento do Espaço de Segmentos do tablespace debe estar configurado como automático, mas el tablespace system esta configurado como Gerenciamento do Espaço de Segmentos manual. Por favor alguem poderia indicar-me como posso fazer para redimensionar o tablesace SYSTEM com sucesso?
Agradeço pelo ajuda!!
7 de novembro de 2013 às 10:19 pm #106094Fábio Prado
ParticipanteMarcelo,
Essa é uma ótima pergunta que eu não tenho certeza da resposta. Já pesquisei antes sobre isso e tudo o que encontrei indicava que não havia um caminho simples, como o SHRINK que vc citou, para desfragmentar o tablespace SYSTEM. De qq forma, para evitar a fragmentação excessiva do SYSTEM, é uma boa prática criar um novo tablespace para a tabela AUD$, como no exemplo abaixo, que mostro nos treinamentos Performance Tuning for Oracle DBAs:
-- CRIANDO tablespace AUDSYS
create tablespace teste datafile '/tmp/teste.dbf' size 100M
AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED
extent management local -- Locally managed
segment space management auto -- ASSM
;-- movendo AUD$ para tablespace AUSYS
BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
audit_trail_location_value => 'AUDSYS');
END;
/-- movendo FGA_LOG$ para tablespace AUSYS
BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD,
audit_trail_location_value => 'AUDSYS');
END;
/-- limpando registros de auditoria obsoletos,
BEGIN
DBMS_AUDIT_MGMT.init_cleanup(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL,
default_cleanup_interval => 262800 /* 1 ano em horas */);
END;
/[]s
Fábio Prado
http://www.fabioprado.net26 de novembro de 2013 às 9:14 pm #106154David Siqueira
ParticipanteLuis, tudo bem?
Primeiro, antes de mais nada, será que não há objetos de outros schemas sendo armazenados na tablespace SYSTEM? Você usa controle de QUOTAS para os schemas criados em seu banco de dados.
Faça uma consulta para ver quais objetos estão armazenados na sua Tablespace SYSTEM primeiro.
Abraço
28 de dezembro de 2013 às 8:48 am #106213Rodrigo Almeida
ParticipanteJá que você deu o truncate da AUD$, agora é baixar a Marca D´àgua do datafile SYSTEM para liberar o espaço…
Abraços,
Rodrigo Almeida -
AutorPosts
- Você deve fazer login para responder a este tópico.