Oracle數(shù)據(jù)庫性能優(yōu)化



《Oracle數(shù)據(jù)庫性能優(yōu)化》由會員分享,可在線閱讀,更多相關《Oracle數(shù)據(jù)庫性能優(yōu)化(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1系統(tǒng)問題 XX公司BI系統(tǒng)上線運行以來,客戶反映系統(tǒng)目前存在著下面的幾個問 題,涉及到數(shù)據(jù)庫和ETL. 問題一:表空間增長太快,每個月需增加3—5G空間。 問題二:ETL JOB會經(jīng)常導致數(shù)據(jù)庫產(chǎn)生表空間不足錯誤。 2系統(tǒng)優(yōu)化分析 2.1分析思路 要解決表空間的問題,我們必須搞清楚下面幾個問題: 思路一:真正每個月數(shù)據(jù)倉庫增量是多少空間 目的:得出一個正確的月表空間增長量 思路二:目前的數(shù)據(jù)倉庫表空間是是如何分布的。 目的:找出那些對象是最占空間,分析其合理性 2.2分析過程 要得到真實的數(shù)據(jù)分布必須對表進行分析,首先需要對數(shù)據(jù)倉庫的oracle數(shù)據(jù)庫進行 表分析,。
2、執(zhí)行下面腳本可以對數(shù)據(jù)庫進行表分析。 compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; c
3、ompute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; analyzctsblc.5ql 腳本一 analyze table SA_IMS_PRODUCT_GROUP analyze table SA_CONSUMP_ACT_D
4、EL analyze table SA_FINANCE_ACT analyze table SA_CONSUMP_TGT_DEL analyze table SA_FACT_IS analyze table SA_CPA analyze table SA_REF_TERR_ALIGNMENT_DEL analyze table SA_IMS_MTHLC_BK analyze table SA_IMS_CHPA analyze table SA_FINANCE_PNL analyze table SA_CUST_TARG_SEG analyze table SA_CONSUM
5、P_ACT analyze table SA_FINANCE_BS analyze table SA_FINANCE_BGT_QTY analyze table SA_CONSUMP_ACT0423 analyze table SA_CALLS analyze table SA_COMPANY_DAILY_SALES_ALL analyze table SA_IMS_MTHLC analyze table SA_IMS_MTHUS analyze table SA_CONSUMP_TGT analyze table TEST_TABLE analyze table SA_D
6、OCTOR_CYCLE_EXTRACT analyze table SA_EXCHANGE_ACT analyze table SA_IMS_MTHST compute statistics; analyze table SA_FINANCE_CONCUR_DETAIL compute statistics; analyze table WK_SA_CPA compute statistics; analyze table SA_REF_TERR_ALIGNMENT compute statistics; analyze table SA_CONSUMP_
7、TGT0316 compute statistics; analyze table SA_CUSTOMER compute statistics; analyze table SA_CUST compute statistics; analyze table SA_HKAPI compute statistics; analyze table SA_CONSUMP_TGT_AMT compute statistics; analyze table SA_CUST0423 compute statistics; analyze table SA_C
8、OMMUNITY_TGT compute statistics; analyze table SA_CM_WORKING_DATE compute statistics; analyze table SA_CM_IN_MARKET_SALES_CU compute statistics; analyze table SA_DASH_SFE compute statistics; analyze table SA_CPA_TERR compute statistics; analyze table IDX_SA_CUST compute statist
9、ics; analyze table SA_REF_EMP_TERR compute statistics; analyze table SA_CM_IN_MARKET_SALES_OCM compute statistics; analyze table SA_COMPANY_MONTHLY_SALES compute statistics; analyze table SA_MAP_YEARMONTH_RATE compute statistics; analyze table SA_FINANCE_ACT_BPCS_TEST compute sta
10、tistics; analyze table SA_REF_EMP_TERR0413 compute statistics; analyze table SA_FINANCE_ACT_BPCS compute statistics; analyze table IDX$$_143D0001 compute statistics; analyze table SA_COMPANY_DAILY_SALES_ALL_23 compute statistics; analyze table SA_COMMUNITY_TGT_AMT compute statist
11、ics; analyze table SA_DASH_MONTHLY_MAT_SALES compute statistics; analyze table SA_DASH_ATTRITION compute statistics; analyze table SA_DASH_MARKET_SHARE compute statistics; analyze table SA_CORP compute statistics; analyze table SA_COMMUNITY_ACT compute statistics; analyze
12、 table SA_CM_IN_MARKET_SALES_CU_DEL compute statistics; analyze table WK_SA_COMPETITOR_PRODUCT compute statistics; analyze table SA_IMS_ANTI_HYPER_TEST compute statistics; analyze table SA_TERRITORY compute statistics; analyze table TEST_CUSTOMER_TGT compute statistics; analy
13、ze table SA_COMPETITOR_PRODUCT compute statistics; analyze table SA_CM_IN_MARKET_SALES_OCM_DEL compute statistics; analyze table SA_COMPANY_DAILY_SALES compute statistics; analyze table SA_REF_MR_CORP compute statistics; analyze table SA_IS_MATERIAL compute statistics; analy
14、ze table SA_IS_KEY_MESSAGE compute statistics; analyze table SA_DRIVER_REASON compute statistics; analyze table SA_REF_MR_CUST compute statistics; analyze table SA_BARRIER_REASON compute statistics; analyze table SA_ACCOUNT compute statistics; analyze table SA_REF_MR_PROD
15、 compute statistics; analyze table SA_REF_VENDOR_EMP compute statistics; analyze table SA_FINANCE_ACT_ADJUSTMENT compute statistics; analyze table SA_RANKING_MESSAGE compute statistics; analyze table SA_TC compute statistics; analyze table SA_CUST_PARENT compute statistics;
16、 analyze table SA_EXCHANGE_RATE_ACT_MTH compute statistics; analyze table SA_EXCHANGE_RATE compute statistics; analyze table SA_DASH_GROWTH_BUBBLE compute statistics; analyze table SA_COST_CENTER compute statistics; analyze table PM_KEY compute statistics; analyze table
17、 SA_CM_REF_TERR_OCM compute statistics; analyze table SA_CM_REF_TERR_CU compute statistics; analyze table SA_BPCS_TO_ISMI compute statistics; analyze table PRODUCT compute statistics; analyze table SA_SHIFT_LEVEL compute statistics; analyze table SA_SFE_VARIABLES compute s
18、tatistics; analyze table SA_PRODUCT compute statistics; analyze table SA_PATIENT_TYPE_EN compute statistics; analyze table SA_MR_KEY_PRODUCT compute statistics; analyze table SA_MAP_TEAM_BRAND compute statistics; analyze table SA_MAP_CUSTOMER compute statistics; analyze ta
19、ble SA_MAP_AGGR compute statistics; analyze table SA_LOCATION compute statistics; analyze table SA_INCREMENTAL_SHIFT compute statistics; analyze table SA_IMS_CITY compute statistics; analyze table SA_TGT_FREQ compute statistics; analyze table SA_TGT_CALLS compute statisti
20、cs; analyze table SA_FINANCE_ANP compute statistics; analyze table SA_COMPANY_DAILY_SALES_23 compute statistics; analyze table SA_GEOGRAPHY compute statistics; analyze table SA_MAP_PONUMBER_BPCSTERRCODE compute statistics; analyze table PK_SA_MAP_PONUMBER_BPCSTERRCOD compute
21、 statistics; analyze table SA_MAP_SAP_BPCS_CUST compute statistics; analyze table PK_SA_MAP_SAP_BPCS_CUST compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute statistics; compute st
22、atistics; compute statistics; analyze table SA_MAP_SAP_BPCS_SKU analyze table PK_SA_MAP_SAP_BPCS_SKU analyze table SA_REF_DAY analyze table STAGEPLAN analyze table SA_SPLIT_HOSPTIAL analyze table SA_USAGE_LEVEL analyze table TEST_CUSTOMER analyze table SA_NEW_USAGE_LEVEL analyze table SA
23、_PROD_GROUP_NEW 通過表分析,我們可以得到數(shù)據(jù)倉庫中每個表的記錄行數(shù),BLOCK數(shù),EMPTY BLOCKS 數(shù)等等關鍵的數(shù)據(jù)分布數(shù)據(jù),分析后,這些數(shù)據(jù)會存放在系統(tǒng)表, USER_TABLES和 USER_SEGMENTS中。通過對這些系統(tǒng)查詢,我們可以得到整個數(shù)據(jù)庫的數(shù)據(jù)分布情況,從而 為分析問題原因提供充足基礎。 執(zhí)行下面的腳本,可以得到一個數(shù)據(jù)庫的數(shù)據(jù)分布報告: data bs arc portsql 腳本二 SELECT SEGMENT_NAME TABLE_NAME, SEGMENT_TYPE, GREATEST(ROUND(100 * (NVL(HWM -
24、 AVG_USED_BLOCKS,0)/GREATEST(NVL(HWM,1),1) ), 2), 0) WASTE_PER, ROUND(BYTES/1024, 2) TABLE_KB, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, HWM HIGHWATER_MARK, AVG_USED_BLOCKS, CHAIN_PER, EXTENTS, MAX_EXTENTS, ALLO_EXTENT_PER, DECODE(GREATEST(MAX_FREE_SPACE - NEXT_EXTENT, 0), 0,'N','Y') CAN_EXTEND_SPACE, N
25、EXT_EXTENT, MAX_FREE_SPACE, O_TABLESPACE_NAME TABLESPACE_NAME FROM (SELECT ,,, ,BLOCKS, EMPTY_BLOCKS, --1 HWM, DECODE( ROUND( * NUM_ROWS * (1 + (PCT_FREE/100)))/, 0), 0, 1, ROUND( * NUM_ROWS * (1 + (PCT_FREE/100)))/, 0) )+ 2 AVG_USED_BLOCKS, ROUND(100 * (NVL, 0)/GREATEST(NVL, 1), 1)), 2) CH
26、AIN_PER, ROUND(100 * , 2) ALLO_EXTENT_PER, EXTENTS, MAX_EXTENTS, NEXT_EXTENT, O_TABLESPACE_NAME FROM USER_SEGMENTS A, USER_TABLES B, user_tablespaces C WHERE SEGMENT_NAME = TABLE_NAME and SEGMENT_TYPE ='TABLE' AND UNION ALL SELECT SEGMENT_NAME || '.' || , SEGMENT_TYPE, BYTES, , BLOCKS, EM
27、PTY_BLOCKS, --1 HWM, DECODE( ROUND( * * (1 + 100)))/, 0), 0, 1, ROUND( * * (1 + 100)))/, 0) )+ 2 AVG_USED_BLOCKS, ROUND(100 * (NVL,0)/GREATEST(NVL, 1), 1)), 2) CHAIN_PER, ROUND(100 * , 2) ALLO_EXTENT_PER, EXTENTS, MAX_EXTENTS,, O_TABLESPACE_NAME FROM USER_SEGMENTS A, USER_TAB_PARTITIONS B
28、, USER_TABLESPACES C, USER_TABLES D WHERE SEGMENT_NAME = and SEGMENT_TYPE = 'TABLE PARTITION' AND = AND = AND = , (SELECT TABLESPACE_NAME F_TABLESPACE_NAME,MAX(BYTES) MAX_FREE_SPACE FROM USER_FREE_SPACE GROUP BY TABLESPACE_NAME) WHERE F_TABLESPACE_NAME = O_TABLESPACE_NAME AND GREATEST(
29、ROUND(100* (NVL(HWM - AVG_USED_BLOCKS, 0)/GREATEST(NVL(HWM, 1), 1) ), 2), 0) > 2 AND BLOCKS > 1 ORDER BY 4 DESC, 3 DESC, 2 ASC; 運行腳本二后,我們以生產(chǎn)環(huán)境的STAGE SCHEMA為例。得到報告如下: 報告的各列含義如下: WASTE_PER:空間浪費比率,實際用到的數(shù)據(jù)塊/分配給該表的數(shù)據(jù)塊。 TABLE_KB:表占空間大小,以KB為單位。 NUM_ROWS:表中記錄行數(shù)。 BLOCKS: 分配給該表的數(shù)據(jù)塊數(shù)。 EMPTY_BLOCKS:已分配
30、給該表但尚未使用的數(shù)據(jù)塊。 HIGHWATER_MARK:表的高水位標志。 AVG_USED_BLOCKS:實際有數(shù)據(jù)的數(shù)據(jù)塊數(shù)。 CHAIN_PER:發(fā)生數(shù)據(jù)行遷移的記錄數(shù)。 各列有如下關系: BLOCKS = EMPTY_BLOCKS+ HIGHWATER_MARK+1 WASTE_PER= (HIGHWATER_MARK - AVG_USED_BLOCKS)/ HIGHWATER_MARK 用下面的一個圖可以直觀了解他們之間的關系: BLOCKS EMP1Y_ BLOCKS HIGH WATER MARK AVG_LSED_ BLOCKS 圖中紅色塊表示在
31、HIGHWATER_MARK下已分配但未被使用的塊,形成空洞。 (該報告以表大小倒序排序) TABLE_NAME WASTE_PER TAB LE_ KB NUM_ ROWS BLO CKS EMPTY_ BLOCKS HIGHWAT ER_MARK AVG_USED _BLOCKS CHAI N_PE R SA_FINANCE _BGT_AMT 383 302 4 9128 7 479 128 0 479127 836 0 SA_IMS_PRO DUCT_GROUP 289 350 4 1292 751
32、361 688 0 361687 14236 0 SA_CONSUMP _ACT_DEL 232 960 0 7722 904 291 200 657 290542 75704 0 SA_FINANCE _ACT 232 307 2 2499 38 290 384 0 290383 3224 0 SA_CONSUMP _TGT_DEL 210 227 2 +07 262 784 622 262161 235433 0 SA_FACT_IS 191 878 4 1927 073 2
33、39 848 0 239847 107388 0 SA_CPA 132 915 2 4528 86 166 144 0 166143 8577 0 SA_REF_TER R_ALIGNMEN 110 694 +07 138 368 537 137830 93984 0 T_DEL 4 SA_IMS_MTH LC_BK 455 680 3652 500 569 60 1560 55399 52480 0 SA_IMS_CHP A 403 456 2354
34、 90 504 32 0 50431 2089 0 SA_FINANCE _PNL 100 334 144 806 417 68 0 41767 14 0 SA_CUST_TA RG_SEG 184 320 9608 04 230 40 0 23039 9549 0 SA_CONSUMP _ACT 24 180 224 1513 101 225 28 6750 15777 11989 0 SA_FINANCE _BS 100 167 360 180 209 20 0 20919 5
35、 0 SA_FINANCE _BGT_QTY 167 360 3358 209 20 0 20919 26 0 SA_CONSUMP _ACT0423 100 131 072 0 163 84 461 15922 3 0 SA_CALLS 117 504 3342 41 146 88 0 14687 5343 0 SA_COMPANY _DAILY_SAL ES_ALL 110 784 2161 9 138 48 0 13847 182 0 SA_IMS_MTH LC 102
36、464 1106 633 128 08 0 12807 10998 0 SA_IMS_MTH US 101 888 1105 765 127 36 0 12735 10841 0 SA_CONSUMP _TGT 911 36 1224 797 113 92 132 11259 9705 0 TEST_TABLE 870 40 1 108 80 10834 45 3 0 SA_EXCHANG E_ACT 100 839 68 33 104 96 0 10495 3 0 S
37、A_DOCTOR_ CYCLE_EXTR ACT 838 40 2316 77 104 80 0 10479 4326 0 SA_IMS_MTH ST 776 32 1106 727 970 4 0 9703 8027 0 SA_FINANCE _CONCUR_DE TAIL 563 20 3635 86 704 0 112 6927 6300 0 WK_SA_CPA 512 00 3344 08 640 0 166 6233 5884 0 SA_REF_TER R_ALIGNM
38、EN T 358 40 7363 93 448 0 72 4407 3265 0 SA_CONSUMP _TGT0316 348 16 4942 58 435 2 196 4155 3918 0 SA_CUSTOME R 317 44 1105 82 396 8 128 3839 3610 0 SA_CUST 235 52 1181 53 294 4 994 1949 1842 0 SA_HKAPI 164 7655 205 0 2055 89 0 SA_CON
39、SUMP _TGT_AMT 153 60 4495 02 192 0 96 1823 1571 0 SA_CUST042 3 143 36 1130 77 179 2 121 1670 1551 0 SA_COMMUNI TY_TGT 133 12 4085 8 166 4 1354 309 287 0 SA_CM_WORK ING_DATE 86 126 72 6298 2 158 4 0 1583 222 0 SA_CM_IN_M ARKET_SALE S_CU 112
40、 00 2909 8 140 0 0 1399 139 0 SA_DASH_SF E 915 2 46 114 4 0 1143 3 0 SA_CPA_TER R 608 0 6085 8 760 0 759 648 0 SA_REF_EMP _TERR 409 6 3912 0 512 10 501 422 0 SA_CM_IN_M ARKET_SALE S_OCM 396 8 1959 496 0 495 12 0 SA_COMPANY _MONTHLY_S ALE
41、S 326 4 1326 5 408 0 407 66 0 SA_MAP_YEA RMONTH_RAT 320 0 3 400 0 399 3 0 48 6 E SA_FINANCE _ACT_BPCS_ TEST 307 2 4356 8 384 72 311 259 0 SA_REF_EMP _TERR0413 307 2 2548 4 384 82 301 272 0 SA_FINANCE _ACT_BPCS 230 4 1558
42、0 288 0 287 238 0 SA_COMMUNI TY_TGT_AMT 204 8 4085 8 256 70 185 145 0 SA_COMPANY _DAILY_SAL ES_ALL_23 204 8 2102 4 256 56 199 177 0 SA_DASH_AT TRITION 896 29 112 0 111 3 0 SA_DASH_MA RKET_SHARE 896 56 112 0 111 3 0 SA_DASH_MO NTHLY_MAT_ SALES
43、 896 110 112 0 111 5 0 SA_CORP 768 3500 96 8 87 84 0 SA_CM_IN_M ARKET_SALE S_CU_DEL 704 9102 88 0 87 59 0 SA_COMMUNI TY_ACT 704 1728 5 88 8 79 69 0 WK_SA_COMP ETITOR_PRO DUCT 576 2585 72 37 34 30 0 SA_IMS_ANT I_HYPER_TE ST 448 8604 56
44、28 27 22 0 SA_TERRITO RY 384 2887 48 28 19 14 0 TEST_CUSTO MER_TGT 25 384 63 48 43 4 3 0 SA_CM_IN_M ARKET_SALE S_OCM_DEL 256 1959 32 0 31 15 0 SA_FINANCE _ACT_ADJUS TMENT 192 276 24 0 23 4 0 SA_ACCOUNT 192 227 24 0 23 4 0 SA_BARRIER _REASON
45、 192 82 24 0 23 4 0 SA_DRIVER_ REASON 192 110 24 0 23 5 0 SA_IS_KEY_ MESSAGE 192 100 24 0 23 5 0 SA_IS_MATE RIAL 192 125 24 0 23 6 0 SA_REF_MR_ 192 389 24 0 23 7 0 PROD SA_REF_MR_ CORP 192 509 24 0 23 7 0 SA_REF_MR_
46、CUST 192 422 24 0 23 8 0 SA_RANKING _MESSAGE 192 584 24 0 23 9 0 SA_TC 192 463 24 0 23 11 0 SA_REF_VEN DOR_EMP 192 2659 24 4 19 18 0 SA_CUST_PA RENT 192 6517 24 4 19 18 0 SA_SFE_VAR IABLES 80 128 4 16 0 15 3 0 SA_SHIFT_L EVEL 80 128
47、81 16 0 15 3 0 SA_BPCS_TO _ISMI 80 128 213 16 0 15 3 0 SA_PATIENT _TYPE_EN 80 128 25 16 0 15 3 0 SA_MR_KEY_ PRODUCT 80 128 38 16 0 15 3 0 SA_CM_REF_ TERR_CU 80 128 52 16 0 15 3 0 SA_MAP_TEA M_BRAND 80 128 11 16 0 15 3 0 SA_MAP_CUS TOMER 80
48、 128 6 16 0 15 3 0 SA_LOCATIO N 80 128 135 16 0 15 3 0 SA_INCREME NTAL_SHIFT 80 128 52 16 0 15 3 0 SA_IMS_CIT 80 128 31 16 0 15 3 0 SA_CM_REF_ TERR_OCM 80 128 10 16 0 15 3 0 SA_COMPANY _DAILY_SAL ES 80 128 31 16 0 15 3 0 SA_EXCHANG E_RATE_ACT
49、 _MTH 80 128 1 16 0 15 3 0 SA_EXCHANG E_RATE 80 128 4 16 0 15 3 0 SA_DASH_GR OWTH_BUBBL 80 128 11 16 0 15 3 0 SA_COST_CE NTER 80 128 228 16 0 15 3 0 SA_TGT_FRE Q 80 128 305 16 0 15 3 0 SA_TGT_CAL 80 128 88 16 0 15 3 0 LS S
50、A_FINANCE _ANP 128 1320 16 3 12 7 0 SA_MAP_AGG 128 3654 16 3 12 10 0 SA_COMPANY _DAILY_SAL ES_23 128 744 16 6 9 8 0 SA_DOCTOR_ POTENTIAL 64 4 8 0 7 3 0 SA_CUST_CA TEGORY 64 27 8 0 7 3 0 SA_FINANCE _CONCUR_DE TAIL_MTH 64 1 8 0 7 3 0 S
51、A_REF_MR_ CITY 64 8 8 0 7 3 0 SA_PROD_PR ICE 64 265 8 0 7 3 0 SA_SPLIT_H OSPTIAL 25 64 355 8 3 4 3 0 SA_USAGE_L EVEL 25 64 5 8 3 4 3 0 STAGEPLAN 25 64 0 8 3 4 3 0 SA_PROD_GR OUP_NEW 25 64 269 8 3 4 3 0 TEST_CUSTO MER 25 64 21 8 3
52、4 3 0 SA MAP SAP bpcssku _BPCS_SKU 25 64 50 8 3 4 3 0 SA MAP SAP bpcscust _dpcs_cusi 25 64 52 8 3 4 3 0 SA_MAP_PON UMBER_BPCS TERRCODE 25 64 114 8 3 4 3 0 SA_NEW_USA 能_LEVEL 25 64 4 8 3 4 3 0 2.3分析結論 從報告中,目前STAGE表空間存在以下幾個問題: 一:數(shù)據(jù)庫表空間浪費比率很高,整個STAGE數(shù)據(jù)庫表空
53、間總的浪費比率為:% 二:很多表記錄不多,但占得空間巨大。比如占空間很大的幾個表 表名 表大小 浪費比率 SA_FINANCE_BGT_AMT (G) SA_IMS_PRODUCT_GROUP (G) SA_CONSUMP_ACT_DEL (G) SA_FINANCE_ACT (G) 三:以DEL結尾的幾個表,占的空間很大,跟用戶訪談得知,這幾個表是備份表,不做刪除 清理,不合理。 2.4原因分析 從上面的分析可以知道,目前數(shù)據(jù)庫最主要的問題也是表空間浪費很高,造成空間浪費 很多。那么造成浪費的原因是什么呢 一般來說,造成浪費的原因有如下幾個方
54、面: 一:頻繁的DEL操作,造成表空間大量的空塊,具體表現(xiàn)為表的HWM很高,那么ORACLE 在統(tǒng)計剩余空間時,是以HWM水位線上面的空間來計算的。也就是說HWM下面的空間不能被 重新分配,盡管可能已經(jīng)沒有數(shù)據(jù)。那么表空間經(jīng)常會爆滿。 Oracle表段中的高水位線HWM 在Oracle數(shù)據(jù)的存儲中,可以把存儲空間想象為一個水庫,數(shù)據(jù)想象為水庫中的水。 水庫中的水的位置有一條線叫做水位線,在Oracle中,這條線被稱為高水位線(High-warter mark, HWM)。在數(shù)據(jù)庫表剛建立的時候,由于沒有任何數(shù)據(jù),所以這個時候水位線是空的, 也就是說HWM為最低值。當插入了數(shù)據(jù)以后,高水位
55、線就會上漲,但是這里也有一個特性, 就是如果你采用delete語句刪除數(shù)據(jù)的話,數(shù)據(jù)雖然被刪除了,但是高水位線卻沒有降低, 還是你剛才刪除數(shù)據(jù)以前那么高的水位。也就是說,這條高水位線在日常的增刪操作中只會 上漲,不會下跌。 二:數(shù)據(jù)庫發(fā)生行遷移。 行遷移 當修改不是行鏈接的行時,當修改后的行長度大于修改前的行長度,并且該數(shù)據(jù)塊中的 空閑空間已經(jīng)比較小而不能完全容納該行的數(shù)據(jù)時,就會發(fā)生行遷移。在這種情況下,Oracle 會將整行的數(shù)據(jù)遷移到一個新的數(shù)據(jù)塊上,而將該行原先的空間只放一個指針,指向該行的 新的位置,并且該行原先空間的剩余空間不再被數(shù)據(jù)庫使用,這些剩余的空間我們將其稱之 為空洞
56、,這就是產(chǎn)生表碎片的主要原因,表碎片基本上也是不可避免的,但是我們可以將其 降到一個我們可以接受的程度。 從我們上面的分析來看,XX公司數(shù)據(jù)庫發(fā)生行遷移的記錄很少(CHAIN_PER很低)。所 以這個不是造成空間浪費的原因原因。所以,造成空間浪費的真正原因是 一:頻繁的DEL操作,導致表的HWM被拉高。 二:備份表只插入,不做定期清理。 下面我們驗證一下,刪除操作對數(shù)據(jù)庫表空間的影響。 我們以SA_IMS_PRODUCT_GROUP這個打表為例,然后創(chuàng)建一個新表,表的記錄跟原來 是一樣多的,然后比較刪除記錄前跟刪除記錄后,表空間的情況。 創(chuàng)建表: create table SA_
57、IMS_PRODUCT_GROUP_HHS as select * from SA_IMS_PRODUCT_GROUP 對表 SA_IMS_PRODUCT_GROUP_HHS 進行表分析 analyze table SA_IMS_PRODUCT_GROUP_HHS compute statistics 下面是刪除操作之前的表的空間情況??梢园l(fā)現(xiàn),SA_IMS_PRODUCT_GROUP_HHS這個表 比SA_IMS_PRODUCT_GROUP這個表占的空間少了 2G多。僅為122M左右,原表為. 5KN 刖 TJM 腳灑 -颯 E_KB NUM_Raws ELOCK
58、S EhPlY.BLOCKS HIGI [陽IE 硼 15明 刪 21殘 : >A/N^E_BGr_aiY ■■- TABlf W 21336 : ■: SA_C0NSUMP_AC10+23 - TABl£ 頃 1} 網(wǎng) 461 17 近'建啷伽匚T 陽 LE 634 1 衢 C 1292751 15363 61 13 SA.IALS - TABlf 1腳 礎1 一瞬 : 1W 2'E1S 0 SAJ1S_MT-.C ■■-
59、TABlf 14.13 郵 1100 1獅 0 接下來,我們刪除一些記錄,然后看看HWM是否會下降。 delete from SA_IMS_PRODUCT_GROUP_HHS where CITY_NAME='CHPA' 對表再進行分析,下面是分析結果,可以發(fā)現(xiàn),表記錄少了,但表的大小沒有降下來, 表明表的HWM還是刪除前的水位。 TABLE $E用打」怔 WflSTE.Pffl TABLED - NUkJ_ROWS E'.'F'tJ.:■{: TGH郵 13 SA.COMSUTdP^Cr - TABLE 如1 m -頑- 嚇G
60、 1( SA.-^CE_BS - TABLE 00 DR dU. JU IM 183 2133E C 15 岫襤罰L尸 TABLE 叩hr dd.mj 1? 3353 陋 G 16 SA_CONSUfdP_ACW - TABLE qq dr 31皿 0 1蹭 財 H7 甌'此FW&KL用叫七-HS .. TABl£ T「1 m 1DW E1 15 ??? TABLE 3并團 C 19 SA_COUPM1Y_DAILY_SALES_AIL - TABLE 傾 21613
61、 側 C JD SA/lSJ/r-j:: - TABLE K3 m vm 1娜 C 然后我們再把刪除的記錄插進去,看看表是否變化了。 insert into SA_IMS_PRODUCT_GROUP_HHS select * from SA_IMS_PRODUCT_GROUP where CITY_NAME='CHPA' 對表再進行分析,下面是分析結果,可以發(fā)現(xiàn),表記錄跟刪除前一樣多,但表的尺寸變 大了,表明表的HWM被拉高了,盡管記錄還是一樣多。 TA0LE_NME |8EGMENT_nPE WASIE_PER |照£_用州加伽S |BLOCKS |
62、EMPTY0LOCKS |HIGH#印 5uES 11C驕 -漢 a 14.13 m 「弟3 伽 S 勰 -ffl 勰II叫珊 3 , JSA CUS- NRG SEG -麗E W ? M一酒 F 14 SA_-R^CE.BS S91 1即 D SA_R^CE_BGT_QE - 網(wǎng) 譏照 3踹 3 一? 霉湖IF如陋 TABLE 曬8 一?一僉 a 1洲 苛1 ■JSA_CONS^X:T - 1ABL= 劉 1 衛(wèi)粉 1戒131 回 E 命? '■I SA.CALB ? T陽E H?
63、 ^.NS.PRODUCr.GROUP.HHS - 1ABLE 13 SA_COUPflNY_DfllLY_SALES_ALL - l^LE 1 SA.'.IS frTTHC -舊正 ti ■ ■ ■ ti ■ ■ n i ■ ■ a i n i m 從上面的驗證可以發(fā)現(xiàn),如果我們對表進行反復刪除,并且插入新記錄,每次操作都會 拉高表的HWM,造成表空間的浪費。那么在我們informatica的JOB運行過程,是否存在著 刪除表記錄的操作呢通過對JOB的檢查,確實在ETL JOB中,很多地方在裝載數(shù)據(jù)前,為了 避免數(shù)據(jù)記錄的重復裝載,每次裝載之前都會先進行刪除操作。 下面我們拿一
64、個JOB來分析,在這個驗證中,我們反復運行一個JOB,理論上記錄是不 會增多的,看對表空間的影響如何。 我們以下面的ETL JOB為例: -@ :l'LIr. -[ :11 5I C: L f』匚-I二]匕哭 min」偵 ie「b cflim心 n-iQ-nc t:.[-\y 打:;-:- EIU「IE 二 火’ 溫卜容17.47.a5 如心H 17咱:但 aiD-12-7 rr:始亞 v:(-iy臉壬 aiD-12-7 H:4S :- o :::(-!>' :i;3 :: 醐HHH慚05 翻 201(1-1£-131:15 00
65、 二〔T:-W::E 00 -;_. in rnv iaift th cmtc ? r S Effl JACT TO in SIS ACT im It: C即1招E曲福霜 偵_|£】_蕓_=:」::溢 Cn□帥pthn Hfljre 官 yiDLance * w_EW_nm F i頃』皿 -花」%_榮二|工 ':二口尚頂洌M liiiiiketJesearch SIE F面是運行JOB之前的目標表的空間情況: 表大小為15232k數(shù)據(jù)塊為1904塊 記錄數(shù)位21666行 -AELE_NAME SEGMEN\TYPE WASTE_FER
66、TABLETS NUM_FOV/S BLOCKS EMI 35 WK_FAJ:"_CUST_T r_SEGklENT_REF - 'ABLE 1321 21504 2頗 2683 36 WK_F A)r_CC NSUklP_TGT_CURR D31 ? ■- -AELE 24.93 20430 40827S 2b60 37 WK_=NANC5_ACT - 'ABLE 25蹈 18304 223293 堀 38 印 W.FACT.TERR.IS - -AELE * 15192 2&74S ? 39 EDW_FACT_TO_MKT_SLS_ACT_DAILY … -ABLE &4.22 [W1 ]2F66 rw | 40 "EklPJS - 'ABLE '2.63 9216 |r—- 41 印 W_FA〔T_IS』329 - "ABLE -誡 892 9&373 1024 42 EDW_FACT_TERRTOPIkFO -
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。