Programming/Oracle

통계정보 locking

초록깨비 2022. 5. 18. 17:01
728x90

통계정보 locking 

   : 코드 or 마스터 테이블에 적용 

 

  ① EXEC DBMS_STATS.LOCK_TABLE_STATS(user_name, table_name); 

  ② EXEC DBMS_STATS.UNLOCK_TABLE_STATS(user_name, table_name);  

 

 

 

통계정보 locking 상태 확인 

   SELECT OWNER, TABLE_NAME, STATTYPE_LOCKED
    FROM DBA_TAB_STATISTICS
  WHERE OWNER = 'SCOTT'
      AND TABLE_NAME = 'DEPT';

 

     STATTYPE_LOCKED = ALL이면 LOCKING 상태로 통계정보 생성 불가

     STATTYPE_LOCKED = NULL이면 통계정보 생성 가능

 

 

 

  LOCKING 상태에서 통계자료 생성하면 아래와 같은 에러 발생 

 

  ERROR at line 1:
  ORA-20005: object statistics are locked (stattype = ALL)
  ORA-06512: at "SYS.DBMS_STATS", line 13437
  ORA-06512: at "SYS.DBMS_STATS", line 13457
  ORA-06512: at line 1

 

 

 

통계정보 업데이트 확인

 

  SELECT *
    FROM DBA_TAB_STATS_HISTORY
  WHERE OWNER = 'SCOTT'
     AND TABLE_NAME = 'DEPT'
   ORDER BY STATS_UPDATE_TIME DESC;

 

 

728x90