Pular para o conteúdo

Recriar tablespace temporaria em bancos de dados Oracle

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 TEMPORARIA 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 '';

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

Quão útil foi este post ?

Clique em uma estrela para classificar o post

nota média 4.6 / 5. Contagem de votos: 18

Sem votos ! Seja o primeiro a classificar !

2 comentários em “Recriar tablespace temporaria em bancos de dados Oracle”

Deixe um comentário

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

plugins premium WordPress