1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
파티션 통계정보 일치 작업 사전에 한번은 ALL 또는 기준이 되는 특정 파티션 통계정보를 떠놔야 함. -- 파티션별 스크립트를 만드는 SQL part_stat_equal.sql 내용 ( 미리 만들어져 있어야 함 ) define table_owner = &1 define table_name = &2 define src_partition_name = &3 select 'exec DBMS_STATS.COPY_TABLE_STATS( '''||'&&table_owner'||''' , '''||'&&table_name'||''', '''||'&&src_partition_name'||''', '''||PARTITION_NAME||''' , FORCE=>TRUE); ' as scripts from dba_tab_partitions where TABLE_OWNER = '&&table_owner' and table_name='&&table_name' ; 이걸 실행 set head off set feedback off set echo off set time off set timing off set verify off 예시) 유저명 TMALL @part_stat_equal 유저명 테이블명 기준파티션명 @part_stat_equal TMALL TR_ORD_CLM_DELVPLACE P_200909 @part_stat_equal TMALL TR_ORD_CLM_DELVPLACE_HIST P_200909 @part_stat_equal TMALL TR_ORD_STL_RFND P_200909 @part_stat_equal TMALL TR_ORD_STLMNT_DTLS P_200909 @part_stat_equal TMALL TR_ORD_PRD_STAT_HIST P_200909 @part_stat_equal TMALL TR_SLCT_PRD_OPT P_200909 @part_stat_equal TMALL TR_DLV_INFO_DTLS_IF P_200909 @part_stat_equal TMALL TR_ORD_CLM_DLV_DTLS P_200909 위에 만든 결과에 따른 결과 exec DBMS_STATS.COPY_TABLE_STATS( 'TMALL' , 'TR_ORD_CLM_DELVPLACE', 'P_200909', 'P_200801' , FORCE=>TRUE); .... |