Oracle高級技術(shù)之大數(shù)據(jù)處理_第1頁
Oracle高級技術(shù)之大數(shù)據(jù)處理_第2頁
Oracle高級技術(shù)之大數(shù)據(jù)處理_第3頁
Oracle高級技術(shù)之大數(shù)據(jù)處理_第4頁
Oracle高級技術(shù)之大數(shù)據(jù)處理_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Oracle高級技術(shù)---大數(shù)據(jù)處理交流內(nèi)容分區(qū)技術(shù)報表優(yōu)化技術(shù)

并行處理應(yīng)用經(jīng)驗Oracle的分區(qū)技術(shù)

分區(qū)技術(shù)內(nèi)容什么是分區(qū)?分區(qū)的好處?如何實施分區(qū)?如何評估分區(qū)的效果?

Oracle的分區(qū)技術(shù)基本原理分而治之SB_ZSXX按年度進行分區(qū)2003200420052006分區(qū)概述大數(shù)據(jù)對象(表,索引)被分成小物理段當(dāng)分區(qū)表建立時,記錄基于分區(qū)字段值被存儲到相應(yīng)分區(qū)。分區(qū)字段值可以修改。(rowmovementenabled)分區(qū)可以存儲在不同的表空間分區(qū)可以有不同的物理存儲參數(shù)分區(qū)支持IOT表,對象表,LOB字段,varrays等分區(qū)技術(shù)的效益和目標(biāo)性能Select和DML操作只訪問指定分區(qū)并行DML操作Partition-wiseJoin可管理性:數(shù)據(jù)刪除,數(shù)據(jù)備份歷史數(shù)據(jù)清除提高備份性能指定分區(qū)的數(shù)據(jù)維護操作可用性將故障局限在分區(qū)中縮短恢復(fù)時間分區(qū)目標(biāo)優(yōu)先級

高性能

–>數(shù)據(jù)維護能力->實施難度

–>高可用性(故障屏蔽能力)分區(qū)方法分區(qū)方法:范圍---8Hash---8i列表---9i組合---8iRange

partitioningHash

partitioningComposite

partitioningList

partitioning123CREATETABLEsales(acct_noNUMBER(5),personVARCHAR2(30),sales_amountNUMBER(8),week_noNUMBER(2))PARTITIONBYRANGE(week_no)(PARTITIONP1VALUESLESSTHAN(4)TABLESPACEdata0,PARTITIONP2VALUESLESSTHAN(8)TABLESPACEdata1,...…PARTITIONP13VALUESLESSTHAN(53)TABLESPACEdata12);分區(qū)字段:week_no.VALUESLESSTHAN

