Oracle/Oracle DBMS

UNDO 재생성

의미와의미 2017. 10. 31. 14:56
반응형

#언두 교체작업

 

*상황
차세대 작업중  데이터파일 백업 스케쥴링 관련하여

해당 UNDO DATAFILE 찾지 못해 OPEN 백업이 불가한 상태였다
 

원인은 데이터파일 NAME이  undotbs2_02.dbf\ \ \   언두 파일.DBF 확장자뒤에 쓰레기 값이 들어가  begin backup mode 에서 해당 데이터 파일이 cp 복사(백업) 되지 않은 것으로  

새로운 언두를 생성 하여 기존언두를 새로운언두로 스위치 하고 이전에 사용한 언두 데이터파일을 삭제하는 것으로 조치하였다.

 

 

 

 *현재 사용중인 UNDO테이블스페이스 UNDOTBS2 확인

select tablespace_name, contents, extent_management from dba_tablespaces where contents = 'UNDO';

18:55:58 SQL>

TABLESPACE_NAME                CONTENTS  EXTENT_MAN

------------------------------ --------- ----------

UNDOTBS2                       UNDO         LOCAL

 

 


 

 

 

#새로운 언두 생성

create undo tablespace UNDOTBS1 DATAFILE '/oradata/DB114/UNDOTBS1.DBF' size 1G autoextend on;

 

 

 

 

#추가된 언두 조회

select tablespace_name, contents, extent_management from dba_tablespaces where contents = 'UNDO';

 

TABLESPACE_NAME                CONTENTS  EXTENT_MAN

------------------------------ --------- ----------

UNDOTBS1                       UNDO         LOCAL

UNDOTBS2                       UNDO         LOCAL

 

 

 

 

#현재 사용중인 언두 조회

select segment_name, tablespace_name, status from dba_rollback_segs where status = 'ONLINE' order by 2;

 

SEGMENT_NAME                       TABLESPACE_NAME                      STATUS

------------------------------ ------------------------------ ----------------

SYSTEM                               SYSTEM                              ONLINE

_SYSSMU12_3385985096$               UNDOTBS2                       ONLINE

_SYSSMU13_310962359$               UNDOTBS2                       ONLINE

_SYSSMU14_2061854218$               UNDOTBS2                       ONLINE

_SYSSMU20_2100850485$               UNDOTBS2                       ONLINE

_SYSSMU16_4272565809$               UNDOTBS2                       ONLINE

_SYSSMU17_1120725275$               UNDOTBS2                       ONLINE

_SYSSMU18_2601488279$               UNDOTBS2                       ONLINE

_SYSSMU19_4199531386$               UNDOTBS2                       ONLINE

_SYSSMU11_2069056233$               UNDOTBS2                       ONLINE

_SYSSMU15_1161329320$               UNDOTBS2                       ONLINE

 

 

 

#언두 변경  UNDOTBS2  ->  UNDOTBS1

ALTER SYSTEM set undo_tablespace=UNDOTBS1;

 

 

#현재 사용중인 언두 조회

19:02:15 SQL> select segment_name, tablespace_name, status from dba_rollback_segs where status = 'ONLINE' order by 2;

 

SEGMENT_NAME                       TABLESPACE_NAME                      STATUS

------------------------------ ------------------------------ ----------------

SYSTEM                               SYSTEM                              ONLINE

_SYSSMU9_2558987648$               UNDOTBS1                       ONLINE

_SYSSMU8_1610081257$               UNDOTBS1                       ONLINE

_SYSSMU7_3648883315$               UNDOTBS1                       ONLINE

_SYSSMU1_993518161$               UNDOTBS1                       ONLINE

_SYSSMU5_447651588$               UNDOTBS1                       ONLINE

_SYSSMU4_3526855843$               UNDOTBS1                       ONLINE

_SYSSMU3_2555375299$               UNDOTBS1                       ONLINE

_SYSSMU2_4105243382$               UNDOTBS1                       ONLINE

_SYSSMU10_3622767948$               UNDOTBS1                       ONLINE

_SYSSMU6_3085165261$               UNDOTBS1                       ONLINE

 

 

 

SQL> show parameter undo

 

NAME                                     TYPE         VALUE

------------------------------------ ----------- ------------------------------

undo_management                      string         AUTO

undo_retention                             integer         900

undo_tablespace                      string         UNDOTBS1

 

 

#이전 언두 삭제

 

drop tablespace UNDOTBS2 including contents and datafiles;

 

 

# DB 재시작

 SQL> shutdown immediate

 SQL> startup 



#언두 확인

SQL> show parameter undo

반응형