반응형

DBMS/Oracle 4

Temporary TableSpace Group

Temporary Tablespace Group은 잘 알려지지 않는 오라클 기능 중 하나로, Oracle 10g에 추가된 기능이다. 일반적으로 temporary tablespace는 유저에게 지정하여, 특정 유저는 단 하나의 temporary tablespace만을 사용할 수 있었으나, Temporary Tablespace Group은 유저에게 임시 테이블스페이스 그룹을 지정하여 동시에 여러개의 임시 테이블스페이스를 사용하여 정렬 등의 작업 효율을 향상시키는 기능이다. 특징하나 이상의 temporary tablespace로 구성temporary tablespace로만 구성됨.명시적으로 생성하지 않고, 첫번째 temporary tablespace가 할당되면 암시적으로 그룹이 생성되고,마지막 temporar..

DBMS/Oracle 2018.10.10

Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기 (V2)

이전 글 Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기 ( http://overoid.tistory.com/40?category=357137 ) 에서 사용된 SQL의 경우. LONG SQL 수행 후 문제가 있어 중지하고, 재 수행했다면... 이전에 수행했던 실행계획이 겹쳐서 나오는 단점이 있다.대신 쿼리가 심플하고 Version 2에 비해서 조회 성능이 더 우수하다. Version 1의 중복 이슈를 해결한 Ver2 - v$sql_plan_mointor 조회 쿼리. WITH SQL_PLAN_INF AS ( SELECT /*+ materialize ordered */ SQL_ID, PLAN_LINE_ID, STATUS, PROCESS_NAME, PLAN_DEPTH..

DBMS/Oracle 2018.09.08

Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기

오래동안 수행되는 SQL이 얼마나 진행되었는지 알 수 있을까?예상실행계획으로 확인된 실행계획 그대로 수행되고 있는지를 쿼리 수행중에 확인할 수 있을까? 수억에서 수십, 수백억 레코드를 조인하여 처리하는데.. 언제 끝날지 모른다면 정말로 답답하다. 수분에서 수십, 수백분이 소요되는 SQL 대량 작업의 경우 잘못된 실행계획으로 쿼리가 실행되고 있다는 것을 실행 초반에 알 수 있다면, SQL을 중지하고 수정하여 재실행함으로써 소중한 시간을 아끼고 일찍 퇴근할 수도 있을것이다. 다행히 오라클에서는 11g부터 Real-Time SQL Monitoring 기능을 제공한다.물론 쿼리가 수행완료된 이후 dbms_sqltune.report_sql_monitor 로 레포팅을 뽑아 결과를 확인할 수 도 있지만, 실행중에도 ..

DBMS/Oracle 2018.09.08

Real-Time SQL Monitoring 제한(limit)

Real-Time SQL Monitoring(v$sql_mointor, v$sql_plan_mointor)은 Oracle 11g에서 추가된 기능으로 아래 조건에서 모니터링 된다. 실행시간이 5초 ( '_sqlmon_threshold' 히든 파라미터로 조정)이상 느린 쿼리의 실행이력병렬 쿼리의 실행 이력monitor 힌트를 사용한 쿼리에 대한 추적 위 조건을 만족하는데도 모니터링 되지 않는 다면????, v$sql_monitor에 나타나지 않는다면???? 만일, 모니터링 하는 SQL 문장의 실행계획 라인수가 300 라인이 넘는 복잡한 쿼리는 모니터링에서 누락된다. 오라클 히든 파라미터 중 '_sqlmon_max_planlines'=300 으로 초기 설정되어 있다.이 값을 늘리면 문제 해결!!! SQL> a..

DBMS/Oracle 2018.09.06
반응형