쿼리를 돌리다 보면
프로세싱 상태가 오래 지속되어 테이블의 진행상황을 확인해보고 싶은 경우가 있다.
이런 경우
SELECT A.TEMP_BLOCK AS TEMP_BLOCK
, A.TEMP_MB AS TEMP_MB
, C.BYTES / 8192 AS TGT_TABLE_BLOCK
, C.BYTES / 1024 / 1024 AS TGT_TABLE_MB
FROM (
SELECT SUM(A.BLOCKS) AS TEMP_BLOCK
, SUM(A.BLOCKS) * 8192 / 1024 / 1024 AS TEMP_MB
FROM V$TEMPSEG_USAGE A
, V$SESSION B
WHERE B.SADDR = A.SESSION_ADDR
AND B.MACHINE = 'WORKGROUP\DESKTOP-UGU' -- 요청 피시명
) A
, DBA_SEGMENTS C
WHERE C.SEGMENT_NAME = 'TN_COMPANY' -- 요청 테이블명
;
위 쿼리를 돌리면
TEMP_BLOCK | TEMP_MB | TGT_TABLE_BLOCK | TGT_TABLE_MB |
256 | 2 | 2688 | 21 |
과 같은 진행상황을 파악할 수 있다.