제28장 DBMS_STATS

내용 목차

28.1. 개요
28.2. 프러시저
28.2.1. ALTER_STATS_HISTORY_RETENTION
28.2.2. COPY_TABLE_STATS
28.2.3. CREATE_STAT_TABLE
28.2.4. DELETE_COLUMN_STATS
28.2.5. DELETE_DATABASE_STATS
28.2.6. DELETE_DICTIONARY_STATS
28.2.7. DELETE_INDEX_STATS
28.2.8. DELETE_SCHEMA_STATS
28.2.9. DELETE_SYSTEM_STATS
28.2.10. DELETE_TABLE_STATS
28.2.11. DROP_STAT_TABLE
28.2.12. EXPORT_COLUMN_STATS
28.2.13. EXPORT_DATABASE_STATS
28.2.14. EXPORT_INDEX_STATS
28.2.15. EXPORT_SCHEMA_STATS
28.2.16. EXPORT_SYSTEM_STATS
28.2.17. EXPORT_TABLE_STATS
28.2.18. GATHER_DATABASE_STATS
28.2.19. GATHER_DICTIONARY_STATS
28.2.20. GATHER_INDEX_STATS
28.2.21. GATHER_SCHEMA_STATS
28.2.22. GATHER_SYSTEM_STATS
28.2.23. GATHER_TABLE_STATS
28.2.24. IMPORT_COLUMN_STATS
28.2.25. IMPORT_DATABASE_STATS
28.2.26. IMPORT_INDEX_STATS
28.2.27. IMPORT_SCHEMA_STATS
28.2.28. IMPORT_SYSTEM_STATS
28.2.29. IMPORT_TABLE_STATS
28.2.30. PURGE_STATS
28.2.31. RESTORE_SCHEMA_STATS
28.2.32. RESTORE_TABLE_STATS
28.2.33. SET_PARAM
28.2.34. SET_SYSTEM_STATS
28.3. 함수
28.3.1. GET_PARAM
28.3.2. GET_STATS_HISTORY_AVAILABILITY
28.3.3. GET_STATS_HISTORY_RETENTION
28.3.4. TO_BOOLEAN

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

28.1. 개요

DBMS_STATS는 데이터베이스 객체의 통계 정보를 수집하고 관리하는 패키지이다. 이 패키지를 사용하면 데이터베이스에 있는 컬럼, 테이블, 데이터 사전(DD: Data Dictionary), 인덱스, 스키마, 시스템 등에 대한 통계 정보를 수집하고 관리(예: 삭제 또는 초기화 등)할 수 있다.

테이블 통계 정보를 수집할 때 사용자 선택에 따라서 컬럼 각각에 대한 데이터 분포도를 저장한다. 이를 히스토그램이라 하고, 수집 가능한 데이터 타입은 NUMBER, CHAR, VARCHAR, DATE, TIME, TIMESTAMP이다.

사용자는 자신에게 소속된 객체들에 대해서만 통계 정보 수집이 가능하다. ANALYZE ANY 권한을 부여받으면 모든 사용자의 객체에 대한 통계 정보 수집이 가능하다.

28.2. 프러시저

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

28.2.1. ALTER_STATS_HISTORY_RETENTION

통계 정보 히스토리 보유 기간을 변경하는 프러시저이다. 해당 값은 통계 정보 히스토리를 제거하는 시점에 영향을 끼친다. 히스토리를 제거하는 기능은 “28.2.30. PURGE_STATS” 프러시저를 참고한다.

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

  • 프로토타입

    DBMS_STATS.ALTER_STATS_HISTORY_RETENTION
    (
        retention    NUMBER
    );
  • 파라미터

    파라미터설명
    retention

    통계 정보 히스토리를 보유할 최대 기간이다. (단위: 일)

    1 이상의 값이어야 하지만 특별한 목적을 위해 아래와 같이 값을 지정할 수 있다.

    • -1: 자동 히스토리 제거를 통해 제거되지 않는다. (보유 기간이 무제한)

    • 0: 이후 수집되는 통계 정보에 대한 히스토리가 저장되지 않는다. 기존 히스토리들은 자동 제거 기능을 통해 제거된다.

    • NULL: 기본값인 31일로 설정한다.

