TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-06-22 |
제목 | LONG RUNNING OPERATION의 진행상태 확인방법 | ||
---|---|---|---|
LONG RUNNING OPERATION의 진행상태 확인방법
========================================== Oracle 8.0 부터 제공되고 있는 v$session_longops 는 단일 long running operation에 대한 진행 상태를 operatoin별로 제공해 주는 view로 DSS, DW와 같은 long running job이 많은 system에서는 유용한 정보를 확인할 수 있는 table이다. 다음의 test는 oracle 8.1.6에서 이루어졌으며 v$session_longops view는 oracle 8.0.x과 8.1.x에서 structure 상 조금의 차이가 있음을 미리 알려둔다. Oracle 8i에서 이 dynamic view에서 다루어지는 operation들에는 다음의 것들이 있다. Operation Description ------------------------------ ------------- Archiving (1) Rman Backup and Restore Parallel Query Recovery ( Crash and Media ) Full Table scans (2) Sorting Analyze using DBMS_STATS Not seen yet Hash Cluster Creation " " " Hash Joins Phase 2 " " " (1) : document로는 제공이 되고 있는 것으로 되어 있으나 아직 구현되지 않음 (2) : 10000 blocks 이상의 full table scan을 long operation으로 간주한다. V$SESSION_LONGOPS COLUMNS COLUMN DESCRIPTION ------ -------------------------------------------------- SID Session identifier SERIAL# Session serial number OPNAME The operation name TARGET The object on which the operation is carried out TARGET_DESC Description of the target SOFAR The units of work done so far TOTALWORK The total units of work UNITS The units of measurement START_TIME The starting time of operation LAST_UPDATE_TIME Time when statistics last updated ELAPSED_SECONDS The number of elapsed seconds from the start of operations CONTEXT Context MESSAGE Statistics summary message ### SESSION A ### SQL> select userenv('sessionid') from dual; USERENV('SESSIONID') -------------------- 31948 SQL> SELECT COUNT(*) FROM PARTTAB; --> waitting . . . ### SESSION B ### SQL> connect internal SQL> select opname, time_remaining, sofar, totalwork, message 2> from v$session_longops 3> where sid = 110 and time_remaining > 0; OPNAME TIME_REMAINING ------------- --------------------------------------------------- SOFAR TOTALWORK MESSAGE ---------- ---------- ------------------------------------------- Table Scan 138 75332 341590 Table Scan: SCOTT.PARTTAB: 75332 out of 341590 Blocks done ==> operation의 진행율이 약 22%로 138초가 남았음을 보여준다. SQL> r OPNAME TIME_REMAINING ------------- --------------------------------------------------- SOFAR TOTALWORK MESSAGE ---------- ---------- ------------------------------------------- Table Scan 50 242846 341590 Table Scan: SCOTT.PARTTAB: 242846 out of 341590 Blocks done ==> operation의 진행율이 약 71% 로 약 50초가 남았음을 보여준다. SQL> r OPNAME TIME_REMAINING ------------- --------------------------------------------------- SOFAR TOTALWORK MESSAGE ---------- ---------- ------------------------------------------- Table Scan 115 93889 324446 Table Scan: SCOTT.PARTTAB: 93889 out of 324446 Blocks done ==> TOTALWORK가 변한것으로 보아 다른 partition에 대한 full table scan이 진행중임을 알수 있다. % v$session_longops에는 이미 종료되거나 취소된 operation들에 대한 정보가 남아 있게 되므로 active operation인지 먼저 확인해야한다. |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |