본 장에서는 DBMS_REDEFINITION_STATS 패키지의 기본 개념과 패키지 내의 프러시저를 사용하는 방법을 설명한다.
본 절에서는 DBMS_REDEFINITION_STATS 패키지에서 제공하는 프러시저를 알파벳 순으로 설명한다.
온라인 테이블 재정의의 예상 효율을 보여주는 프러시저이다. 블록의 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;
/
온라인 테이블 재정의의 진행상황을 표시하는 프러시저이다. 이 프러시저에 재정의중인 원본 테이블과 새 테이블의 이름을 지정하면, 진행상황을 표시한다. 보수적인 예측을 하는 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;
/