UNDOTBS 재생성 ORACLE 2008/01/29 16:24 |
long transaction등으로 인하여 undo tablespace가 일단 커지면 줄어들지 않음
이 경우에는 수동으로 삭제 후 재생성해주어야 함
다음은 해당 절차임
* undo tablespace 재생성 방법
. undo tablespace는 이미 늘어난 파일사이즈를 줄일 수가 없으므로 create -> switch -> drop -> switch의 과정을
거쳐야 한다.
. 처리 과정
1) 현재 undo tablespace 확인
. show parameter undo_tablespace
2) 대체할 undo tablespace 생성 (작게 만들면 extend하느라 성능 저하되므로 적당한 크기로 생성할 것)
. CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE
'/SMS_DB09/oradata/SMS/undotbs02.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;
3) 생성된 undo tablespace 확인
. select tablespace_name, contents, extent_management from dba_tablespaces where contents = 'UNDO';
4) undo tablespace 설정된 rollback segment 확인
. select segment_name, tablespace_name, status from dba_rollback_segs where status = 'ONLINE' order by 2;
5) 새로운 undo tablespace 지정
. ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBS2;
. 1), 4)번 실행 후 다시 확인
--> undotbs1이 ONLINE인데도 drop이 됨. 문제 없는지 확인 필요
6) 기존 사용하던 undo tablespace drop
. DROP TABLESPACE UNDOTBS1;
. (참고) dba_free_space에서 확인된 값 이외에 expire된 undo tablespace는 재사용 가능
--> select status , sum(bytes) from dba_undo_extents group by status;
7) 기존 UNDOTBS 파일 삭제
8) init.Ora 사용시에는 undo_tablespace parameter 수정해주어야 함
. 오라클 shutdown immediate
. $ORACLE_HOME/dbs/init.Ora 수정 완료
. 오라클 startup
[출처] UNDOTBS 재생성|작성자 히트
'닷컴's_열공 > Database' 카테고리의 다른 글
LOCK 문제를 일으키는 SQL 명령 찾기 (0) | 2012.09.03 |
---|---|
ORA-01652: 128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다 [출처] ORA-01652: 128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다 |작성자 아덴캡슐 (0) | 2012.08.27 |
ora-09817 파티션 용량 가득 찼을 경우 에러 (OS에서 df-k 확인) (0) | 2012.08.27 |
오라클 encode , decode (0) | 2012.05.23 |
오라클 정보보기 view (0) | 2012.05.08 |