28.2.2. COPY_TABLE_STATS

테이블 및 로컬 인덱스의 원본 파티션의 통계 정보를 대상 파티션의 통계 정보로 복사하는 프러시저이다.

RANGE 파티션일 경우, 파티션 키의 첫번째 컬럼의 히스토그램이 대상 파티션 바로 이전 파티션까지를 대상으로 수집되었다면 히스토그램도 같이 갱신한다.

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

  • 프로토타입

    DBMS_STATS.COPY_TABLE_STATS
    (
        ownname             IN          VARCHAR2,                                 
        tabname             IN          VARCHAR2,                                 
        srcpartname         IN          VARCHAR2,                                 
        dstpartname         IN          VARCHAR2,                                 
        scale_factor        IN          NUMBER      DEFAULT 1,                    
        flags               IN          NUMBER      DEFAULT NULL,
        force               IN          BOOLEAN     DEFAULT FALSE
    );  
  • 파라미터

    파라미터설명
    ownname파티션이 속한 스키마의 이름이다.
    tabname파티션이 속한 테이블의 이름이다.
    srcpartname통계 정보를 복사할 원본 파티션의 이름이다.
    dstpartname통계 정보를 복사할 대상 파티션의 이름이다.
    scale_factor원본 파티션의 로우 개수, 블록 개수 등을 해당 수치만큼 곱하여 대상 파티션에 저장한다.
    flags사용하지 않는 파라미터이다.
  • 예외 상황

    예외 상황설명
    20003존재하지 않는 테이블 또는 파티션 이름을 입력한 경우이다.

28.2.3. CREATE_STAT_TABLE

