제20장 DBMS_REDEFINITION_STATS

내용 목차

20.1. 개요
20.2. 프러시저
20.2.1. CALC_SPACE_REDUCTION
20.2.2. SHOW_REDEF_PROGRESS

본 장에서는 DBMS_REDEFINITION_STATS 패키지의 기본 개념과 패키지 내의 프러시저를 사용하는 방법을 설명한다.

20.1. 개요

DBMS_REDEFINITION_STATS은 온라인 상태에서 특정 테이블을 재정의에 대한 통계정보를 보기 위한 프러시저를 제공하는 패키지이다.

20.2. 프러시저

본 절에서는 DBMS_REDEFINITION_STATS 패키지에서 제공하는 프러시저를 알파벳 순으로 설명한다.

20.2.1. CALC_SPACE_REDUCTION

온라인 테이블 재정의의 예상 효율을 보여주는 프러시저이다. 블록의 freeness만을 보고 판단하기 때문에 보수적인 수치가 나온다. Output이 dbms_output으로 나오기 때문에 set serveroutput on을 해주어야 한다.

CALC_SPACE_REDUCTION 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE CALC_SPACE_REDUCTION
    (
        uname        IN  VARCHAR2,
        orig_table   IN  VARCHAR2
    );
  • 파라미터

    파라미터설명
    uname원본 테이블과 새 테이블이 속한 스키마의 이름이다.
    orig_table원본 테이블의 이름이다.
  • 예제

    BEGIN
      SET SERVEROUTPUT ON;
      DBMS_REDEFINITION.CALC_SPACE_REDUCTION('TIBERO', 'ORIG_TABLE');
    END;
    /

20.2.2. SHOW_REDEF_PROGRESS

온라인 테이블 재정의의 진행상황을 표시하는 프러시저이다. 이 프러시저에 재정의중인 원본 테이블과 새 테이블의 이름을 지정하면, 진행상황을 표시한다. 보수적인 예측을 하는 CALC_SPACE_REDUCTION 프러시저를 이용해서 블록 개수를 예측하고 새 테이블의 블록 개수를 비교해서 진행상황을 표시하기에 100%까지 안 갈 수도 있다. 재정의를 실행하는 세션과 다른 세션에서 실행을 해야한다. Output이 dbms_output으로 나오기 때문에 set serveroutput on을 해주어야 한다.

SHOW_REDEF_PROGRESS 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE SHOW_REDEF_PROGRESS
    (
        uname        IN  VARCHAR2,
        orig_table   IN  VARCHAR2,
        int_table    IN  VARCHAR2
    );
  • 파라미터

    파라미터설명
    uname원본 테이블과 새 테이블이 속한 스키마의 이름이다.
    orig_table원본 테이블의 이름이다.
    int_table새 테이블의 이름이다.
  • 예제

    BEGIN
      SET SERVEROUTPUT ON;
      DBMS_REDEFINITION.SHOW_REDEF_PROGRESS('TIBERO', 'ORIG_TABLE', 'INT_TABLE');
    END;
    /