본문 바로가기
OraclE

Rollback Segment 삭제 [펌]

by 타마마임팩트_쫀 2010. 2. 5.

[출처] http://www.koug.net/xe/?mid=oracle_lecture&page=2&document_srl=3465


  Rollback segment삭제할 경우.
· 세그먼트의 Extent이 디스크 상에서 너무 단편화된 경우
· 세그먼트를 다른 테이블스페이스에 재위치시켜야 할 경우

  Rollback Segment를 삭제하기 전에 Rollback Segment 상태가 OFFLINE인지 확인함.
· 삭제할 Rollback Segment가 현재 ONLINE, PARTLY AVAILABLE, NEEDS RECOVERY나 INVALID상태면 삭제할 수 없음.
· 상태가 INVALID면 세그먼트는 이미 삭제된 것임

  Rollback Segment를 삭제하기 전에 OFFILNE으로 설정해야 함.

  Rollback Segment를 삭제하려면 DROP ROLLBACK SEGMENT시스템 권한이 있어야 함.

  Rollback Segment가 OFFLINE이면 Server Manager의 [Drop] 메뉴 항목이나 SQL 명령어 DROP ROLLBACK SEGMENT를 사용하여 삭제할 수 있음.
·예 : DROP PUBLIC ROLLBACK SEGMENT data1_rs;

  DROP ROLLBACK SEGMENT명령어를 사용한다면 public키워드를 포함하거나 생략하여 삭제할 Rollback Segment의 정확한 유형을 Public 또는 Private으로 나타냄.

주의 : ROLLBACK_SEGMENTS에 지정된 Rollback Segment가 삭제되면 데이터베이스 매개변수 파일을 편집하여 삭제된 Rollback Segment 이름을 ROLLBACK_SEGMENTS 매개변수의 목록에서 제거함.
다음 인스턴스를 시작하기 전에 이 단계가 수행되지 않으면 삭제된 Rollback Segment를 획득할 수 없으므로 다음 인스턴스를 시작할 수 없음.

  Rollback Segment가 삭제되면 상태가 INVALID로 변경됨.

  다음 Rollback Segment를 생성할 때 가능하다면 삭제된 Rollback Segment가 사용했던 열을 사용하고, 삭제된 Rollback Segment의 행은 더 이상 DBA_ROLLBACK_SEGS뷰에 나타나지 않음.