오라클을 사용하다 보면 ROLLBACK SEGMENT의 사용상황이 궁금 할 때가 많다.
 
많은 파일을 삭제 했다던가.. 기타 등등..

SELECT SUBSTRB(A.SEGMENT_NAME, 1, 14) as "SEGMENT NAME",
       SUBSTRB(A.TABLESPACE_NAME, 1, 10) as "TABLESPACE NAME",
       TO_CHAR(A.SEGMENT_ID, '99999') AS "SEG ID",
       TO_CHAR(A.MAX_EXTENTS, '2010123199') AS "  MAX EXT",
       TO_CHAR(B.EXTENTS, '999999') as "EXTENTS",
       TO_CHAR(B.EXTENDS, '999999') as "EXTENDS",
       TO_CHAR((A.INITIAL_EXTENT + (B.EXTENTS-1)*A.NEXT_EXTENT)
            /1000000, '9,999.999') as "ALLOC(MB)",
       TO_CHAR(XACTS,'9,999') as "XACTS"
FROM DBA_ROLLBACK_SEGS A, V$ROLLSTAT B
WHERE A.SEGMENT_ID = B.USN(+)
ORDER BY 1; 
 
-- EXTENTS = 현재 할당된 EXTENT의 수  
-- EXTENDS = 마지막 트랜잭션에 의해 할당된 EXTENT의 수  

아래는 일반 롤백 세그먼트 보기 쿼리 이다.
 
SELECT * FROM DBA_ROLLBACK_SEGS ; 
 

 


WRITTEN BY
한량이

,