프린트 하기

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 10.2.0.4


쿼리 : 자동통계정보 수집 기능 테이블 단위 비활성화 (lock)

자동통계정보 수집 기능 테이블 단위 비활성화 (lock)

1
2
3
SYS@orcl2> EXEC DBMS_STATS.LOCK_TABLE_STATS('JSH','SAMPLE');
 
PL/SQL procedure successfully completed.



수동 통계정보 수집

1
2
3
4
5
6
7
8
9
10
11
12
13
SYS@orcl2> EXEC DBMS_STATS.GATHER_TABLE_STATS('JSH','SAMPLE');
BEGIN DBMS_STATS.GATHER_TABLE_STATS('JSH','SAMPLE'); END;
 
*
ERROR at line 1:
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: at "SYS.DBMS_STATS", line 36873
ORA-06512: at "SYS.DBMS_STATS", line 36507
ORA-06512: at "SYS.DBMS_STATS", line 8582
ORA-06512: at "SYS.DBMS_STATS", line 9461
ORA-06512: at "SYS.DBMS_STATS", line 35836
ORA-06512: at "SYS.DBMS_STATS", line 36716
ORA-06512: at line 1
에러발생



자동통계정보 수집 기능 테이블 단위 활성화 (unlock)

1
2
3
SYS@orcl2> EXEC DBMS_STATS.UNLOCK_TABLE_STATS('JSH','SAMPLE');
 
PL/SQL procedure successfully completed.



수동 통계정보 수집

1
2
3
SYS@orcl2> EXEC DBMS_STATS.GATHER_TABLE_STATS('JSH','SAMPLE');
 
PL/SQL procedure successfully completed.
정상 실행 됨


자동통계정보 수집 기능 테이블 단위 비활성화(lock) 상태에도 수동으로 수집하는 방법

1
2
3
SYS@orcl2> EXEC DBMS_STATS.GATHER_TABLE_STATS('JSH','SAMPL',force=>true);
 
PL/SQL procedure successfully completed.

마지막 인자에 force=>true 을 사용해주면 정상 실행된다.



참조 : http://blog.naver.com/PostView.nhn?blogId=hanccii&logNo=220724151158&redirect=Dlog&widgetTypeCall=true

http://jjon.tistory.com/entry/11g-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC-%EC%9E%90%EB%8F%99%EC%9E%91%EC%97%85-dbmsautotaskadmin