통계 정보를 저장할 통계 테이블을 생성하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.CREATE_STAT_TABLE
    (
        ownname      VARCHAR2,
        stattab      VARCHAR2,
        tblspace     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname통계 테이블이 속한 스키마의 이름이다.
    stattab통계 정보를 저장할 통계 테이블의 이름이다.
    tblspace

    통계 테이블이 속할 테이블 스페이스의 이름이다. (기본값: NULL)

    NULL로 설정할 경우 SYSTEM 테이블 스페이스에 저장된다.

  • 예외 상황

    예외 상황설명
    7068잘못된 스키마를 입력한 경우이다.

28.2.4. DELETE_COLUMN_STATS

컬럼의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_COLUMN_STATS 
    (
        ownname           VARCHAR2, 
        tabname           VARCHAR2, 
        colname           VARCHAR2, 
        partname          VARCHAR2 DEFAULT NULL,
        cascade_parts     BOOLEAN  DEFAULT TRUE,
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname컬럼이 속한 테이블의 이름이다.
    colname컬럼의 이름이다.
    partname

    통계 정보를 삭제할 파티션의 이름이다.

    테이블이 파티션되어 있고, partname의 값이 NULL이면 테이블 수준의 컬럼 통계 정보를 삭제한다.

    cascade_parts테이블이 파티션되어 있고, partname이 NULL일 때 TRUE로 설정하면 모든 파티션 수준의 컬럼 통계 정보도 함께 삭제한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.

28.2.5. DELETE_DATABASE_STATS

데이터베이스에 있는 모든 테이블의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_DATABASE_STATS 
    (
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.

28.2.6. DELETE_DICTIONARY_STATS

모든 데이터 사전의 스키마(SYS, SYSCAT)의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_DICTIONARY_STATS 
    (
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.

28.2.7. DELETE_INDEX_STATS

인덱스의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_INDEX_STATS 
    (
        ownname           VARCHAR2, 
        idxname           VARCHAR2, 
        partname          VARCHAR2 DEFAULT NULL,
        cascade_parts     BOOLEAN  DEFAULT TRUE,
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    idxname인덱스의 이름이다.
    partname

    통계 정보를 삭제할 파티션의 이름이다.

    인덱스가 파티션으로 나누어져 있고, partname의 값이 NULL이면 인덱스 수준의 통계 정보를 삭제한다.

    cascade_parts인덱스가 파티션으로 나누어져 있고, partname의 값이 NULL일 때 TRUE로 설정하면 모든 파티션 수준의 통계 정보도 함께 삭제한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.

28.2.8. DELETE_SCHEMA_STATS

스키마 전체의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_SCHEMA_STATS 
    (
        ownname           VARCHAR2, 
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.

28.2.9. DELETE_SYSTEM_STATS

workload 시스템의 통계 정보를 삭제하고, noworkload 시스템의 통계 정보를 초기화하는 프러시저이다. workload 시스템의 통계 정보는 INTERVAL, START, STOP 옵션으로, noworkload 시스템의 통계 정보는 NOWORKLOAD 옵션으로 수집한다.

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

  • 프로토타입

    DBMS_STATS.DELETE_SYSTEM_STATS ();
  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.

28.2.10. DELETE_TABLE_STATS

테이블의 통계 정보를 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DELETE_TABLE_STATS 
    (
        ownname           VARCHAR2, 
        tabname           VARCHAR2, 
        partname          VARCHAR2 DEFAULT NULL,
        cascade_parts     BOOLEAN  DEFAULT TRUE,
        cascade_columns   BOOLEAN  DEFAULT TRUE,
        cascade_indexes   BOOLEAN  DEFAULT TRUE,
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    partname

    통계 정보를 삭제할 대상 파티션의 이름이다.

    파티션으로 나뉘어 있고, partname의 값이 NULL이면 테이블 수준의 통계 정보를 삭제한다.

    cascade_parts테이블이 파티션으로 나뉘어 있고, partname이 NULL일 때 TRUE로 설정하면 모든 파티션 수준의 통계 정보도 함께 삭제한다.
    cascade_columnsTRUE로 설정하면 컬럼의 통계 정보도 함께 삭제한다.
    cascade_indexesTRUE로 설정하면 테이블에 있는 인덱스의 통계 정보도 함께 삭제한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.

28.2.11. DROP_STAT_TABLE

통계 테이블을 삭제하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.DROP_STAT_TABLE
    (
        ownname     VARCHAR2,
        stattab     VARCHAR2
    );
  • 파라미터

    파라미터설명
    ownname통계 테이블이 속한 스키마의 이름이다.
    stattab통계 정보를 저장할 통계 테이블의 이름이다.
  • 예외 상황

    예외 상황설명
    7068잘못된 스키마를 입력한 경우이다.

28.2.12. EXPORT_COLUMN_STATS

지정한 컬럼의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_COLUMN_STATS
    (
        ownname      VARCHAR2,
        tabname      VARCHAR2,
        colname      VARCHAR2,
        partname     VARCHAR2 DEFAULT NULL,
        stattab      VARCHAR2,
        statid       VARCHAR2 DEFAULT NULL,
        statown      VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    colname컬럼의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 컬럼을 입력한 경우이다.

28.2.13. EXPORT_DATABASE_STATS

데이터베이스에 있는 테이블의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_DATABASE_STATS
    (
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.

28.2.14. EXPORT_INDEX_STATS

지정한 인덱스의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_INDEX_STATS
    (
        ownname     VARCHAR2,
        indname     VARCHAR2,
        partname    VARCHAR2 DEFAULT NULL,
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    indname인덱스의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 인덱스를 입력한 경우이다.

28.2.15. EXPORT_SCHEMA_STATS

스키마 전체의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_SCHEMA_STATS
    (
        ownname     VARCHAR2,
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 스키마를 입력한 경우이다.

28.2.16. EXPORT_SYSTEM_STATS

시스템의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_SYSTEM_STATS
    (
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.

28.2.17. EXPORT_TABLE_STATS

테이블의 통계 정보를 통계 테이블에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.EXPORT_TABLE_STATS
    (
        ownname      VARCHAR2,
        tabname      VARCHAR2,
        partname     VARCHAR2,
        stattab      VARCHAR2,
        statid       VARCHAR2 DEFAULT NULL,
        cascade      BOOLEAN  DEFAULT TRUE,
        statown      VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    cascade테이블이 갖는 컬럼, 인덱스, 파티션의 통계 정보를 저장한다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 테이블을 입력한 경우이다.

28.2.18. GATHER_DATABASE_STATS

데이터베이스의 모든 객체의 통계 정보를 수집하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.GATHER_DATABASE_STATS 
    (
        estimate_percent NUMBER   DEFAULT 
                       to_estimate_percent_type (get_param ('STAT_ESTIMATE_PERCENT'),
        method_opt       VARCHAR2 DEFAULT get_param('STAT_METHOD_OPT'),
        degree           NUMBER   DEFAULT to_degree_type (get_param('STAT_DEGREE')),
        cascade          BOOLEAN  DEFAULT to_boolean(get_param('STAT_CASCADE')),
        gather_sys       BOOLEAN  DEFAULT FALSE,
        no_invalidate    BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE')),
        options          VARCHAR2 DEFAULT 'GATHER'
    );
  • 파라미터

    파라미터설명
    estimate_percent

    샘플링할 로우의 퍼센트를 정의한다.

    0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행한다.

    method_opt히스토그램 생성에 대한 옵션으로 설정 방법은 [method_opt 파라미터 설정방법]을 참고한다.
    degree병렬 쿼리의 처리 개수를 설정한다.
    cascade인덱스에 대해서도 통계 정보를 수집한다.
    gather_sysSYS 사용자의 테이블에 대해서도 통계 정보를 수집한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
    options

    수집할 테이블의 기준을 정한다.

    • GATHER: 모든 테이블에 대하여 수집한다.

    • GATHER AUTO: 자체적인 기준에 의하여 수집이 필요한 테이블들만 수집한다.

    • GATHER EMPTY: 통계 정보가 없는 테이블들만 수집한다.

    [method_opt 파라미터 설정방법]

    다음과 같은 형식으로 method_opt 파라미터를 설정할 수 있다.

    • FOR ALL

      FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]

      각 옵션에 대한 설명은 다음과 같다.

      옵션설명
      INDEXED인덱스된 컬럼의 통계 정보를 수집한다.
      HIDDEN실제 컬럼이 아닌 functional index로 생성된 컬럼에 대해서 통계 정보를 수집한다.
      size_clause히스토그램을 생성할 때 길이를 설정하는 데 필요한 절이다.
    • FOR COLUMNS

      FOR COLUMNS [size_clause] column [size_clause] [,column [size_clause]...]

      각 옵션에 대한 설명은 다음과 같다.

      옵션설명
      size_clause히스토그램을 생성할 때 길이를 설정하는 데 필요한 절이다.
    • size_clause

      size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}

      각 항목에 대한 설명은 다음과 같다.

      항목설명
      integer

      히스토그램 버킷의 수이다.

      1~256개까지 설정할 수 있다.

      REPEAT히스토그램이 있는 경우에만 히스토그램의 정보를 수집한다.
      AUTO시스템에서 자동으로 값을 결정한다.
      SKEWONLY데이터 분포가 한쪽으로 치우친 분포에 맞게 값을 결정한다.
  • 예외 상황

    예외 상황설명
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.2.19. GATHER_DICTIONARY_STATS

모든 데이터 사전의 스키마(SYS, SYSCAT) 객체의 통계 정보를 수집하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.GATHER_DICTIONARY_STATS 
    (
        estimate_percent NUMBER   DEFAULT 
                       to_estimate_percent_type (get_param ('STAT_ESTIMATE_PERCENT'),
        method_opt       VARCHAR2 DEFAULT get_param('STAT_METHOD_OPT'),
        degree           NUMBER   DEFAULT to_degree_type (get_param('STAT_DEGREE')),
        cascade          BOOLEAN  DEFAULT to_boolean(get_param('STAT_CASCADE')),
        no_invalidate    BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    estimate_percent

    샘플링할 로우의 퍼센트를 정의한다.

    0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행한다.

    method_opt

    히스토그램 생성에 대한 옵션이다.

    파라미터를 설정하는 방법은 “28.2.18. GATHER_DATABASE_STATS”를 참고한다.

    degree병렬 쿼리의 처리 개수를 설정한다.
    cascade인덱스에 대해서도 통계 정보를 수집한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.2.20. GATHER_INDEX_STATS

인덱스의 통계 정보를 수집하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.GATHER_INDEX_STATS 
    (
        ownname           VARCHAR2,
        idxname           VARCHAR2,
        partname          VARCHAR2 DEFAULT NULL,
        estimate_percent  NUMBER DEFAULT to_estimate_percent_type (
                          get_param ('STAT_ESTIMATE_PERCENT')),
        degree            NUMBER DEFAULT to_degree_type (get_param ('STAT_DEGREE')),
        no_invalidate     BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    idxname인덱스의 이름이다.
    partname파티션의 이름이다.
    estimate_percent

    샘플링할 로우의 퍼센트를 정의한다.

    0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행한다.

    degree병렬 쿼리의 처리 개수를 설정한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.

28.2.21. GATHER_SCHEMA_STATS

스키마의 모든 객체의 통계 정보를 수집하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.GATHER_SCHEMA_STATS 
    (
        ownname          VARCHAR2,
        estimate_percent NUMBER   DEFAULT 
                       to_estimate_percent_type (get_param ('STAT_ESTIMATE_PERCENT'),
        method_opt       VARCHAR2 DEFAULT get_param('STAT_METHOD_OPT'),
        degree           NUMBER   DEFAULT to_degree_type (get_param('STAT_DEGREE')),
        cascade          BOOLEAN  DEFAULT to_boolean(get_param('STAT_CASCADE')),
        no_invalidate    BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    estimate_percent

    샘플링할 로우의 퍼센트를 정의한다.

    0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행한다.

    method_opt

    히스토그램 생성에 대한 옵션이다.

    파라미터를 설정하는 방법은 “28.2.18. GATHER_DATABASE_STATS”를 참고한다.

    degree병렬 쿼리의 처리 개수를 설정한다.
    cascade인덱스에 대해서도 통계 정보를 수집한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.2.22. GATHER_SYSTEM_STATS

시스템의 통계 정보를 수집하는 프러시저이다. 이 프러시저를 사용하려면 DBA 권한이 필요하다.

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

  • 프로토타입

    DBMS_STATS.GATHER_SYSTEM_STATS 
    (
        gathering_mode     VARCHAR2 DEFAULT 'NOWORKLOAD',
        interval           NUMBER   DEFAULT 60,
        limit              VARCHAR2 DEFAULT '3G'
    );
  • 파라미터

    파라미터설명
    gathering_mode

    NOWORKLOAD, INTERVAL, START/STOP 옵션을 지원한다.

    각 옵션에 대한 설명은 다음의 [gathering_mode 파라미터 설정 옵션]을 참조한다.

    intervalgathering_mode가 INTERVAL일 때 시스템의 성능을 측정하는 시간을 분 단위로 나타낸다. (기본값: 60분)
    limit

    gathering_mode가 NOWORKLOAD일 때 임의의 입출력을 수행해 볼 최대 데이터 양을 Byte 단위로 나타낸다. 이때 단위는 K(Kilo Byte), M(Mega Byte), G(Giga Byte), T(Tera Byte) 등을 사용할 수 있다.

    캐시 버퍼(데이터베이스의 캐시, 운영체제의 캐시 등)의 크기보다 큰 값을 사용해야 좀 더 정확한 정보를 얻을 수 있다. (기본값: 3G)

    [gathering_mode 파라미터 설정 옵션]

    gathering_mode 파라미터에 설정할 수 있는 각 옵션에 대한 설명은 다음과 같다.

    옵션설명
    NOWORKLOAD

    시스템의 CPU와 입출력 성능을 측정한다. 즉 시스템의 통계 정보 중 CPUSPEED, SEEKTM, TRFSPEED를 수집한다.

    • 시스템의 통계 정보는 데이터 파일을 통해 수집되기 때문에 데이터베이스와 테이블 스페이스를 모두 생성하고서, 해당 정보를 수집할 것을 권장한다.

    • 데이터베이스와 테이블 스페이스를 모두 생성한 후 시스템의 통계 정보를 수집하기를 강력히 권장한다.

    • 서버 부하에 따라 보다 자세한 시스템의 통계 정보를 설정하려면, gathering_mode 파라미터의 옵션 중 START 또는 STOP 또는 INTERVAL 파라미터를 사용해야 한다.

    • noworkload와 workload 시스템의 통계 정보를 모두 수집하는 경우에는 workload 시스템의 통계 정보가 최적화기(Optimizer)에서 사용된다.

    이 모드에서 시스템의 통계 정보를 수집하면 데이터베이스 크기에 따라 몇 분이 걸릴 수 있다. 이를 해결하기 위해 limit 파라미터를 사용하여 수집 시간을 조절할 수 있다.

    INTERVAL

    interval 파라미터에 설정된 시간 동안 시스템의 성능을 측정한다. workload 시스템의 통계 정보인 SBLKRDTM, MBLKRDTM, MBLKRDCNT를 수집한다.

    필요하다면 gathering_mode 파라미터의 옵션을 STOP으로 설정하여 interval 파라미터에 설정한 시간이 모두 지나가기 전에 수집을 일찍 마칠 수 있다.

    START, STOPSTART와 STOP 옵션 간의 시스템 성능을 측정한다. workload 시스템의 통계 정보인 SBLKRDTM, MBLKRDTM, MBLKRDCNT를 수집한다.
  • 예외 상황

    예외 상황설명
    -20000권한이 부족한 경우이다.
    -20001잘못된 파라미터 값을 입력한 경우이다.
    -20002_DD_AUX_STATS 통계 테이블의 내용이 이상한 경우이다.
    -20003잘못된 gathering_mode 파라미터(NOWORKLOAD, INTERVAL, START, STOP만 가능)를 사용한 경우이다.

28.2.23. GATHER_TABLE_STATS

테이블의 통계 정보를 수집하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.GATHER_TABLE_STATS 
    (
        ownname          VARCHAR2, 
        tabname          VARCHAR2, 
        partname         VARCHAR2 DEFAULT NULL,
        estimate_percent NUMBER   DEFAULT 
                       to_estimate_percent_type (get_param ('STAT_ESTIMATE_PERCENT'),
        method_opt       VARCHAR2 DEFAULT get_param('STAT_METHOD_OPT'),
        degree           NUMBER   DEFAULT to_degree_type (get_param('STAT_DEGREE')),
        cascade_indexes  BOOLEAN  DEFAULT to_boolean(get_param('STAT_CASCADE')),
        no_invalidate    BOOLEAN  DEFAULT to_boolean(get_param('STAT_NO_INVALIDATE')),
        granularity      VARCHAR2 DEFAULT 'ALL'
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 현재 스키마의 이름이다.

    tabname테이블의 이름이다.
    partname파티션의 이름이다.
    estimate_percent

    샘플링할 로우의 퍼센트를 정의한다.

    0.000001 이상 100 이하의 값을 설정할 수 있다. 0을 입력한 경우에는 optimizer가 테이블에 크기에 따라 적합한 sampling rate을 결정하여 수행한다.

    method_opt

    히스토그램 생성에 대한 옵션이다.

    파라미터를 설정하는 방법은 “28.2.18. GATHER_DATABASE_STATS”를 참고한다.

    degree병렬 쿼리의 처리 개수를 설정한다.
    cascade_indexes인덱스에 대해서도 통계 정보를 수집한다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.
    granularity

    통계 정보를 수집하는 대상을 가리킨다.

    • ALL: 테이블 및 파티션의 통계 정보를 수집한다.

    • GLOBAL: 파티션을 제외한 테이블의 통계 정보만 수집한다.

    • PARTITION: 파티션 수준의 통계 정보만 수집한다.

  • 예외 상황

    예외 상황설명
    OBJECT_NOT_EXISTS객체가 존재하지 않는 경우이다.
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.2.24. IMPORT_COLUMN_STATS

통계 테이블에 있는 지정한 컬럼의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_COLUMN_STATS
    (
        ownname      VARCHAR2,
        tabname      VARCHAR2,
        colname      VARCHAR2,
        partname     VARCHAR2 DEFAULT NULL,
        stattab      VARCHAR2,
        statid       VARCHAR2 DEFAULT NULL,
        statown      VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    colname컬럼의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 컬럼을 입력한 경우이다.

28.2.25. IMPORT_DATABASE_STATS

통계 테이블에 있는 모든 테이블의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_DATABASE_STATS
    (
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.

28.2.26. IMPORT_INDEX_STATS

통계 테이블에 있는 지정한 인덱스의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_INDEX_STATS
    (
        ownname     VARCHAR2,
        indname     VARCHAR2,
        partname    VARCHAR2 DEFAULT NULL,
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    indname인덱스의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 인덱스를 입력한 경우이다.

28.2.27. IMPORT_SCHEMA_STATS

통계 테이블에 있는 스키마 전체의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_SCHEMA_STATS
    (
        ownname     VARCHAR2,
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 스키마를 입력한 경우이다.

28.2.28. IMPORT_SYSTEM_STATS

통계 테이블에 있는 시스템의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_SYSTEM_STATS
    (
        stattab     VARCHAR2,
        statid      VARCHAR2 DEFAULT NULL,
        statown     VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.

28.2.29. IMPORT_TABLE_STATS

통계 테이블에 있는 테이블의 통계 정보를 데이터 사전에 저장하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.IMPORT_TABLE_STATS
    (
        ownname      VARCHAR2,
        tabname      VARCHAR2,
        partname     VARCHAR2,
        stattab      VARCHAR2,
        statid       VARCHAR2 DEFAULT NULL,
        cascade      BOOLEAN  DEFAULT TRUE,
        statown      VARCHAR2 DEFAULT NULL
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    partname파티션의 이름이다.
    stattab통계 테이블의 이름이다.
    statid통계 테이블 내에서 구분할 통계 정보 ID이다.
    cascade테이블이 갖는 컬럼, 인덱스, 파티션의 통계 정보를 저장한다.
    statown통계 테이블이 속한 스키마의 이름이다.
  • 예외 상황

    예외 상황설명
    20003잘못된 테이블을 입력한 경우이다.

28.2.30. PURGE_STATS

지정된 시점보다 오래된 통계 정보 히스토리들을 제거하는 프러시저이다. 이 프러시저 수행을 하려면 SYSDBA 또는 ANALYZE ANY 권한이 필요하다.

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

  • 프로토타입

    DBMS_STATS.PURGE_STATS
    (
        before_timestamp    IN          TIMESTAMP WITH TIME ZONE
    );
  • 파라미터

    파라미터설명
    before_timestampNULL일 경우 “28.3.3. GET_STATS_HISTORY_RETENTION” 함수에서 조회되는 보유 기간값에 맞춰서 삭제되며, NULL이 아닌 값을 지정할 경우에는 지정된 시점보다 이전의 히스토리들이 삭제된다.

28.2.31. RESTORE_SCHEMA_STATS

스키마의 모든 객체의 통계 정보를 지정된 시간대(as_of_timestamp)로 복원하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.RESTORE_SCHEMA_STATS
    (
        ownname           VARCHAR2, 
        as_of_timestamp   TIMESTAMP WITH TIME ZONE, 
        no_invalidate     BOOLEAN DEFAULT to_boolean (get_param ('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    as_of_timestamp복원할 통계 정보의 시간대이다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.

28.2.32. RESTORE_TABLE_STATS

테이블의 통계 정보를 지정된 시간대(as_of_timestamp)로 복원하는 프러시저이다. 이 프러시저는 연관된 인덱스와 컬럼의 통계 정보까지 복원한다.

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

  • 프로토타입

    DBMS_STATS.RESTORE_TABLE_STATS
    (
        ownname           VARCHAR2, 
        tabname           VARCHAR2,
        as_of_timestamp   TIMESTAMP WITH TIME ZONE, 
        no_invalidate     BOOLEAN DEFAULT to_boolean (get_param ('STAT_NO_INVALIDATE'))
    );
  • 파라미터

    파라미터설명
    ownname

    스키마의 이름이다.

    NULL일 경우 이 프러시저를 호출한 스키마의 이름이다.

    tabname테이블의 이름이다.
    as_of_timestamp복원할 통계 정보의 시간대이다.
    no_invalidateTRUE로 설정하면 관련된 Physical Plan을 삭제하지 않는다.

28.2.33. SET_PARAM

DBMS_STATS 패키지의 디폴트 파라미터의 값을 변경하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.SET_PARAM 
    (
        pname     VARCHAR2,
        pval      VARCHAR2
    );
  • 파라미터

    파라미터설명
    pname파라미터의 이름이다.
    pval

    파라미터의 설정 값이다.

    • NULL로 설정한 경우: VT_PARAMETER의 값을 참조하여 Tibero를 설치할 때 기본값으로 변경된다.

    NULL로 설정하지 않은 경우 다음과 같은 옵션을 설정한다.

    • STAT_CASCADE: DBMS_STATS 패키지에서 사용하는 cascade 파라미터의 기본값이다. (설치 기본값: Y)

    • STAT_METHOD_OPT: DBMS_STATS 패키지에서 사용하는 method_opt 파라미터의 기본값이다. (설치 기본값: FOR ALL COLUMNS SIZE 1)

    • STAT_NO_INVALIDATE: DBMS_STATS 패키지에서 사용하는 no_invalidate 파라미터의 기본값이다. (설치 기본값: N)

    • STAT_ESTIMATE_PERCENT: DBMS_STATS 패키지에서 사용하는 estimate_percent 파라미터의 기본값이다. (설치 기본값: 0)

    • STAT_DEGREE: DBMS_STATS 패키지에서 사용하는 degree 파라미터의 기본값이다. (설치 기본값: 1)

    • STAT_LOG_LEVEL: trace.log 파일에 남기는 로그의 레벨이다. 기본값은 0이고, 값이 증가할수록 상세한 로그들이 기록된다.

  • 예외 상황

    예외 상황설명
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.2.34. SET_SYSTEM_STATS

시스템의 통계 값을 수동으로 설정하는 프러시저이다.

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

  • 프로토타입

    DBMS_STATS.SET_SYSTEM_STATS
    (
        pname      VARCHAR2,
        pvalue     VARCHAR2
    );
  • 파라미터

    파라미터설명
    pname파라미터의 이름이다.
    pvalue

    파라미터의 설정 값이다.

    다음은 파라미터에 대한 설명이다.

    • CPUSPEED: 1μs 당 평균 CPU 사이클 수(Mhz)이다.

    • SEEKTM: 평균 입출력 탐색 시간(I/O seek time)이다. (단위: ms)

    • TRFSPEED: 평균 입출력 전송 속도(I/O transfer speed)이다. (단위: byte/ms)

    • SBLKRDTM: 임의의 단일 블록을 읽는 데 걸리는 평균 시간이다. (단위: ms)

    • MBLKRDTM: 연속된 BLKRDCNT 블록을 읽는 데 걸리는 평균 시간이다. (단위: ms)

    • BLKRDCNT: 연속된 여러 블록을 읽을 때의 평균 블록 수이다.

  • 예외 상황

    예외 상황설명
    -20000DBA 권한이 없는 경우이다.
    -20001잘못된 파라미터 값을 입력한 경우이다.

28.3. 함수

본 절에서는 DBMS_STATS 패키지에서 제공하는 함수를 알파벳 순으로 설명한다.

28.3.1. GET_PARAM

DBMS_STATS 패키지의 디폴트 파라미터의 값을 반환하는 함수이다.

GET_PARAM 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_STATS.GET_PARAM 
    (
        pname     VARCHAR2
    ) 
    RETURN VARCHAR2;
  • 파라미터

    파라미터설명
    pname파라미터의 이름이다.
  • 예외 상황

    예외 상황설명
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.

28.3.2. GET_STATS_HISTORY_AVAILABILITY

사용 가능한 가장 오래된 통계 정보 히스토리의 저장 시점을 반환한다. 사용자는 통계 정보를 이 시점보다 예전으로 복원할 수 없다.

GET_STATS_HISTORY_AVAILABILITY 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY
    RETURN TIMESTAMP WITH TIME ZONE;

28.3.3. GET_STATS_HISTORY_RETENTION

현재 설정된 통계 정보 히스토리의 최대 보유 기간을 반환한다.

GET_STATS_HISTORY_RETENTION 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_STATS.GET_STATS_HISTORY_RETENTION
    RETURN NUMBER;

28.3.4. TO_BOOLEAN

TRUE, FALSE 문자열을 BOOLEAN 타입의 TRUE, FALSE 값으로 변경하여 반환하는 함수이다.

TO_BOOLEAN 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_STATS.TO_BOOLEAN 
    (
        strval     VARCHAR2
    ) 
    RETURN BOOLEAN;
  • 파라미터

    파라미터설명
    strvalTRUE 또는 FALSE 문자열 값이다.
  • 예외 상황

    예외 상황설명
    BAD_INPUT_VALUE잘못된 파라미터 값을 입력한 경우이다.