必須是確定值每個分區(qū)可以單獨指定物理屬性123范圍分區(qū)例最早、最經(jīng)典的分區(qū)算法Range分區(qū)通過對分區(qū)字段值的范圍進行分區(qū)Range分區(qū)特別適合于按時間周期進行數(shù)據(jù)的存儲。日、周、月、年等。數(shù)據(jù)管理能力強數(shù)據(jù)遷移數(shù)據(jù)備份數(shù)據(jù)交換范圍分區(qū)的數(shù)據(jù)可能不均勻范圍分區(qū)與記錄值相關(guān),實施難度和可維護性相對較差范圍分區(qū)特點Hash分區(qū)區(qū)例例createtableCUSTOMERS(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbyhash(customer_no)partitions8storein(cust_data01,cust_data02)createtableCUSTOMERS(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbyhash(customer_no)(partitioncust_p01tablespacecust_data01,partitioncust_p02tablespacecust_data02,partitioncust_p03tablespacecust_data03,partitioncust_p04tablespacecust_data04,partitioncust_p05tablespacecust_data05,partitioncust_p06tablespacecust_data06,partitioncust_p07tablespacecust_data07,partitioncust_p08tablespacecust_data08)Hash分區(qū)特點基于分區(qū)字段段的HASH值,自動將記記錄插入到指指定分區(qū)。分區(qū)數(shù)一般是是2的冪易于實施總體性能最佳佳適合于靜態(tài)數(shù)數(shù)據(jù)HASH分區(qū)適合于數(shù)數(shù)據(jù)的均勻存存儲HASH分區(qū)特別適合合于PDML和partition-wisejoins。。支持(hash)localindexes9i不支持(hash)globalindexes10g支持(hash)globalindexesHASH分區(qū)數(shù)據(jù)管理能力力弱HASH分區(qū)對數(shù)據(jù)值值無法控制列表分區(qū)例createtableaddresses(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbylist(city_name)(partitionaddr_p01values('WELLINGTON')tablespaceaddr_data01,partitionaddr_p02values('CHRISTCHURCH')tablespaceaddr_data02,partitionaddr_p03values('DUNEDIN','INVERCARGILL')tablespaceaddr_data03,partitionaddr_p04values('AUCKLAND')tablespaceaddr_data04,partitionaddr_p05values('HAMILTON','ROTORUA','TAURANGA')tablespaceaddr_data05)列表表分分區(qū)區(qū)特特點點List分區(qū)區(qū)通通過過對對分分區(qū)區(qū)字字段段的的離離散散值值進進行行分分區(qū)區(qū)。。List分區(qū)區(qū)是是不不排排序序的的,,而而且且分分區(qū)區(qū)之之間間沒沒有有關(guān)關(guān)聯(lián)聯(lián)關(guān)關(guān)系系List分區(qū)區(qū)適適合合于于對對數(shù)數(shù)據(jù)據(jù)離離散散值值進進行行控控制制。。List分區(qū)區(qū)只只支支持持單單個個字字段段。。List分區(qū)區(qū)具具有有與與范范圍圍分分區(qū)區(qū)相相似似的的優(yōu)優(yōu)缺缺點點數(shù)據(jù)據(jù)管管理理能能力力強強List分區(qū)區(qū)的的數(shù)數(shù)據(jù)據(jù)可可能能不不均均勻勻List分區(qū)區(qū)與與記記錄錄值值相相關(guān)關(guān),,實實施施難難度度和和可可維維護護性性相相對對較較差差復(fù)合合分分區(qū)區(qū)例例createtabledaily_trans_data(...columndefinitions...)partitionbyrange(trans_datetime)subpartitionbyhash(customer_no)subpartitions8storein(dtd_data01,dtd_data02)(partitiondtd_20010620valueslessthan(to_date('21-jun-2001','dd-mon-yyyy'))(subpartitiondtd_20010620_s01,subpartitiondtd_20010620_s02,subpartitiondtd_20010620_s03tablespacedtd_data03,subpartitiondtd_20010620_s04tablespacedtd_data04,subpartitiondtd_20010620_s05tablespacedtd_data05,subpartitiondtd_20010620_s06tablespacedtd_data06,subpartitiondtd_20010620_s07tablespacedtd_data07,subpartitiondtd_20010620_s08tablespacedtd_data08),partitiondtd_20010621valueslessthan(to_date('22-jun-2001','dd-mon-yyyy')),partitiondtd_20010622valueslessthan(to_date('23-jun-2001','dd-mon-yyyy'))subpartitions4)復(fù)合分區(qū)圖示示復(fù)合分區(qū)特點點Oracle支持的Composite分區(qū):Range-Hash,Range-List既適合于歷史史數(shù)據(jù),又適適合于數(shù)據(jù)均均勻分布與范圍分區(qū)一一樣提供高可可用性和管理理性更好的PDML和partition-wisejoins性能實現(xiàn)粒度更細(xì)細(xì)的操作支持復(fù)合localindexes不支持復(fù)合compositeglobalindexes?分區(qū)索引不分區(qū)分區(qū)不分區(qū)

分區(qū)表索引√√√√GlobalNonpartitionedindexLocalpartitionedindexGlobalPartitionedIndex不同的分區(qū)索索引紹興杭州溫州03年04年…08年分區(qū)索引分區(qū)表索引的的分類:LocalPrefixedindexLocalNon-prefiexedindexGlobalPrefixedindexNonPartitionIndexGlobal索引的分區(qū)不不同與表分區(qū)區(qū)Local索引的分區(qū)與與表分區(qū)相同同Anindexisprefixedifitispartitionedonaleftprefixoftheindexcolumns.分區(qū)表上的非非分區(qū)索引等等同于Global索引分區(qū)索引Global索引必須是范范圍分區(qū)---9i之前Global索引可以是HASH分區(qū)--10g新特性Global索引不支持Bitmap索引Unique索引必須是prefixed,或者包含分區(qū)區(qū)字段Local索引(non-prefixed,non-unique)可以不包含分分區(qū)字段createindexcust_idx1oncustomers(customer_name)globalpartitionbyrange(customer_name)(partitioncust_p01valueslessthan(‘H’’)tablespacecust_index01,partitioncust_p02valueslessthan(‘N’)tablespacecust_index02,partitioncust_p03valueslessthan(‘T’’)tablespacecust_index03,partitioncust_p04valueslessthan(MAXVALUE)tablespacecust_index04)createindexcust_idx2oncustomers(customer_no)local(partitioncust_idx_p01tablespacecust_index01,partitioncust_idx_p02tablespacecust_index02,partitioncust_idx_p03tablespacecust_index03,partitioncust_idx_p04tablespacecust_index04,partitioncust_idx_p05tablespacecust_index05,partitioncust_idx_p06tablespacecust_index06,partitioncust_idx_p07tablespacecust_index07,partitioncust_idx_p08tablespacecust_index08)createindexcust_idx3oncustomers(customer_type)local;分區(qū)索索引舉舉例分區(qū)表表索引引的使使用OLTP系統(tǒng)中中的建建議Global和uniquelocalindex性能優(yōu)優(yōu)于nonuniquelocalindexLocalindex提供了了更好好的可可用性性數(shù)據(jù)倉倉庫系系統(tǒng)中中的建建議Localindex更適合合于數(shù)數(shù)據(jù)裝裝載和和分區(qū)區(qū)維護護在大量量數(shù)據(jù)據(jù)統(tǒng)計計時,,能充充分利利用Localindex并行查查詢能能力在性能能、高高可用用性和和可管管理性性之間間進行行平衡衡分區(qū)索索引選選擇策策略分區(qū)裁裁剪功功能Partitionpruning:Onlytherelevantpartitionsareaccessed.99-May99-Apr99-Feb99-Jan99-Mar99-JunsalesSQL>SELECTSUM(sales_amount)2FROMsales3WHEREsales_dateBETWEEN4TO_DATE(‘‘01-MAR-1999’’,5‘‘DD-MON-YYYY’’)AND6TO_DATE(‘‘31-MAY-1999’’,7‘‘DD-MON-YYYY’’);分區(qū)區(qū)裁裁剪剪舉舉例例1select*fromdaily_trans_summ2*wheretrans_datetimebetweento_date('25-jun-200108','DD-mon-yyyyhh24')andto_date('28-jun-200118','DD-mon-yyyyhh24')PartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONRANGEITERATOR231234TABLEACCESSFULLDAILY_TRANS_SUMM2312341select*fromdaily_trans_summ2*wheretrans_datetimein('25-jun-2001','28-jun-2001')PartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONRANGEINLISTKEY(INLIST)KEY(INLIST)TABLEACCESSFULLDAILY_TRANS_SUMMKEY(INLIST)KEY(INLIST)Nonpartition-wisejoinFullpartition-wisejoinPartialpartition-wisejoinQueryslavePartitionPartitionedtable123Partition-WiseJoinPartition-wiseJoinsTablesandindexesthatarepartitionedidenticallyareequi-partitioned.Afullpartition-wisejoinoccurswhenjoiningtwoequi-partitionedtablesthatarepartitionedonthejoinkey.Oraclesplitsthejoinintojoinsofpairsofpartitions.Apartialpartition-wisejoinoccurswhenonlyoneofthetablesispartitionedonthejoinkey.Partition-wisejoinsoccurwhenjoiningahashpartitiontabletOracleassignsparallelqueryslavestoprocessthepartitionjoins.Partition-wiseJoins舉例1select/*+full(c)*/c.customer_no,count(*)2fromcustomersc,daily_trans_datad3wherec.customer_no=d.customer_no4andd.trans_datetimebetweento_date('25-jun-2001','dd-mon-yyyy')5andto_date('28-jun-2001','dd-mon-yyyy')6*groupbyc.customer_noPartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONHASHALL18SORTGROUPBYHASHJOINPARTITIONRANGEITERATOR5053TABLEACCESSFULLDAILY_TRANS_DATA393424TABLEACCESSFULLCUSTOMERS18分區(qū)表設(shè)計計原則表的大?。海寒?dāng)表的大大小超過1.5GB-2GB,或?qū)τ贠LTP系統(tǒng),表的的記錄超過過1000萬,都應(yīng)考考慮對表進進行分區(qū)。。數(shù)據(jù)訪問特特性:基于于表的大部部分查詢應(yīng)應(yīng)用,只訪訪問表中少少量的數(shù)據(jù)據(jù)。對于這這樣表進行行分區(qū),可可充分利用用分區(qū)排除除無關(guān)數(shù)據(jù)據(jù)查詢的特特性。數(shù)據(jù)維護::按時間段段刪除成批批的數(shù)據(jù),,例如按月月刪除歷史史數(shù)據(jù)。對對于這樣的的表需要考考慮進行分分區(qū),以滿滿足維護的的需要。數(shù)據(jù)備份和和恢復(fù):按時間周期期進行表空空間的備份份時,將分分區(qū)與表空空間建立對對應(yīng)關(guān)系。。只讀數(shù)據(jù)::如果一個個表中大部部分?jǐn)?shù)據(jù)都都是只讀數(shù)數(shù)據(jù),通過過對表進行行分區(qū),可可將只讀數(shù)數(shù)據(jù)存儲在在只讀表空空間中,對對于數(shù)據(jù)庫庫的備份是是非常有益益的。并行數(shù)據(jù)操操作:對于于經(jīng)常執(zhí)行行并行操作作(如ParallelInsert,ParallelUpdate等)的表應(yīng)應(yīng)考慮進行行分區(qū)。表的可用性性:當(dāng)對表表的部分?jǐn)?shù)數(shù)據(jù)可用性性要求很高高時,應(yīng)考考慮進行表表分區(qū)。分區(qū)表的管管理功能分區(qū)的增加加(ADD)分區(qū)的刪除除(DROP))分區(qū)的合并并(MERGE)分區(qū)的清空空(TRUNCATE)分區(qū)的交換換(EXCHANGE)分區(qū)的壓縮縮(COALESE))分區(qū)的移動動(MOVE)分區(qū)的分離離(SPLIT)修改分區(qū)的的DefaultAttribute分區(qū)的更名名(RENAME)分區(qū)索引的的管理功能能分區(qū)索引的的刪除(DROP))分區(qū)索引的的修改(MODIFY)分區(qū)索引DefaultAttribute的修改分區(qū)索引的的重建(REBUILD))分區(qū)索引的的更名(RENAME)分區(qū)索引的的分離(SPLIT)分區(qū)索引的的Unusable分區(qū)表和Local索引OCT

