GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

RECRIAR TABLESPACE TEMPORARIA

O tamanho do segmento sempre será calculado pelo tamanho db_block_size da base.

select value from v$parameter where name='db_block_size';

VALUE
------
8192

calculo PARA OLTP

select (1024*1024)+8192*2 from dual;
(1024*1024)+8192*2
------------------
1064960

1 - SELECT property_value FROM database_properties WHERE property_name = 'DEFAULT_TEMP_TABLESPACE';

PROPERTY_VALUE
---------------
GRUPO_01

1 linha selecionada.

2- A tablespace que você quer recriar é a do passo 1.
Se for tem que criar uma nova tablespace e/ou alterar a tablespace default temporary.

Para criar  uma tablespace temporária:
exemplos :

CREATE TEMPORARY TABLESPACE TEMP01  TEMPFILE '+DG_<DB_NAME>_TEMP' SIZE 1001M AUTOEXTEND ON NEXT 1064960 MAXSIZE UNLIMITED extent management local UNIFORM SIZE 1064960 segment space management  MANUAL;
CREATE TEMPORARY TABLESPACE TEMP01_GRANDE TEMPFILE '+DG_<DB_NAME>_TEMP' SIZE 1001m AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED extent management local UNIFORM SIZE 100m segment space management  MANUAL

Para alterar a default temporary

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE <nome da tablespace temporary>;

exemplos :

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp01;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp01_grande;

3- Se for RAC. Tem que matar todas as sessões em todos os nodes. Execute isso em todos os nodes.
Se não for RAC apenas uma vez.

select 'alter system kill session '||chr(39)||b.sid||','||B.SERIAL#||chr(39)||' immediate;'
FROM GV$SORT_USAGE A,GV$SESSION B
WHERE A.INST_ID=B.INST_ID
AND A.SESSION_NUM=SERIAL#
AND A.TABLESPACE='TEMP01_GRANDE'
/

4-  APAGAR A TABLESPACE

DROP TABLESPACE <nome da tablespace temporaria> INCLUDING CONTENTS AND DATAFILES;

5-  CRIAR A TABLESPACE TEMPORIA CONFORME ITEM 2.

OBS. A TABLESPACE DEFAULT TEMPORARY pode fazer parte de um grupo de tablespace temporaria.
Você terá que retirar a tablespace que você quer matar do grupo.
Depois matar todas as sessões conforme item 3.

para retirar do group

ALTER TABLESPACE <nome da tablespace temporaria>  TABLESPACE GROUP '';
EXEMPLO
ALTER TABLESPACE TEMP1 TABLESPACE GROUP '';
ALTER TABLESPACE TEMP2 TABLESPACE GROUP '';

Para colocar no group

ALTER TABLESPACE <nome da tablespace temporaria>  TABLESPACE GROUP <nome do group>;

EXEMPLO

ALTER TABLESPACE TEMP1 TABLESPACE GROUP GROUP_01;
ALTER TABLESPACE TEMP2 TABLESPACE GROUP GROUP_01;

FACIL

Share

You may also like...

2 Responses

  1. srenata disse:

    Em quais casos se aplica recriar a tablespace temporaria ?

  2. gioracle disse:

    Ótimo post para quem está iniciando !

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *