--테이블 자동통계정보 수집 기능 테이블 단위 비활성화
begin
DBMS_STATS.LOCK_TABLE_STATS('TEST_USER','TBL_PRICE');
end;
--테이블 통계잠금해제
begin
DBMS_STATS.UNLOCK_TABLE_STATS('TEST_USER','TBL_PRICE');
end;
-- 통계정보 확인
select table_name, num_rows, blocks, empty_blocks, chain_cnt, avg_row_len, stale_stats, last_analyzed, sample_size
from user_tab_statistics
where table_name = 'XTMP_MBER';
select index_name, blevel, leaf_blocks, distinct_keys, avg_leaf_blocks_per_key, avg_data_blocks_per_key, clustering_factor
from user_ind_statistics
where table_name = 'XTMP_MBER';
select column_name, num_distinct, density, num_buckets
from user_tab_col_statistics
where table_name = 'XTMP_MBER';
--****통계정보 백업
--통계정보 백업용 테이블 생성
begin
dbms_stats.create_stat_table('DBENURI','XTMP_STAT_BACK');
end;
--테이블 통계정보 백업 : 테이블 단위 백업시 테이블, 인덱스, 컬럼 전부 백업됨
--컬럼, 인덱스 개별로 백업 가능 (dbms_stats.export_column_stats, dbms_stats.export_index_stats)
begin
dbms_stats.export_table_stats(OWNNAME=> 'TEST_USER',tabname=>'XTMP_MBER', stattab=>'XTMP_STAT_BACK');
end;
--통계정보 백업 -- 테이블 단위 복구시 컬럼, 테이블, 인덱스 전부 복구됨
-- 특정 인덱스, 컬럼만 복구하려면 import_column_stats, import_index_stats
begin
dbms_stats.import_table_stats(OWNNAME=> 'TEST_USER',tabname=>'XTMP_MBER', stattab=>'XTMP_STAT_BACK');
end;
--통계정보 변경이력 확인
select * from USER_TAB_STATS_HISTORY;
위에서 백업받은 내용을 바탕으로 통계변경 및 복구 테스트 진행
--*******************
--통계변경 테스트
--********************
--1.테이블 통계 변경
begin
dbms_stats.set_table_stats(ownname => 'TEST_USER', tabname=>'XTMP_MBER', numrows=>'1');
end;
--2.컬럼 통계 변경
begin
dbms_stats.set_column_stats(ownname => 'TEST_USER',
tabname=>'XTMP_MBER', colname => 'FACTR_NO', distcnt=>1);
end;
--3.인덱스 통계 변경
begin
dbms_stats.set_index_stats(ownname => 'TEST_USER',indname=>'PK_XTMP_MBER',numdist=>1);
end;
--복구
begin
dbms_stats.import_table_stats(OWNNAME=> 'TEST_USER',tabname=>'XTMP_MBER', stattab=>'XTMP_STAT_BACK');
end;
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] NUM_INDEX_KEYS 힌트 사용시 INDEX 힌트 함께 사용하기 (1) | 2023.12.20 |
---|---|
[Oracle] DB 링크 생성, 조회, 사용 및 삭제 (2) | 2023.11.21 |
[Oracle] database shutdown hang ( ora-01013: user requested cancel of current ) (0) | 2023.10.05 |
[Oracle] INDEX 생성 모니터링, REBUILD 와 DROP CREATE 시 차이 (0) | 2023.08.25 |
[Oracle] 파라미터 변경 방법 (0) | 2023.08.25 |