2002SEP

2002AUG2002NOV

2001OCT

2001新月份數(shù)據(jù)據(jù)的加載和和索引的維維護NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002...“滾動窗口口”操作-大量量數(shù)據(jù)高速速裝載OCT

2002SEP

2002NOV

2002NOV

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001NOV

2002刪除或歸檔檔最老月份份的數(shù)據(jù)OCT

2001OCT

2001新月份數(shù)據(jù)據(jù)的加載和和索引的維維護...分區(qū)表和Local索引“滾動窗口口”操作-大量量數(shù)據(jù)高速速裝載分區(qū)交換功功能通過交換數(shù)數(shù)據(jù)段,實實現(xiàn)分區(qū)和和非分區(qū)表表的數(shù)據(jù)交交換。以及及子分區(qū)和和分區(qū)表的的數(shù)據(jù)交換換非??旖莸牡臄?shù)據(jù)移動動方式。特特別是沒有有validation和索引維護護操作時Local索引自動維維護Global索引必須重重建分區(qū)交換的的應(yīng)用---全文文檢索12:00分區(qū)BF_DXX_stage中間表(1)1:00數(shù)據(jù)的加載載(2)建立context索引(3)partition的exchangeBF_DXX表*初始化化工作*整理工工作……2:00分分區(qū)1:00分區(qū)分區(qū)交換的的應(yīng)用---全文文檢索第一步:1:00數(shù)數(shù)據(jù)的加載載insertintoBF_DXX_stage(SJ,TEXT3)values(to_date('2004.03.02','YYYY.MM.DD'),'大撒反對撒撒');第二步:建建立context索引CREATEINDEXIDX_BF_DXX_STAGEONBF_DXX_stage(text3)INDEXTYPEISCTXSYS.CONTEXTPARAMETERS('LEXERMYLEXERSTORAGEMYSTOREFILTERCTXSYS.NULL_FILTERMEMORY100M')parallel4;第三步:partition的交換altertableBF_DXXexchangepartitionp2withtableBF_DXX_stageincludingindexes;遷移表空間間(Transportabl第一步::exptransport_tablespace=yes第二步::FTP數(shù)據(jù)文件件和dmp文件第三步::imptransport_tablespace=yes地市系統(tǒng)imp卸載文件省級系統(tǒng)FTP數(shù)據(jù)文件卸載文件數(shù)據(jù)文件exp遷移表空空間技術(shù)術(shù)的作用用業(yè)務(wù)系統(tǒng)統(tǒng)數(shù)據(jù)向向數(shù)據(jù)倉倉庫系統(tǒng)統(tǒng)的遷移移對業(yè)務(wù)系系統(tǒng)和數(shù)數(shù)據(jù)倉庫庫系統(tǒng)的的數(shù)據(jù)進進行定期期歸檔數(shù)據(jù)倉庫庫向數(shù)據(jù)據(jù)集市的的數(shù)據(jù)遷遷移數(shù)據(jù)對外外發(fā)布按表空間間進行時時間點的的數(shù)據(jù)恢恢復(fù)(TSPITR)遷移表空間間技術(shù)的優(yōu)優(yōu)點性能大大高高于export/import或PL/SQL編寫的程序序由于Dmp文件只包含含表空間的的結(jié)構(gòu)信息息,因此該該技術(shù)的真真正開銷在在于數(shù)據(jù)文文件的傳輸輸。對源系統(tǒng)的的影響非常常小只需要將被被遷移的表表空間設(shè)置置為只讀方方式可同時傳輸輸索引數(shù)據(jù)據(jù),避免在在目的數(shù)據(jù)據(jù)庫中重建建索引分區(qū)交換的的應(yīng)用---ETL在源系統(tǒng)中中,將需要要抽取的數(shù)數(shù)據(jù)以如下下語句形式式,抽取到到建立在單單獨表空間間上的中間間表中:CREATETABLE...ASSELECT…INSERT/*+APPEND*/ASSELECT…以TTS方式將將中間間表的的表空空間傳傳輸?shù)降綌?shù)據(jù)據(jù)倉庫庫之中中。exptransportable_tablespace=Yes…FTP中間表表表空空間的的數(shù)據(jù)據(jù)文件件imptransportable_tablespace=Yes…在數(shù)據(jù)據(jù)倉庫庫中對對中間間表進進行各各種數(shù)數(shù)據(jù)歸歸并等等清洗洗工作作,并并建立立需要要的各各種索索引。。通過exchange技術(shù),,將中中間表表數(shù)據(jù)據(jù)及索索引直直接交交換到到分區(qū)區(qū)表中中。Altertable<分區(qū)表表>exchangepartition<分區(qū)名名>withtable<中間表表>includingindexes;分區(qū)交交換的的應(yīng)用用---重復(fù)記記錄刪刪除問題描描述::在在使用用SQL*Loader進行數(shù)據(jù)加載載sor_acct_dcc_saamt_c表時,由于操操作失誤,重重復(fù)加載,導(dǎo)導(dǎo)致分區(qū)ETL_LOAD_DATE_0606出現(xiàn)重復(fù)記錄錄,也使得兩兩個唯一索引引:IDX_SAACNAMT_C_1,IDX_SAACNAMT_C_2的ETL_LOAD_DATE_0606分區(qū)不可用((UNUSABLE)。用戶在試圖重重新創(chuàng)建該分分區(qū)索引時,,出現(xiàn)如下錯錯誤:SQL>alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606;alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606*ORA-01452:cannotCREATEUNIQUEINDEX;duplicatekeysfound分區(qū)交換的應(yīng)應(yīng)用---重復(fù)記錄刪除除在試圖刪除該該分區(qū)的重復(fù)復(fù)記錄時,又又出現(xiàn)如下錯錯誤:SQL>deletefromsor_acct_dcc_saamt_cpartition(ETL_LOAD_DATE_0606)whererowidnotin(selectmin(rowid)fromsor_acct_dcc_saamt_cpartition(ETL_LOAD_DATE_0606)groupbyETL_LOAD_DATE,CUST_ACCT_NO,SA_CURR_COD,SA_CURR_IDEN);*ORA-01502:index'GYFX.IDX_SAACNAMT_C_1'orpartitionofsuchindexisinunusablestate分區(qū)交換的應(yīng)應(yīng)用---重復(fù)記錄刪除除簡單辦法是徹徹底刪除這兩兩個唯一索引引,重新創(chuàng)建建。數(shù)據(jù)量大,時時間太長。影響系統(tǒng)的可可用性。更完備的解決決方式創(chuàng)建一個與sor_acct_dcc_saamt_c結(jié)構(gòu)一樣的臨臨時表test。SQL>createtabletestasselect*fromsor_acct_dcc_saamt_cwhere1=2;將sor_acct_dcc_saamt_c表分區(qū)ETL_LOAD_DATE_0606數(shù)據(jù)交換到臨臨時表test。SQL>altertablesor_acct_dcc_saamt_cexchangepartitionETL_LOAD_DATE_0606withtabletest;分區(qū)交換的應(yīng)應(yīng)用---重復(fù)記錄刪除除更完備的解決決方式刪除test中的重復(fù)記錄錄deletefromtestwhererowidnotin(selectmin(rowid)fromtestgroupbyETL_LOAD_DATE,CUST_ACCT_NO,SA_CURR_COD,SA_CURR_IDEN);因為test表沒有任何索索引,可避免免上述ORA-01502錯誤。將臨時表test數(shù)據(jù)交換回sor_acct_dcc_saamt_c表分區(qū)ETL_LOAD_DATE_0606。altertablesor_acct_dcc_saamt_cexchangepartitionETL_LOAD_DATE_0606withtabletest;分區(qū)交換的應(yīng)應(yīng)用---重復(fù)記錄刪除除更完備的解決決方式重新創(chuàng)建創(chuàng)建建該分區(qū)索引引IDX_SAACNAMT_C_1,IDX_SAACNAMT_C_2alterindexIDX_SAACNAMT_C_1rebuildpartitionETL_LOAD_DATE_0606tablespaceETL0_R_LOAD_IDX_200606;alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606tablespaceETL0_R_LOAD_IDX_200606;此時重復(fù)記錄錄已經(jīng)刪除,,可避免上述述ORA-01452錯誤現(xiàn)有系統(tǒng)實施施分區(qū)的經(jīng)驗驗分區(qū)對象的確確定:存儲空空間最大的前前20個表Select*from(Select*fromdba_segmentsorderbybytesdesc)whererownum<=20;分析大表的操操作行為Select*from(Selectsql_text,executionsfromv$sqlareawhereupper(sql_text)like‘%SB_ZSXX%’orderbyexecutionsdesc)whererownum<=20;綜合其它分分區(qū)因素的的考慮:性性能,數(shù)據(jù)據(jù)遷移,備備份,高可可用性,可可維護性分區(qū)的評估估性能方面相應(yīng)速度資源消耗((CPU、內(nèi)存、I/O)性能分析工工具的使用用:OracleTrace,Autotrace,TKPROF其它方面數(shù)據(jù)遷移能能力數(shù)據(jù)備份和和恢復(fù)數(shù)據(jù)擴展性性(Add,Drop,Exchange,Merge,…)數(shù)據(jù)高可用用性O(shè)racle報表優(yōu)化技技術(shù)報表處理問問題報表處理是是大部分IT系統(tǒng)是最耗時、最最消耗資源源的模塊報表處理,,主要通過過FormulaOne、BO等報表處理工工具實現(xiàn)SQL語句基本都都是各種統(tǒng)統(tǒng)計運算語語句。…SUM…GROUPBY各種報表的的表格單元元都是統(tǒng)計計運算語句句生成。統(tǒng)統(tǒng)計運算語語句量非常常大統(tǒng)計運算語語句,基本本都是從一一些交易明明細(xì)表或基基表,直接接進行匯總總運算操作作其他匯總數(shù)數(shù)據(jù)按月匯總的的逾期未歸還還貸款本金金的統(tǒng)計查詢交易明細(xì)查詢自動重寫匯總數(shù)據(jù)管管理-物物化視圖圖MaterializedView遼寧省和四四川省逾期91--180天天未歸還貸貸款本金的的貸款用戶戶總數(shù)?按地區(qū)匯總總的逾期未歸還還貸款本金金的統(tǒng)計物化視圖SQL查詢的實例例化物化視圖可可以設(shè)置成成查詢重寫寫功能刷新類型:CompleteorFastForceorNever刷新模式:ManualAutomated(同步或異步步)查詢重寫概概述查詢物化視視圖,而不不是基表,,將極大提提高查詢統(tǒng)統(tǒng)計性能。。查詢重寫功功能對應(yīng)用用透明。不不需要特殊殊權(quán)限。查詢重寫與大小寫無無關(guān)不支持子查查詢物化視圖創(chuàng)創(chuàng)建例SQL>CREATEMATERIALIZEDVIEWsales_summary2TABLESPACEusers3PARALLEL(DEGREE4)4BUILDIMMEDIATE5ENABLEQUERYREWRITE6AS7SELECTd_name,8SUM(s.quantity_sold),8SUM(s.amount_sold)9FROMsaless,productsp10WHEREd_id=d_id11GROUPBYd_name;物化視圖創(chuàng)創(chuàng)建和查詢詢重寫例SQL>SELECTd_name,SUM(s.quantity_sold),2SUM(s.amount_sold)3FROMsaless,productsp4WHEREd_id=d_id5GROUPBYd_name;SQL>selectoperation,object_name2fromv$sql_plan3whereobject_namelike'SALES%';OPERATIONNAME---------------------------------------SELECTSTATEMENTTABLEACCESSSALES_SUMMARY報表優(yōu)化的基基本思路以報表為單位位,分析現(xiàn)有有報表的SQL語句??偨Y(jié)統(tǒng)統(tǒng)計運算SQL的共同規(guī)律,,作為設(shè)計物物化視圖的考考慮對象。定義相應(yīng)的物物化視圖。包包括SQL查詢語句的編編寫,刷新方方式的確定等等評價原有統(tǒng)計計運算SQL語句的執(zhí)行計計劃,是否被被Oracle查詢重寫到相相應(yīng)的物化視視圖評價如何在物物化視圖上創(chuàng)創(chuàng)建索引評估所有物化化視圖數(shù)據(jù)和和索引的空間間消耗情況,,從而確定物物化視圖數(shù)據(jù)據(jù)和索引表空空間的容量報表優(yōu)化示例例現(xiàn)有統(tǒng)計運算算語句SELECTts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,sum(ts_dyna.VIP_ACCT_ALL.T1)/100,sum(ts_dyna.VIP_ACCT_ALL.T29)/100))/100FROMts_stab.VIP_ORG_STAFF,ts_dyna.VIP_ACCT_ALLWHERE(ts_dyna.VIP_ACCT_ALL.STAFF_ID=ts_stab.VIP_ORG_STAFF.STAFF_ID)AND(((ts_stab.VIP_ORG_STAFF.VIP_ORGAN3)='org2'OR'ALL'='org2')AND((ts_stab.VIP_ORG_STAFF.VIP_ORGAN2)='ALL'OR'ALL'='ALL')AND((ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE)>='200401'AND(ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE)<='200401'))GROUPBYts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME報表優(yōu)化示示例物化視圖定定義CREATEMATERIALIZEDVIEWMV_01TABLESPACETS_TAB_DYNPARALLEL(DEGREE2)BUILDIMMEDIATEREFRESHCOMPLETEONDEMANDENABLEQUERYREWRITEASSELECTts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE,sum(ts_dyna.VIP_ACCT_ALL.T1),sum(ts_dyna.VIP_ACCT_ALL.T29)FROMts_stab.VIP_ORG_STAFF,ts_dyna.VIP_ACCT_ALLWHERE(ts_dyna.VIP_ACCT_ALL.STAFF_ID=ts_stab.VIP_ORG_STAFF.STAFF_ID)GROUPBYts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE報表優(yōu)化示示例TABLESPACETS_TAB_DYN:物化視圖MV_01存放的表空空間。建議議為物化視視圖單獨設(shè)設(shè)立表空間間PARALLEL(DEGREE2):并行度設(shè)計計為2(與與目前的CPU個數(shù)相等))BUILDIMMEDIATE:創(chuàng)建MV_01的同時,產(chǎn)產(chǎn)生匯總數(shù)數(shù)據(jù)REFRESHCOMPLETEONDEMAND:完全刷新ENABLEQUERYREWRITE::啟動查詢語語句重寫功功能報表優(yōu)化示示例SELECT短語應(yīng)包含含的字段原SELECT語句的所有有非統(tǒng)計運運算字段。。ts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,原SELECT語句中所有有查詢條件件涉及到的的字段。如如:ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE,原子化(Primitive)的統(tǒng)計運算算字段。即即去掉表達達式的統(tǒng)計計運算字段段sum(ts_dyna.VIP_ACCT_ALL.T1),sum(ts_dyna.VIP_ACCT_ALL.T29),報表優(yōu)化示示例創(chuàng)建物化視視圖上的索索引createindexidx_MV_01_01onMV_01(VIP_ORGAN3)tablespaceTS_IND_DYNA;物化視圖上上的刷新定期執(zhí)行如如下命令,,可自動進進行物化視視圖的刷新新execdbms_mview.refresh('TS_DYNA.MV_01');報表優(yōu)化示示例初始化參數(shù)數(shù)的設(shè)置query_rewrite_enabled:TRUEquery_rewrite_integrity:STALE_TOLERATED權(quán)限方面的的設(shè)置grantCREATEANYMATE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論