Oracle調(diào)優(yōu)總結(jié)收藏_第1頁
Oracle調(diào)優(yōu)總結(jié)收藏_第2頁
Oracle調(diào)優(yōu)總結(jié)收藏_第3頁
Oracle調(diào)優(yōu)總結(jié)收藏_第4頁
Oracle調(diào)優(yōu)總結(jié)收藏_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1Oracle調(diào)優(yōu)總結(jié)收藏〔轉(zhuǎn)〕上一篇/下一篇

2021-02-2516:06:23/個人分類:Oracle查看(339)/評論(1)/評分(0/0)ProblemDescription:

1.每個表的結(jié)構(gòu)及主鍵索引情況

2.每個表的count(*)記錄是多少

3.對于創(chuàng)立索引的列,索引的類型是什么?count(distinctindexcol)的值是多少?

4.最后一次對表進(jìn)行分析是在什么時間,分析后,是否又對相關(guān)表做過大的操作

5.索引最后一次rebuild,是在什么時間,此后對表的操作類型又是什么狀況?索引中浪費(fèi)的空間是多少?

6.這些表的存儲情況,表的存儲參數(shù),表空間的類型,存儲參數(shù)等

7.執(zhí)行該SQL語句時,系統(tǒng)等候的資源是什么?TraceSQL語句的執(zhí)行過程

8.另一臺執(zhí)行相似SQL速度很快的機(jī)器上的相關(guān)表的如上信息是什么?一:SQLtuning類

1:列舉幾種表連接方式

hashjoin/mergejoin/nestloop(clusterjoin)/indexjoin2:不借助第三方工具,怎樣查看sql的執(zhí)行方案

setautotraceon

setautotracetraceonlyexplainplansetstatement_id=&item_idfor&sql;

select*fromtable(dbms_xplan.display);

.../b10752/ex_plan.htm螺3:值如何莊使用槐CB王O,習(xí)CB寺O與學(xué)RU縱LE除的區(qū)酬別

騾在o愉pt躲im套iz喉er咸_m卡od傅e=豐ch您oo要se服時,貢如果戰(zhàn)表有精統(tǒng)計暖信息嚼〔分性區(qū)表涼外〕末,優(yōu)麻化器煉將選秋擇C拜BO醉,否錄那么選錫RB決O。跟

鉛RB爹O遵睡循簡朝單的說分級禮方法芳學(xué),質(zhì)使用場15抄種級健別要臣點(diǎn),虜當(dāng)接蘆收到電查詢緩,優(yōu)菜化器答將評站估使蜂用到查的要帥點(diǎn)數(shù)螺目,

民然后赴選擇范最正確子級別牌〔最縣少的晃數(shù)量聚〕的重執(zhí)行宏路徑報來運(yùn)雖行查捏詢。

羨CB黑O嘗讓試找種到最壓低成盯本的證訪問愈數(shù)據(jù)寸的方警法,減為了褲最大壇的吞虜吐量揮或最榜快的窯初始真響應(yīng)蘭時間丘,計防算使輛用不桃同

流的執(zhí)晌行計呼劃的俱本錢詢,并寧選擇般本錢圾最低叼的一厲個,災(zāi)關(guān)于羽表的劃數(shù)據(jù)湊內(nèi)容店的統(tǒng)要計被驕用于舟確定江執(zhí)行等方案不。室4:浩如何愈定位笑重要榨(消鏈耗資吳源多供)的阿SQ肺L

丈se昂le列ct腿s祥ql利_t亂ex器t

璃fr奉om豬v耽$s醋ql炒

據(jù)wh粗er謙e稅di采sk哥_r荷ea點(diǎn)ds鳴>殲1賓00棍0靜or逗(礙ex映ec戚ut鄙io傷ns睬>吹0看a辯nd奴b牢uf肆fe財r_棵ge貢ts滾/e腿xe眉cu育ti饞on京s議>隔30土00體0)完;央5:獅如何林跟蹤涉某個放se欺ss惑io納n的兔SQ仿L

北ex基ec板d賤bm錦s_修sy眨st勝em嚼.s柏et換_s民ql扭_t轟ra攀ce總_i海n_秩se狂ss泰io膚n(劣si框d,愿se隙ri喉al來#,谷&s雖ql戰(zhàn)_t扇ra買ce淡);伐se初le包c(diǎn)t林s邪id勞,s址er過ia斧l#符f識ro夸m貝v$始se乘ss尾io枝n府wh傻er仗e爐si附d壯=涂(s信el嗎ec怪t嘉si喚d賠fr青om閃v綢$m前ys故ta插t賞wh員er護(hù)e黃ro前wn襪um翅=謊1撇);

鴨ex躲ec夢d較bm寇s_碰sy陳st錫em卷.s秧et正_e醬v(桐&s岸id愿,&斷se量ri薪al嘗#,麥&e爹ve高nt拔_1妖00意46生,&伴le論ve燕l(xiāng)_鋤12酷,'吳')誤;雷6:冊SQ成L調(diào)升整最早關(guān)注株的是瞞什么

納查看腫該S謠QL接的r薪es炮po嚇ns罩e姥ti后me個(d米b梯bl啞oc錄k緊ge銷ts頌/c選on藝si伐st秒en聚t然ge喉ts毒/p伶hy燦si恥c私al翼r繭ea冒ds椒/s翼or撤ts孩(戲di幼sk暗))累7:涌說說批你比照索引報的認(rèn)堅識〔骨索引招的結(jié)除構(gòu)、羨對d賤ml蓮影響步、為府什么壓提高捐查詢罩性能悔〕

賓b-星tr展ee播i演nd閥ex搏/b敗it指ma鉛p皆in知de豐x/線fu自nc堪ti泄on夏i忽nd祥ex們/p猾at戴it桃io朽na瞞l敢in且de漁x(濁lo全ca摧l/媽gl香ob脆al小)

刊索引鑄通常刷能提觸高s蘋el紋ec紛t/列up蹤da垮te析/d坦el師et諸e的粒性能紫,會蓄降低腥in完se嘩rt團(tuán)的速及度,

趟8:淘使用梳索引彈查詢磁一定峰能提垃高查要詢的塔性能咳嗎?疊為什術(shù)么

羊索引首就是燃為了對提高牽查詢餡性能劃而存票在的常,

猾如果赴在查憂詢中嘆索引亭沒有類提高震性能夜,

拜只能采說是而用錯灰了索鉗引,該或者紐講是姑場合散不同首9:穗綁定對變量犁是什健么?辟綁定炸變量慰有什沸么優(yōu)挽缺點(diǎn)漿?

系綁定微變量末是相待對文靜本變賢量來蘆講的士,所平謂文并本變趁量是聾指在跨SQ櫻L直腥接書沉寫查獸詢條監(jiān)件,

秀這樣樸的S言QL逆在不訴同條熔件下頃需要遭反復(fù)或解析乳,綁孫定變親量是折指使說用變拘量來集代替疲直接烘書寫省條件妻,

之查詢已bi反nd弓v珍al腔ue舞在運(yùn)厚行時留傳遞箱,然憂后綁彩定執(zhí)怎行。

擴(kuò)優(yōu)點(diǎn)囑是減棄少硬蔑解析津,降洽低C緣PU蜘的爭刮用,卵節(jié)省也sh獨(dú)ar乞ed萍_p仿oo胖l

摘缺點(diǎn)決是不尸能使杏用h卻is所to生gr壘am拴,s渴ql盼優(yōu)化陰比擬遍困難勞10且:如錄何穩(wěn)籮定(浸固定寺)執(zhí)發(fā)行計猶劃

衰qu慣er枝y_差re質(zhì)wr噴it及e_施en逗ab壓le錦d源=適tr顧ue

位st行ar浪_t蔥ra桐ns傷f其or擦ma嬸ti煮on江_e堵na秋bl稅ed別=淚t鄙ru謝e

瞧op丟ti那mi擠ze瓦r_朝fe徒at蜜ur據(jù)es隨_e妄na唉bl宜e婚=蔑9.率2.縫0擾創(chuàng)立剃并使烤用s臟to岔re臣d碗ou犯tl扒in店e

賀ht嚷tp韻:/帳/d帆ow晶nl漁oa巴d-找we搶st默.o荷ra積cl穴e.姑co仗m/絨.鼻..殊/帶ou端tl購in稼es短.h啞tm件#2柳68呈54

班這個儲貼子厘:

咱ht窗tp拖:/橡/w聾ww亭.c菌no舉ug壁.o返rg草/v者ie井wt大hr鋒ea付d.獄ph誘p?駐ti榴d=剃27跟59釘8

鞋11轎:和喜排序竄相關(guān)析的內(nèi)夠存在垃8i朗和9恨i分嚼別怎桃樣調(diào)詳整,那臨時演表空座間的鐮作用謙是什擴(kuò)么

守8吳i中撇so炕rt里_a干re最a_燕si獸ze克/s固or要t_撲ar住ea彎_r腹et板ai勉ne濟(jì)d_諸si紙ze藥決定械了排村序所承需要困的內(nèi)智存

響如果懷排序案操作飲不能臂在s騾or哀t_備ar竄ea饅_s冷iz的e中干完成仁,就朝會用典到t裁em錄p表湖空間徒

等9i悶中如膠果w報or添ka船re瑞a_伴si粒ze制_p濤ol返ic遮y=誕au胃to鋒時,

府排序君在p納ga脊內(nèi)進(jìn)遵行,擱通常煮pg餅a_貸ag莫gr秋eg并at事e_哄ta燦rg補(bǔ)et腫的緩1/找20脫可以亞用來勤進(jìn)行綠di風(fēng)sk膝s映or休t;

菌如果糞wo迷rk訂ar聞ea智_s僻iz聚e_抗po久li容cy倆=m典an虜ua晃l時鐘,排溜序需芳要的壩內(nèi)存養(yǎng)由s特or蝶t_綢ar趟ea濁_s茂iz叫e決呼定地

傘在滴執(zhí)行塌or踩de御r巷by仍/g怒ro噴up明b環(huán)y/些di糧st兇in毀ct恭/u仙ni釀on視/c碌re貪at顫e塑in傘de采x/誘in嶄de側(cè)x辛re估bu司il精d/楊mi燃nu厚s等代操作眠時,

暮如果點(diǎn)在p鋒ga群或s諒or乳t_門ar竹ea卸_s至iz憂e中密不能搞完成競,排愿序?qū)栽谂R寫時表戀空間歷進(jìn)行榮〔d艱is盜k磁so瑞rt威〕,

粒臨時披表空逃間主貧要作湯用就壯是完茄成系撐統(tǒng)中絡(luò)的d枕is背k矩so脆rt穩(wěn).且12皂:存毛在表午T(融a,售b,筒c,雙d)掀,要熄根據(jù)劣字段斥c排朗序后狹取第琴21芬—3教0條順記錄嶼顯示橫,請呈給出權(quán)sq報l

惰c耗re間at濤e尋ta深bl月e罩t(鍬a傳nu驅(qū)mb換er帥(,邁b嫩nu渣mb魂er旗(,蟲c亮nu冷mb武er塵(,夜d映nu翠mb嶼er擺()常;

院/

富be臺gi冰n

故fo屆r油i鎖in殿1殲.傘.溫30虎0摸lo象op

陰in弓se螞rt溉i抹nt許o恐t侵va阿lu范es篇(m扯od筋(i串,2餐),啟i/掠2,莫db猛ms窄_r檔an蟻do取m.健va村lu紫e(頁1,領(lǐng)30明0)口,i司/4獎);

購en豈d運(yùn)lo殲op噸;

選en牛d;

商/

軌s牙el附ec繞t累*墓fr愉om紋(糾se偏le耗ct后著c.卡*,統(tǒng)ro愿wn世um舉a馳s節(jié)rn忽f虜ro粥m姥(s活el下ec語t視*仍fr敬om附t仍o竿rd紙er紗b味y斗c量de慈sc擾)衣c)疊w震he鬼re酸r教n批be棵tw讀ee搜n龜21雨a慧nd杏3蓋0;

腫/

昆se賄le可ct習(xí)*拋f術(shù)ro志m咬(s緣el灘ec蓄t芳*菜fr臥om錦t回es際t西or蛛de杏r聚by遙c犧d筍es型c)住x騙w總he類re壟r址ow企nu株m淡<灰30

帖mi咬nu升s

康s渣el逝ec脾t育*半fr少om扣(督se削le蓮ct瞞*債f燕ro寫m適te肢st紹o侵rd何er腔b蝴y規(guī)c孤de脖sc伯)蘋y彩wh研er宿e倦ro鍵wn另um宜<紅2豐0斧or耀de丹r慢by音3陪d骨es褲c

察參相比蔑之盼mi緊nu濁s性戴能較圖差卷二:鎖數(shù)據(jù)釋庫基填本概底念類清1:佛pc展tu鞠se駛d芒an撐d粱pc銷tf知re渾e觀表示設(shè)什么漫含義立有什箱么作紙用

株pc謝tu核se假d與方pc便tf乓re尼e控鈴制數(shù)足據(jù)塊咸是否店出現(xiàn)貞在f栽re惑el碑is茄t中眼,

是pc破tf合re殊e控蘿制數(shù)總據(jù)塊練中保憂留用躺于u舍pd搭at涉e的渡空間營,當(dāng)截數(shù)據(jù)挺塊中春的f汪re血e東sp額ac劣e小熱于p鴨ct停fr癥ee組設(shè)置麗的空燙間時信,

桐該數(shù)鎮(zhèn)據(jù)塊唇從f漆re浪el扭is邀t中鄉(xiāng)去掉過,當(dāng)惕塊由景于d元ml效操作痕fr崖ee其s稠pa腿ce貍大于跌pc世t_和us然ed蜘設(shè)置競的空朽間時筋,該曲數(shù)據(jù)秩庫塊御將

療被添芳加在紐fr喚ee孕l(wèi)i貴st燃鏈表您中。

-客-P呈CT須FR潤EE臂存儲露參數(shù)租

龜備PC液TF林RE柳E存唯儲參耍數(shù)告慰訴O頭RA爽CL珍E什埋么時涌候應(yīng)呈該將趁數(shù)據(jù)拋塊從姜對象棕的空斷閑列喊表中高移出嘉。O共RA相CL朗E的礦默認(rèn)哭參數(shù)匆是P堤CT負(fù)FR甘EE住=1便0;

尾也就和是說桂,一購旦一邪個I賊NS王ER五T操聰作使餅得數(shù)呈據(jù)塊竭的9拳0%玉被使宇用,資這個凡數(shù)據(jù)繼塊就鴿從空財閑列段表(境fr涼ee器l遼is啞t)未中移餡出。怎

酸-俱-P賽CT侍US扮ED停存儲線參數(shù)沿

克纖PC狹TU顫SE良D存墾儲參險數(shù)告市訴O振RA成CL油E什莖么時速候?qū)⒕蛞郧俺M的個數(shù)據(jù)戀塊加梨到空井閑列蛛表中翼。當(dāng)斃記錄礦從數(shù)臺據(jù)表己中刪押除時順,數(shù)功據(jù)庫礦的數(shù)

待據(jù)塊椒就有削空間聞接受蘆新的爽記錄是,但廊只有催當(dāng)填扶充的辣空間政降到熟PC距TU牌SE決D值深以下稍時,宜該數(shù)控?fù)?jù)塊悶才被跨連接士到空論閑列醉表中癥,才膊可以能往

園其中鍵插入盾數(shù)據(jù)哈。P攀CT功US凍ED暴的默栗認(rèn)值申是P放CT寧US雖ED良=4狹0。笛

-宿-存脂儲參姜數(shù)規(guī)叉那么小詠結(jié)

滿禽〔1辯〕P雙CT沸US葵ED率較高辦意味喚著相翁對較賠滿的飄數(shù)據(jù)區(qū)塊會郊被放算置到吃空閑迅列表頓中,杏從而滋有效憲的重瓶復(fù)使餓用數(shù)劑據(jù)塊惜的空梢間,漲但會粗導(dǎo)致

吼I/盈O消返耗。癢PC頌TU角SE冷D低參意味臟著在宇一個宰數(shù)據(jù)狹塊快輩空的協(xié)時候腳才被切放置鬼到空嚴(yán)閑列繁表中全,數(shù)柄據(jù)塊耐一次綱能接意受很何多的兼記錄餓,因劉此可帳以

造減少吹I/布O消宋耗,爛提高講性能假設(shè)。

宴妨〔2決〕P子CT泰FR爸EE租的值律較大矩意味選著數(shù)咳據(jù)塊壯沒有腔被利舅用多千少就露從空堤閑列撤表中腸斷開擋連接鼠,不僚利于長數(shù)據(jù)智塊的懷充分屢使用筐。P助CT菠FR先EE

士過小飯的結(jié)忍果是陡,在磁更新狹時可芳能會隨出現(xiàn)圣數(shù)據(jù)脖記錄嫁遷移陽(M釋ig君ra柄ti蠅on云)的打情況塌。(騾注:芬數(shù)據(jù)災(zāi)記錄鏈遷移修(M鑼ig獲ra傲ti瀉on握)是堵指記永錄在疤是

輛UP奉DA暫TE寨操作鳥擴(kuò)展嫂了一飄個V獻(xiàn)AR凳CH耀AR旱2類卡型的賽列或堤BL胞OB搖列后孝,P刊CT叛FR蜻EE綢參數(shù)店所指輕定的紫空間壩不夠河擴(kuò)展刻,從睛而記侍錄被雜OR密AC暢LE賭強(qiáng)制嫂遷移熟到

茂新的舌數(shù)據(jù)通塊,瞧發(fā)生既這種穗情況借將較枕嚴(yán)重夢的影叫響O井RA塞CL辛E的荒性能忙,出真現(xiàn)更逆新緩午慢)摔。

乖課〔3閱〕在慧批量筍的插另入、廢刪除慢或者蟻更新忘操作蘿之前招,先冊刪除屬該表風(fēng)上的黎索引斤,在喝操作礎(chǔ)完畢絕之后游在重壓新建幻立,出這樣商有助焰于提適高

景批量稀操作緣的整南體速指度,推并且溪保證菠B樹子索引牢在操階作之胃后有挨良好奶的性腔能。惜宰--貍--亞--請--鴉--錯--凱--如--監(jiān)--適--旅--箱-峰--奪--俘--仙--辜--賤--鄭--究--侵--浴--獵--按--站--烏--籃--絕--沉--陪--鼻--前--灣--蔑--艦--頃--宴--價--瞇--景--糾--務(wù)--稻--匆--再--古--雕--濃--新--怨--豬--暑--村--敏--奔--溝--磨--雁--猾--雜--繼--罵--層--壘--栗--握--比--桐--陶--享--恩--狹--冷--戀--

個--隔表的嫩pc蛇tf麗re輕e和扭pc潤tu斤se栗d兩村個參亭數(shù)進(jìn)改行估碎算的儉方法譯倡對于隔不同伙的應(yīng)炊用系鬧統(tǒng),青表的應(yīng)pc匆tf淡re比e妻和p按ct睛us刷ed煌兩個拉參數(shù)娃有不垃同的鍛設(shè)計額原那么突,以央下是簽根據(jù)昆特定棗的應(yīng)魂用系忘統(tǒng)進(jìn)包行估察算的淡例子掠,從掘中可者以掌元握基慢本的還估算服方法扇。

宗表的守存儲柿參數(shù)威調(diào)整罩,一偷般情還況,踩設(shè)置民為p狹ct咽fr溪ee三5其p坡ct但us結(jié)ed另8除5即甘可〔器缺省猛為p戰(zhàn)ct架fr進(jìn)ee誓1撲0培pc闊tu派se泊d銷40胡〕

垃1.告對于診Pc喘tf畜re薯e參疊數(shù)

泥除了裝可以門按字栽段及貸字段暴長度緊估算謊平均山行長肆外,映下面益的方迅面可扛以根漠據(jù)已誼有數(shù)貼據(jù)分伶析出穴平均肆行長頌和每燒塊行椒數(shù)

掃例:

歸an衡al搖yz緊e央ta枝bl出e中病人毫信息深c宇om盟pu鄭te暴s牌ta玩ti琴st梢ic杯s秤fo悔r鈔ta棵bl縱e蠟fo述r狼al摘l繼in睜de流xe眠s雪fo怪r閣al環(huán)l含in帖de薦xe礦d砍co存lu存mn雕s;

線Se舒le億ct絲N名um棍_R架ow閑s,吵Bl哪oc恰ks哨,R究ou地nd黎(N活um繡_R撿ow合s碎/欲Bl俱oc檢ks泳)布Av翼g_外Ro拐ws衡_B株lo樂ck階,仗Av卡g_春Ro矮w_鄙Le駁n鉤Fr隔om鹽U舍se孝r_府Ta猾bl慮es妖W知he掉re姑T管ab驕le英_N扭am憶e碑=懸'病錘人信始息'僻

面NU氣M_論RO漫WS巷B毅LO御CK謙S三AV涂G_事RO暖WS那么_B哀LO畫CK刊A遼VG聽_R矩OW均_L榜EN迫

8塑57穴29童1泳14惱16丟1環(huán)61涼1上17豆

殲對于麥一般亂81特92境的塊影,實(shí)雜際可蝴用空流間為蒙81翅00夢左右丟.

寬假設(shè)尾以前厭該表央的p半ct食fr包ee宋為1剛5,腔改為以5后衣,p稈ct牛fr懶ee費(fèi)減少搭10較,就鑰可以棕再存放入約久7行間.岔相同去的1肢萬4送千塊題就可用以多各存放洽約1誤0萬猛行數(shù)島據(jù),

湯這1震0萬江行數(shù)鴉據(jù),躲如果塊按每屆塊6股0行陡算,屈就可目以少紛占用國約1做70羨0塊車(約閥13斤M的嫩空間短)

戚如果充全表浮掃描釋該表恥的話誓,少借讀1鋪70載0塊柄數(shù)據(jù)叮,少稍10原6次民IO痕操作滿(按們?nèi)笔鏳b叔_f壁il焰e_護(hù)mu呢lt澆ib仔l(wèi)o益ck靈_r尖ea頸d_諸co膠un債t=昂16抵計算膚)

裳少占肆13畝M的鏟內(nèi)存例另外景,需拳要考慧慮的務(wù)兩個汗因素

色1。餓更新蹤操作帖時,在數(shù)據(jù)捆增長境量大含不大跟,例傲如:革主要疫是把肌狀態(tài)辭字段場由1淘改為真3,羊還是閘把摘樓要由佳空改祝為一剩段文時字

額2。論并發(fā)歇事務(wù)旗的多軟少,胖因為店一個舊事務(wù)屈信息攀在塊輛中要高占用民約2專4B飽yt命e,閉如果群有1涌0個猛并發(fā)序事務(wù)謊的話已,至世少額允外考假慮2努40片By無te閣的空次閑空路間。賽2.符對于腫Pc惹tu得se發(fā)d參軟數(shù)

城主要翅考慮縮刪除財后插潮入數(shù)扔據(jù)的淹情況恢多不泛多,瞧以及砌平均搏行長覺大小

怕例如蹦:

濫病人下費(fèi)用基記錄聲,醫(yī)欠保如繡果存心在校蓬對操尾作的咸話,致是先巧產(chǎn)生醉預(yù)交稱結(jié)算塊數(shù)據(jù)而,正規(guī)式結(jié)叨算時毛,刪竊除這歉些數(shù)棋據(jù)再型重新仔生成

居所以愁,病畜人預(yù)腫交記靠錄,慌Pc潔tu絨se秤d不廉能設(shè)假設(shè)置太造高,嘉否那么升重用媽那些股低于繳Pc送tu腳se蘿d的予塊,怎只能脆插入闖少量陪數(shù)據(jù)趟行,局增加貪了I務(wù)O操五作

毀an蘇al透yz鴨e伴ta吧bl打e仆病人肺預(yù)交不記錄肉c涌om勇pu真te遇s煌ta甲ti傾st省ic夾s捕fo釋r廣ta文bl菊e接fo奪r唱al姐l歐in賴de掉xe折s企fo畏r亞al胖l覆in燙de劇xe送d院co輪lu蓋mn淹s;

窯Se慶le替ct解N閃um究_R行ow撲s,規(guī)Bl盡oc帖ks昂,R擴(kuò)ou套nd弊(N蠟um破_R轎ow廊s塔/糧Bl沸oc康ks妻)勒Av于g_版Ro棍ws津_B藥lo斑ck州,佳Av沖g_燦Ro鉗w_孔Le改n無Fr葉om腦U耽se頌r_塞Ta禽bl堡es勉W販he赴re違T燃ab拔le活_N尼am需e毛=棉'病腔人預(yù)那交記揚(yáng)錄'碗

并NU值M_截RO鬼WS竭B抬LO筍CK肚S昆AV麥G_愛RO籍WS違_B軋LO熄CK吃A填VG杏_R修OW權(quán)_L凳EN錘

1陰81灣75熟8取21包47濃8古5篇83祖

翠如果駛設(shè)置鮮pc欠tf窯re凱e才5滅pc旬tu乞se端d園85心,那混么當(dāng)裳刪除呈一些抽行使抽塊的突已用全空間忘低于逢85方%時界,塊附會被徐重用災(zāi),但肥是因勸為要樸預(yù)留尾5%追的空雕閑空伶間,

籮所以革,對需于已傭用空腿間剛票剛低傅于8怎5%梯的塊濫,重脊用空銀間就羨只有充10禁%,杯對于說8K館的塊資,可薦用8脂10霧By鑼te瑞,平紙均行拳長8幻3,奧可以班再放霧入9纏行,埋所以蝶這個舅參數(shù)算也是椒可以壺的。軌但是趕,如商果是自病人騎費(fèi)用慎記錄吼,平訓(xùn)均行充長2戒29尚,這礙樣設(shè)議置,價只能斯放下滋3行魂,這塘個參挖數(shù)就糊不太滔適宜躲了

著NU倍M_誤RO亂WS督B貌LO貧CK瞧S瞎AV牢G_匪RO痕WS纖_B充LO總CK繼A蜜VG埋_R喬OW燭_L戒EN末

9泊25紀(jì)13傻3啞38卵27話8練24夾2削29物

尺根據(jù)全分析債,病乞人費(fèi)葛用記割錄的稀數(shù)據(jù)玻更新番量不覺大,扒但是修并發(fā)相操作育比擬捏大,癢最好旗把P仰ct掀fr哀ee煤設(shè)置昂高一捧點(diǎn)

玻所以悼,可濕以設(shè)囑置為悼pc僚tf做re初e吊10著p您ct屯us寺ed隔7再5〔輝重用慈的塊虜至少抱可以叮放5崖行,片約1堆-2慘張單震據(jù)〕啟,甚憑至p卻ct租u網(wǎng)se林d墨70付也是泛可以砌的。悄如果尾一個怨塊的懲數(shù)據(jù)剪行數(shù)計太多式,可漂能造矩成熱意塊爭謊用,葉但是軍相對住于減腦少存墾儲,加減少盡IO胳,減批少內(nèi)游存占限用帶盤來的牙好處喚來說腐,熱歌塊不顫是特語別突挖出的勝情況抹下可與以不瓶考慮殲。PCTFREE=(AverageRowSize-InitialRowSize)*100/AverageRowSize

PCTUSED=(100-PCTFREE)-AverageRowSize*100/AvailabeDataSpace

Oracle的其中一個優(yōu)點(diǎn)時它可以管理每個表空間中的自由空間。Oracle負(fù)責(zé)處理表和索引的空間管理,這樣就可以讓我們無需懂得Oracle的表和索引的

內(nèi)部運(yùn)作。不過,對于有經(jīng)驗的Oracle調(diào)優(yōu)專家來說,他需要懂得Oracle是如何管理表的extent和空閑的數(shù)據(jù)塊。對于調(diào)整擁有高的insert或者update的系

統(tǒng)來說,這是非常重要的。

要精通對象的調(diào)整,你需要懂得freelists和freelist組的行為,它們和pctfree及pctused參數(shù)的值有關(guān)。這些知識對于企業(yè)資源方案〔ERP〕的應(yīng)用是

特別重要的,因為在這些應(yīng)用中,不正確的表設(shè)置通常是DML語句執(zhí)行慢的原因。

對于初學(xué)者來說,最常見的錯誤是認(rèn)為默認(rèn)的Oracle參數(shù)對于所有的對象都是最正確的。除非磁盤的消耗不是一個問題,否那么在設(shè)置表的pctfree和pctused

參數(shù)時,就必須考慮平均的行長和數(shù)據(jù)庫的塊大小,這樣空的塊才會被有效地放到freelists中。當(dāng)這些設(shè)置不正確時,那些得到的freelists也是"dead"塊,

因為它們沒有足夠的空間來存儲一行,這樣將會導(dǎo)致明顯的處理延遲。

Freelists對于有效地重新使用Oracle表空間中的空間是很重要的,它和pctfree及pctused這兩個存儲參數(shù)的設(shè)置直接相關(guān)。如果將pctused設(shè)置為一個高的值,

掀這時廉?dāng)?shù)據(jù)宗庫就政會盡暑快地恰重新丈使用趣塊。涌不過爭,高尿性能穿和有住效地想重新爹使用晚表的早塊是贊對立輪的??谡{(diào)獅整O乳ra襪cl謊e的票表格睜和索羽引時那么,需嫩要認(rèn)反真考紗慮究導(dǎo)竟需伙要高頌性能必還是顫有效估的空

崖間重華用,訴并且茄據(jù)此素來設(shè)希置表舞的參韻數(shù)。差以下仿我們竹來看存一下券這些漂fr伐ee就li墾st攏s是紫如何躲影響陷Or肉ac踩le渡的性杰能的狠。

主迅當(dāng)有撲一個孤請求女需要緒插入議一行號到表奪格中壯時,租Or童ac色le姨就會始到f緣re賓el手is拜t中南尋找懂一個瀉有足兔夠的克空間火來容場納一逮行的知塊。敞你也君許知哄道,趣fr京ee挺li雖st拘串是側(cè)放在猾表格諷或者徒索引塘的第

嫌一個捕塊中扮,這敬個塊佳也被歌稱為羞段頭仆〔s撕eg利me純nt判h障ea牧de獲r〕庭。p政ct嗚fr扶ee貧和p膝ct贏us眼ed京參狗數(shù)的奸唯一乎目的奸就是覽為了晶控制歌塊如壟何在攪fr呢ee松li臂st靜s中劇進(jìn)出阻。雖析然f至re英el植is下t碰li構(gòu)nk殊和洲un理li掌nk

傘是簡清單的惱Or廢ac扮le里功能繞,不芒過設(shè)草置f通re針el棕is侄t脫li但nk壯(臭pc俘tu謹(jǐn)se伯d)紡和秤un翻li慚nk森(羊pc極tf徹re音e)褲對歇Or頃ac鞠le裙的性差能確冰實(shí)有聞影響廟。

盯吼由D坑BA悶的基詞本知另識知蠅道,將pc已tf鄰re服e參決數(shù)是戰(zhàn)控制稠fr讀ee脊li夢st酸u雙n-晴li葉nk賤s的稀〔即斬將塊康由f融re或el累is微ts淹中移煉除〕泰。設(shè)帽置p潮ct雁fr舞ee鞋=1努0境意味稀著每熱個塊身都保偶留1業(yè)0%雹的空挨間用絮作行探擴(kuò)展械。

毫pc谷tu懸se生d參奸數(shù)是道控制車fr冰ee傘li唇st扶r慈e-俗li蔥nk庸s的壟。設(shè)體置p隱ct表us捎ed固=4和0意箭味著艙只有嶼在塊翻的使摧用低獎于4辮0%瘡時才攔會回羊到表醫(yī)格的違fr調(diào)ee思li暗st臘s中絡(luò)。

呼灶許多坦新手鄰對于津一個稿塊重載新回爭到f束re正el脅is慎ts牙后的鍬處理慎都有券些誤深解。獲其實(shí)嘉,一續(xù)旦由矛于一兔個刪歪除的拜操作幕而令滲塊被鵲重新節(jié)參加暴到f劈re怖el烤is窄t中頃,它段將會住一直搜保存累在f巡re允el謀is區(qū)t中

障即使帶空間億的使燈用超裹過了印60療%,徒只有薦在到?jīng)]達(dá)p削ct塊fr留ee搞時才誘會將們數(shù)據(jù)雕塊由淹fr開ee抱li紅st塵中移亭走。

丘篇表格鄉(xiāng)和索闖引存木儲參陣數(shù)設(shè)零置的斧要求藏總結(jié)

郵個以下獲的一惰些規(guī)選那么是罩用來享設(shè)置伏fr加ee鮮li從st驚s,駁f獎re掙el遇is辟t滅gr擋ou粘ps董,先pc要tf翅re元e和刷pc鏡tu陷se森d存絞儲參搶數(shù)的亭。你器也知熊道,使pc警tu催se愁d和儲pc面tf末re澡e的識值是邀可以穗很容遼易地肢通過壤al攤te鋒r嬸ta四bl源e

黎命令萍修改俱的,才一個背好的盤DB紛A應(yīng)奇該知柱道如至何設(shè)注置這嫁些參少數(shù)的想最正確梳值。

陸罷有效襪地使華用空雨間和雪高性嘗能之摟間是厚有矛丑盾的淡,而廊表格拍的存有儲參蠅數(shù)就薄是控耳制這費(fèi)個方惰面的效矛盾愁:

秒費(fèi).燃對于鋤需要替有效蕩地重古新使撓用空今間,鵲可以寺設(shè)置抹一個燥高的館pc館tu找se巷d值跑,不直過副律作用尿是需黎要額條外的究I/那么O。塊一個顧高的蟻pc輪tu目se偏d值牌意味羨著相良對滿析的塊郊都會佩放到輝fr儉ee黑li畝st綠中。習(xí)因

鄉(xiāng)此,廳這些眨塊在暢再次度滿之帶前只映可以臟接受結(jié)幾行柄記錄梨,從唇而導(dǎo)闊致更撤多的暢I/眠O。

兵頃.約追求擊高性蜂能的吊話,雄可以頃將p員ct問us掘ed申設(shè)置典為一裂個低孝的值腰,這裂意味抖著O燒ra驚cl鉤e不攝會將裝數(shù)據(jù)姥塊放吐到f曉re僻el俱is資ts校中直莫到它示幾乎愚是空勤的。殊那么便塊將浴可以短在滿時之前能接收塊更多強(qiáng)的行和,

狀因此歷可以期減少延插入詳操作莖的I杠/O怪。要總記住詳Or眨ac老le肆擴(kuò)展謠新塊墓的性暖能要吉比重禽新使之用現(xiàn)設(shè)有的俱塊高樹。對第于O搞ra跡cl撫e來除說,托擴(kuò)展級一個懼表比節(jié)管理塊fr乘ee晨li剝st怖s消刃耗更停少的廚資源戀。

約什讓我辜們來豬回憶依一下黑設(shè)置氏對象散存儲亡參數(shù)鐮的一淘些常挪見規(guī)相那么:

撤赴.經(jīng)晴常將錯pc形tu糊se巧d設(shè)俱置為栽可以戲接收觀一條侮新行浸。對解于不高能接鼠受一召行的栽fr磚ee遞b萍lo泊ck優(yōu)s對遞于我放們來衫說是疤沒有忙用的脾。如坦果這免樣做限,將司會令呼Or耕ac氏le殿的性滑能變昆慢,句因為峽Or煌ac某le漏將

徑在擴(kuò)期展表殼來得振到一德個空憤的塊紋之前也,企暗圖讀匪取5紹個"獄de怎ad襲"籠的f耕re末e費(fèi)bl亮oc也k。

桂迎.表嗓格中磚ch鴨ai盒ne孤d核ro構(gòu)ws搶的出芒現(xiàn)意愿味著煙pc非tf發(fā)re激e太橋低或望者是刺db板_b治lo個ck貧_s殲iz支e太燭少。胳在很作多情蜜況下紹,R常AW木和L乖O(shè)N配G貓RA腰W列約都很先巨大常,以齊至超煩過了艱Or愁ac醋le陶的最恒大塊畢的大苦小,

默這時敘ch促ai針ne穿d肢ro猛ws紐是不向可以央防止債的。

慎龍.如已果一護(hù)個表肌有同蜓時插柳入的雄SQ捧L語們句,鋼那么史它需蹦要有稠同時盤刪除光的語拆句。晝運(yùn)行拘單一競個一醉個清洗除的林工作蝶將會漲把全盟部的然空閑就塊放爬到一泥個f燃re菊el辰is梅t中刊,而侍沒有捐其它弄包含俊有任躁何

決空閑瓜塊的榆fr縱ee厚li遷st芝s出乖現(xiàn)。

司船.f團(tuán)re散el塌is霸t參顏數(shù)應(yīng)掙該設(shè)翅置為駕表格陪同時喊更新疲的最鋸大值客。例券如,櫻如果還在任扛何時財候,歉某個針表最從多有梯20饑個用便戶執(zhí)飄行插俘入的辜操作誘,那叨么該誦表的躬參數(shù)殃應(yīng)該住設(shè)置瞞為f采re旅el畏is箏ts規(guī)=2驅(qū)0。

帳婦應(yīng)記冊住的桑是f從re嶺el儀is及t盯gr難ou覆ps堵參數(shù)例的值絹只是炸對于詳Or苦ac筋le悶P密ar房al排le盟l新Se規(guī)rv貌er嫁和R香ea箭l品Ap喇pl曠ic債at拿io船n劫Cl親us饞te趁r棵s才派是有艘用的提。對居于這度類O椅ra許cl禁e,跨fr賄ee踏li租st駱g鍛ro故up鏡s應(yīng)陜該設(shè)倒置

盾為訪等問該因表格航的O默ra勺cl冬e勉Pa厚ra艷ll惱el淺S太er汽ve姑r實(shí)強(qiáng)例的繼數(shù)目鑒。---------------------------------------------------------------------------------------------------------------------------------------------------2:簡單描述table/segment/extent/block之間的關(guān)系

table創(chuàng)立時,默認(rèn)創(chuàng)立了一個datasegment,

每個datasegment含有minextents指定的extents數(shù),

每個extent據(jù)據(jù)表空間的存儲參數(shù)分配一定數(shù)量的blocks3:描述tablespace和datafile之間的關(guān)系

一個tablespace可以有一個或多個datafile,每個datafile只能在一個tablespace內(nèi),

table中的數(shù)據(jù),通過hash算法分布在tablespace中的各個datafile中,

tablespace是邏輯上的概念,datafile那么在物理上儲存了數(shù)據(jù)庫的種種對象。4:本地管理表空間和字典管理表空間的特點(diǎn),ASSM有什么特點(diǎn)

本地管理表空間〔LocallyManagedTablespace簡稱LMT〕

8i以后出現(xiàn)的一種新的表空間的管理模式,通過位圖來管理表空間的空間使用。

字典管理表空間〔Dictionary-ManagedTablespace簡稱DMT〕

8i以前包括以后都還可以使用的一種表空間管理模式,通過數(shù)據(jù)字典管理表空間的空間使用。

動段空間管理〔ASSM〕,

它首次出現(xiàn)在Oracle920里有了ASSM,鏈接列表freelist被位圖所取代,它是一個二進(jìn)制的數(shù)組,

能夠迅速有效地管理存儲擴(kuò)展和剩余區(qū)塊〔freeblock〕,因此能夠改善分段存儲本質(zhì),

ASSM表空間上創(chuàng)立的段還有另外一個稱呼叫BitmapManagedSegments〔BMB段〕。5:回滾段的作用是什么

事務(wù)回滾:當(dāng)事務(wù)修改表中數(shù)據(jù)的時候,該數(shù)據(jù)修改前的值〔即前影像〕會存放在回滾段中,

當(dāng)用戶回滾事務(wù)〔ROLLBACK〕時,ORACLE將會利用回滾段中的數(shù)據(jù)前影像來將修改的數(shù)據(jù)恢復(fù)到原來的值。

事務(wù)恢復(fù):當(dāng)事務(wù)正在處理的時候,例程失敗,回滾段的信息保存在undo表空間中,

ORACLE將在下次翻開數(shù)據(jù)庫時利用回滾來恢復(fù)未提交的數(shù)據(jù)。讀一致性:當(dāng)一個會話正在修改數(shù)據(jù)時,其他的會話將看不到該會話未提交的修改。

當(dāng)一個語句正在執(zhí)行時,該語句將看不到從該語句開始執(zhí)行后的未提交的修改〔語句級讀一致性〕

當(dāng)ORACLE執(zhí)行SELECT語句時,ORACLE依照當(dāng)前的系統(tǒng)改變號〔SYSTEMCHANGENUMBER-SCN〕

來保證任何前于當(dāng)前SCN的未提交的改變不被該語句處理??梢韵胂螅寒?dāng)一個長時間的查詢正在執(zhí)行時,

假設(shè)其他會話改變了該查詢要查詢的某個數(shù)據(jù)塊,ORACLE將利用回滾段的數(shù)據(jù)前影像來構(gòu)造一個讀一致性視圖。

....E%B5%C4%D7%F7%D3%C36:日志的作用是什么

記錄數(shù)據(jù)庫事務(wù),最大限度地保證數(shù)據(jù)的一致性與平安性

重做日志文件:含對數(shù)據(jù)庫所做的更改記錄,這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù),一個數(shù)據(jù)庫至少需要兩個重做日志文件

歸檔日志文件:是重做日志文件的脫機(jī)副本,這些副本可能對于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要。....hlight=%C8%D5%D6%BE7:SGA主要有那些局部,主要作用是什么

SGA:db_cache/shared_pool/large_pool/java_pool

db_cache:

數(shù)據(jù)庫緩存〔BlockBuffer〕對于Oracle數(shù)據(jù)庫的運(yùn)轉(zhuǎn)和性能起著非常關(guān)鍵的作用,

它占據(jù)Oracle數(shù)據(jù)庫SGA〔系統(tǒng)共享內(nèi)存區(qū)〕的主要局部。Oracle數(shù)據(jù)庫通過使用LRU

算法,將最近訪問的數(shù)據(jù)塊存放到緩存中,從而優(yōu)化對磁盤數(shù)據(jù)的訪問.

shared_pool:

共享池的大小對于Oracle性能來說都是很重要的。

共享池中保存數(shù)據(jù)字典高速緩沖和完全解析或編譯的的PL/SQL塊和SQL語句及控制結(jié)構(gòu)

large_pool:

使用MTS配置時,因為要在SGA中分配UGA來保持用戶的會話,就是用Large_pool來保持這個會話內(nèi)存

使用RMAN做備份的時候,要使用Large_pool這個內(nèi)存結(jié)構(gòu)來做磁盤I/O緩存器

java_pool:

為javaprocedure預(yù)備的內(nèi)存區(qū)域,如果沒有使用javaproc,java_pool不是必須的

8racle系統(tǒng)進(jìn)程主要有哪些,作用是什么

數(shù)據(jù)寫進(jìn)程(dbwr):負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件

日志寫進(jìn)程(lgwr):將重做日志緩沖區(qū)中的更改寫入在線重做日志文件

系統(tǒng)監(jiān)控(smon)

:檢查數(shù)據(jù)庫的一致性如有必要還會在數(shù)據(jù)庫翻開時啟動數(shù)據(jù)庫的恢復(fù)

進(jìn)程監(jiān)控(pmon)

:負(fù)責(zé)在一個Oracle進(jìn)程失敗時清理資源

檢查點(diǎn)進(jìn)程(chpt):負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。

歸檔進(jìn)程(arcn)

:在每次日志切換時把已滿的日志組進(jìn)行備份或歸檔

作業(yè)調(diào)度器(cjq)

:負(fù)責(zé)將調(diào)度與執(zhí)行系統(tǒng)中已定義好的job,完成一些預(yù)定義的工作.

恢復(fù)進(jìn)程(reco)

:保證分布式事務(wù)的一致性,在分布式事務(wù)中,要么同時commit,要么同時rollback;三:備份恢復(fù)類1:備份如何分類

邏輯備份:exp/imp

物理備份:

RMAN備份

fullbackup/incrementalbackup(累積/差異)

熱備份:altertablespacebegin/endbackup;

冷備份:脫機(jī)備份(databaseshutdown)

2:歸檔是什么含義

關(guān)于歸檔日志:Oracle要將填滿的在線日志文件組歸檔時,那么要建立歸檔日志〔archivedredolog〕。

其對數(shù)據(jù)庫備份和恢復(fù)有以下用處:

<1>數(shù)據(jù)庫后備以及在線和歸檔日志文件,在操作系統(tǒng)和磁盤故障中可保證全部提交的事物可被恢復(fù)。

<2>在數(shù)據(jù)庫翻開和正常系統(tǒng)使用下,如果歸檔日志是永久保存,在線后備可以進(jìn)行和使用。

數(shù)據(jù)庫可運(yùn)行在兩種不同方式下:

NOARCHIVELOG方式或ARCHIVELOG方式

數(shù)據(jù)庫在NOARCHIVELOG方式下使用時,不能進(jìn)行在線日志的歸檔,

如果數(shù)據(jù)庫在ARCHIVELOG方式下運(yùn)行,可實(shí)施在線日志的歸檔。3:如果一個表在2004-08-0410:30:00被drop,在有完善的歸檔和備份的情況下,如何恢復(fù)?

手工拷貝回所有備份的數(shù)據(jù)文件

sql>startupmount;

sql>alterdatabaserecoverautomaticuntiltime'2004-08-04:10:30:00';

sql>alterdatabaseopenresetlogs;4:rman是什么,有何特點(diǎn)?

RMAN(RecoveryManager)是DBA的一個重要工具,用于備份、復(fù)原和恢復(fù)oracle數(shù)據(jù)庫,

RMAN可以用來備份和恢復(fù)數(shù)據(jù)庫文件、歸檔日志、控制文件、系統(tǒng)參數(shù)文件,也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù)。

RMAN有三種不同的用戶接口:

COMMANDLINE方式、GUI方式〔集成在OEM中的備份管理器〕、API方式〔用于集成到第三方的備份軟件中〕。

具有如下特點(diǎn):

1〕功能類似物理備份,但比物理備份強(qiáng)大N倍;

2〕可以壓縮空塊;

3〕可以在塊水平上實(shí)現(xiàn)增量;

4〕可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;

5〕備份與恢復(fù)的過程可以自動管理;

6〕可以使用腳本〔存在Recoverycatalog中〕

7〕可以做壞塊監(jiān)測5:standby的特點(diǎn)

備用數(shù)據(jù)庫〔standbydatabase〕:ORACLE推出的一種高可用性(HIGHAVAILABLE)數(shù)據(jù)庫方案,

在主節(jié)點(diǎn)與備用節(jié)點(diǎn)間通過日志同步來保證數(shù)據(jù)的同步,備用節(jié)點(diǎn)作為主節(jié)點(diǎn)的備份

可以實(shí)現(xiàn)快速切換與災(zāi)難性恢復(fù),從920開始,還開始支持物理與邏輯備用效勞器。

9i中的三種數(shù)據(jù)保護(hù)模式分別是:

1)、MAXIMIZEPROTECTION:最大數(shù)據(jù)保護(hù)與無數(shù)據(jù)分歧,LGWR將同時傳送到備用節(jié)點(diǎn),

在主節(jié)點(diǎn)事務(wù)確認(rèn)之前,備用節(jié)點(diǎn)也必須完全收到日志數(shù)據(jù)。如果網(wǎng)絡(luò)不好,引起LGWR不能傳送數(shù)據(jù),將引起嚴(yán)重的性能問題,導(dǎo)致主節(jié)點(diǎn)DOWN機(jī)。

2)、MAXIMIZEAVAILABILITY:無數(shù)據(jù)喪失模式,允許數(shù)據(jù)分歧,允許異步傳送。

正常情況下運(yùn)行在最大保護(hù)模式,在主節(jié)點(diǎn)與備用節(jié)點(diǎn)的網(wǎng)絡(luò)斷開或連接不正常時,自動切換到最大性能模式,

主節(jié)點(diǎn)的操作還是可以繼續(xù)的。在網(wǎng)絡(luò)不好的情況下有較大的性能影響。

3)、MAXIMIZEPERFORMANCE:這種模式應(yīng)當(dāng)可以說是從8i繼承過來的備用效勞器模式,異步傳送,

無數(shù)據(jù)同步檢查,可能喪失數(shù)據(jù),但是能獲得主節(jié)點(diǎn)的最大性能。9i在配置DATAGUARD的時候默認(rèn)就是MAXIMIZEPERFORMANCE6:對于一個要求恢復(fù)時間比擬短的系統(tǒng)(數(shù)據(jù)庫50G,每天歸檔5G),你如何設(shè)計備份策略

rman/每月一號level0每周末/周三level1其它每天level2

四:系統(tǒng)管理類1:對于一個存在系統(tǒng)性能的系統(tǒng),說出你的診斷處理思路

1做statspack收集系統(tǒng)相關(guān)信息

了解系統(tǒng)大致情況/確定是否存在參數(shù)設(shè)置不適宜的地方/查看top5event/查看topsql等

2查v$system_event/v$session_event/v$session_wait

從v$system_event開始,確定需要什么資源(dbfilesequentialread)等

深入研究v$session_event,確定等待事件涉及的會話

從v$session_wait確定詳細(xì)的資源爭用情況(p1-p3的值:file_id/block_id/blocks等)

3通過v$sql/v$sqltext/v$sqlarea表確定disk_reads、(buffer_gets/executions)值較大的SQL2:列舉幾種診斷IO、CPU、性能狀況的方法

top/vmstat

statspack

sql_trace/tkprof

查v$system_event/v$session_event/v$session_wait

查v$sqlarea(disk_reads或buffer_gets/executions較大的SQL)3:對statspack有何認(rèn)識

StapSpack是Oracle公司提供的一個收集數(shù)據(jù)庫運(yùn)行性能指標(biāo)的軟件包,該軟件包從8i起,在9i、10g都有顯著的增強(qiáng)

該軟件包的輔助表〔存儲相關(guān)參數(shù)與收集的性能指標(biāo)的表〕由最初的25個增長到43個

收集級別參數(shù)由原來的3個〔0、5、10〕增加到5個〔0、5、6、7、10〕

通過分析收集的性能指標(biāo),數(shù)據(jù)庫管理員可以詳細(xì)地了解數(shù)據(jù)庫目前的運(yùn)行情況,對數(shù)據(jù)庫實(shí)例、等待事件、SQL等進(jìn)行優(yōu)化調(diào)整

利用statspack收集的snapshot,可以統(tǒng)計制作數(shù)據(jù)庫的各種性能指標(biāo)的統(tǒng)計趨勢圖表。4:如果系統(tǒng)現(xiàn)在需要在一個很大的表上創(chuàng)立一個索引,你會考慮那些因素,如何做以盡量減小對應(yīng)用的影響

在系統(tǒng)比擬空閑時

nologging選項〔如果有dataguard那么不可以使用nologging〕

大的sort_ared_size或pga_aggregate_target較大5:對raid1+0和raid5有何認(rèn)識

RAID10(或稱RAID1+0)與RAID0+1不同,它是用硬盤驅(qū)動器先組成RAID1陣列,然后在RAID1陣列之間再組成RAID0陣列。

RAID10模式同RAID0+1模式一樣具有良好的數(shù)據(jù)傳輸性能,但卻比RAID0+1具有更高的可靠性。RAID10陣列的實(shí)際容量為M×n/2,

磁盤利用率為50%。RAID10也需要至少4個硬盤驅(qū)動器構(gòu)成,因而價格昂貴。

RAID10的可靠性同RAID1一樣,但由于RAID10硬盤驅(qū)動器之間有數(shù)據(jù)分割,因而數(shù)據(jù)傳輸性能優(yōu)良。RAID5與RAID3很相似,不同之處在于RAID5的奇偶校驗信息也同數(shù)據(jù)一樣被分割保存到所有的硬盤驅(qū)動器,

而不是寫入一個指定的硬盤驅(qū)動器,從而消除了單個奇偶校驗硬盤驅(qū)動器的瓶頸問題。RAID5磁盤陣列的性能比RAID3有所提高,

但仍然需要至少3塊硬盤驅(qū)動器。其實(shí)際容量為M×(n-1),磁盤利用率為(n-1)/n。五:綜合隨意類1:你最擅長的是oracle哪局部?

pl/sql及sql優(yōu)化2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一局部?

喜歡,sql的優(yōu)化3:隨意說說你覺得oracle最有意思的局部或者最困難的局部

latchfree的處理4:為何要選擇做DBA呢?

興趣所在

消耗在準(zhǔn)備利用Oracle執(zhí)行方案機(jī)制提高查詢性能新的SQL語句的時間是OracleSQL語句執(zhí)行時間的最重要的組成局部。

但是通過理解Oracle內(nèi)部產(chǎn)生執(zhí)行方案的機(jī)制,你能夠控制Oracle花費(fèi)在評估連接順序的時間數(shù)量,并且能在大體上提高查詢性能。

準(zhǔn)備執(zhí)行SQL語句

當(dāng)SQL語句進(jìn)入Oracle的庫緩存后,在該語句準(zhǔn)備執(zhí)行之前,將執(zhí)行以下步驟:

1)語法檢查:檢查SQL語句拼寫是否正確和詞序。2)語義分析:核實(shí)所有的與數(shù)據(jù)字典不一致的表和列的名字。3)輪廓存儲檢查:檢查數(shù)據(jù)字典,以確定該SQL語句的輪廓是否已經(jīng)存在。4)生成執(zhí)行方案:使用基于本錢的優(yōu)化規(guī)那么和數(shù)據(jù)字典中的統(tǒng)計表來決定最正確執(zhí)行方案。5)建立二進(jìn)制代碼:基于執(zhí)行方案,Oracle生成二進(jìn)制執(zhí)行代碼。一旦為執(zhí)行準(zhǔn)備好了SQL語句,以后的執(zhí)行將很快發(fā)生,因為Oracle認(rèn)可同一個SQL語句,并且重用那些語句的執(zhí)行。然而,對于生成

特殊的SQL語句,或嵌入了文字變量的SQL語句的系統(tǒng),SQL執(zhí)行方案的生成時間就很重要了,并且前一個執(zhí)行方案通常不能夠被重用。

對那些連接了很多表的查詢,Oracle需要花費(fèi)大量的時間來檢測連接這些表的適當(dāng)順序。評估表的連接順序在SQL語句的準(zhǔn)備過程中,花費(fèi)最多的步驟是生成執(zhí)行方案,特別是處理有多個表連接的查詢。當(dāng)Oracle評估表的連接順序時,它必須

考慮到表之間所有可能的連接。例如:六個表的之間連接有720〔6的階乘,或6*5*4*3*2*1=720〕種可能的連接線路。

當(dāng)一個查詢中含有超過10個表的連接時,排列的問題將變得更為顯著。對于15個表之間的連接,需要評估的可能查詢排列將超過1萬億

〔準(zhǔn)確的數(shù)字是1,307,674,368,000〕種。使用optimizer_search_limit參數(shù)來設(shè)定限制通過使用optimizer_search_limit參數(shù),你能夠指定被優(yōu)化器用來評估的最大的連接組合數(shù)量。使用這個參數(shù),我們將能夠防止優(yōu)化器

消耗不定數(shù)量的時間來評估所有可能的連接組合。如果在查詢中表的數(shù)目小于optimizer_search_limit的值,優(yōu)化器將檢查所有可能的

連接組合。例如:有五個表連接的查詢將有120〔5!=5*4*3*2*1=120〕種可能的連接組合,因此如果optimizer_search_limit等于5

〔默認(rèn)值〕,那么優(yōu)化器將評估所有的120種可能。optimizer_search_limit參數(shù)也控制著調(diào)用帶星號的連接提示的閥值。當(dāng)查詢中的表的

數(shù)目比optimizer_search_limit小時,帶星號的提示將被優(yōu)先考慮。另一個工具:參數(shù)optimizer_max_permutations初始化參數(shù)optimizer_max_permutations定義了優(yōu)化器所考慮組合數(shù)目的上限,且依賴于初始參數(shù)optimizer_search_limit。

optimizer_max_permutations的默認(rèn)值是80,000。參數(shù)optimizer_search_limit和optimizer_max_permutations一起來確定優(yōu)化器所考慮的組合數(shù)目的上限:除非〔表或組合數(shù)目〕

超過參數(shù)optimizer_search_limit或者optimizer_max_permutations設(shè)定的值,否那么優(yōu)化器將生成所有可能的連接組合。一旦優(yōu)

化器停止評估表的連接組合,它將選擇本錢最低的組合。使用ordered提示指定連接順序你能夠設(shè)定優(yōu)化器所執(zhí)行的評估數(shù)目的上限。但是即使采用有很高價值的排列評估,我們?nèi)匀粨碛惺箖?yōu)化器可以盡早地放棄復(fù)雜的查詢

的重要時機(jī)。回想一下含有15個連接查詢的例子,它將有超過1萬億種的連接組合。如果優(yōu)化器在評估了80,000個組合后停止,那么它才

僅僅評估了0.000006%的可能組合,而且或許還沒有為這個巨大的查詢找到最正確的連接順序。在OracleSQL中解決此問題的最好的方法是手工指定表的連接順序。為了盡快創(chuàng)立最小的解決方案集,這里所遵循的規(guī)那么是將表結(jié)合起

來,通常優(yōu)先使用限制最嚴(yán)格的WHERE子句來連接表。下面的代碼是一個查詢執(zhí)行方案的例子,該例子在emp表的關(guān)聯(lián)查詢上強(qiáng)制執(zhí)行了嵌套的循環(huán)連接。注意,我已經(jīng)使用了ordered提示來

直接最優(yōu)化表的評估順序,最終它們表現(xiàn)在WHERE子句上。

select/*+ordereduse_nl(bonus)parallel(e,4)*/

e.ename,

hiredate,

bm.

from

empe,

bonusb

where

e.ename=b.ename

這個例子要求優(yōu)化器按順序連接在SQL語句的FROM子句中指定的表,在FROM子句中的第一個表指定了驅(qū)動表。ordered提示通常被用來與

其它的提示聯(lián)合起來來保證采用正確的順序連接多個表。它的用途更多的是在扭轉(zhuǎn)連接表數(shù)在四個以上的數(shù)據(jù)倉庫的查詢方面。

另外一個例子,下面的查詢使用ordered提示按照指定的順序來連接表:emp、dept、sal,最后是bonus。我通過指定emp到dept使用哈

希連接和sal到bonus使用嵌套循環(huán)連接,來進(jìn)一步精煉執(zhí)行方案。

select/*+ordereduse_hash(emp,dept)use_nl(sal,bonus)*/

from

emp,

dept,

sal,

bonus

where...

實(shí)踐建議

實(shí)際上,更有效率的做法是在產(chǎn)品環(huán)境中減小optimizer_max_permutations參數(shù)的大小,并且總是使用穩(wěn)定的優(yōu)化方案或存儲輪廓來

防止出現(xiàn)耗時的含有大量連接的查詢。一旦找到最正確的連接順序,您就可以通過增加ordered提示到當(dāng)前的查詢中,并保存它的存儲輪廓,

來為這些表手工指定連接順序,從而使其持久化。

當(dāng)你打算使用優(yōu)化器來穩(wěn)定方案,那么可以照下面的方法使執(zhí)行方案持久化,臨時將optimizer_search_limit設(shè)置為查詢中的表的數(shù)目,

從而允許優(yōu)化器考慮所有可能的連接順序。然后,通過重新編排WHERE子句中表的名字,并使用ordered提示,與存儲輪廓一起使變更

持久化,來調(diào)整查詢。在查詢中包含四個以上的表時,ordered提示和存儲輪廓將排除耗時的評估SQL連接順序解析的任務(wù),從而提高

查詢的速度。

一旦檢測到最正確的連接順序,我們就可以使用ordered提示來重載optimizer_search_limit和optimizer_max_permutations參數(shù)。

ordered提示要求表按照它們出現(xiàn)在FROM子句中的順序進(jìn)行連接,所以優(yōu)化器沒有參加描述。

作為一個Oracle專業(yè)人員,你應(yīng)該知道在SQL語句第一次進(jìn)入庫緩存時可能存在重大的啟動延遲。但是聰明的OracleDBA和開發(fā)人

員能夠改變表的搜索限制參數(shù)或者使用ordered提示來手工指定表的連接順序,從而顯著地減少優(yōu)化和執(zhí)行新查詢所需的時間

Oracle專家調(diào)優(yōu)秘密在過去的十年中,Oracle已經(jīng)成為世界上最專業(yè)的數(shù)據(jù)庫之一。對于IT專家來說,就是要確保利用Oracle的強(qiáng)大特性來提高他們公司的生產(chǎn)力。最有效的方法之一

是通過Oracle調(diào)優(yōu)。它有大量的調(diào)整參數(shù)和技術(shù)來改良你的Oracle數(shù)據(jù)庫的性能。Oracle調(diào)優(yōu)是一個復(fù)雜的主題。關(guān)于調(diào)優(yōu)可以寫整整一本書,不過,為了改善

Oracle數(shù)據(jù)庫的性能,有一些根本的概念是每個OracleDBA都應(yīng)該遵從的。

在這篇簡介中,我們將簡要地介紹以下的Oracle主題:

--外部調(diào)整:我們應(yīng)該記住Oracle并不是單獨(dú)運(yùn)行的。因此我們將查看一下通過調(diào)整Oracle效勞器以得到高的性能。

--Rowre-sequencing以減少磁盤I/O:我們應(yīng)該懂得Oracle調(diào)優(yōu)最重要的目標(biāo)是減少I/O。

--OracleSQL調(diào)整。OracleSQL調(diào)整是Oracle調(diào)整中最重要的領(lǐng)域之一,只要通過一些簡單的SQL調(diào)優(yōu)規(guī)那么就可以大幅度地提升SQL語句的性能,這是一點(diǎn)都

不奇怪的。

--調(diào)整Oracle排序:排序?qū)τ贠racle性能也是有很大影響的。

--調(diào)整Oracle的競爭:表和索引的參數(shù)設(shè)置對于UPDATE和INSERT的性能有很大的影響。我們首先從調(diào)整Oracle外部的環(huán)境開始。如果內(nèi)存和CPU的資源缺乏的話,任何的Oracle調(diào)整都是沒有幫助的。外部的性能問題

Oracle并不是單獨(dú)運(yùn)行的。Oracle數(shù)據(jù)庫的性能和外部的環(huán)境有很大的關(guān)系。這些外部的條件包括有:

.CPU--CPU資源的缺乏令查詢變慢。當(dāng)查詢超過了Oracle效勞器的CPU性能時,你的數(shù)據(jù)庫性能就受到CPU的限制。

.內(nèi)存--可用于Oralce的內(nèi)存數(shù)量也會影響SQL的性能,特別是在數(shù)據(jù)緩沖和內(nèi)存排序方面。

.網(wǎng)絡(luò)--大量的Net8通信令SQL的性能變慢。

許多新手都錯誤的認(rèn)為應(yīng)該首先調(diào)整Oracle數(shù)據(jù)庫,而不是先確認(rèn)外部資源是否足夠。實(shí)際上,如果外部環(huán)境出現(xiàn)瓶頸,再多的Oracle調(diào)整都是沒有幫助的。

在檢查Oracle的外部環(huán)境時,有兩個方面是需要注意的:

1、當(dāng)運(yùn)行隊列的數(shù)目超過效勞器的CPU數(shù)量時,效勞器的性能就會受到CPU的限制。補(bǔ)救的方法是為效勞器增加額外的CPU或者關(guān)閉需要很多處理資源的組件,

例如OracleParallelQuery。

2、內(nèi)存分頁。當(dāng)內(nèi)存分頁時,內(nèi)存容量已經(jīng)缺乏,而內(nèi)存頁是與磁盤上的交換區(qū)進(jìn)行交互的。補(bǔ)救的方法是增加更多的內(nèi)存,減少OracleSGA的大小,或者關(guān)閉

Oracle的多線程效勞器。

可以使用各種標(biāo)準(zhǔn)的效勞器工具來得到效勞器的統(tǒng)計數(shù)據(jù),例如vmstat,glance,top和sar。DBA的目標(biāo)是確保數(shù)據(jù)庫效勞器擁有足夠的CPU和內(nèi)存資源來處理

Oracle的請求。

以下讓我們來看一下Oracle的row-resequencing是如何能夠極大地減少磁盤I/O的。Row-resequencing〔行的重新排序〕

就象我們上面提到的,有經(jīng)驗的OracleDBA都知道I/O是響應(yīng)時間的最大組成局部。其中磁盤I/O特別厲害,因為當(dāng)Oracle由磁盤上的一個數(shù)據(jù)文件得到一個

數(shù)據(jù)塊時,讀的進(jìn)程就必須等待物理I/O操作完成。磁盤操作要比數(shù)據(jù)緩沖慢10,000倍。因此,如果可以令I(lǐng)/O最小化,或者減少由于磁盤上的文件競爭而帶來的瓶頸

,就可以大大地改善Oracle數(shù)據(jù)庫的性能。如果系統(tǒng)響應(yīng)很慢,通過減少磁盤I/O就可以有一個很快的改善。如果在一個事務(wù)中通過按一定的范圍搜索primary-key

索引來訪問表,那么重新以CTAS的方法組織表將是你減少I/O的首要策略。通過在物理上將行排序為和primary-key索引一樣的順序,就可以加快獲得數(shù)據(jù)的速度。

就象磁盤的負(fù)載平衡一樣,行的重新排序也是很簡單的,而且也很快。通過與其它的DBA管理技巧一起使用,就可以在高I/O的系統(tǒng)中大大地減少響應(yīng)的時間。在高容量

的在線事務(wù)處理環(huán)境中〔onlinetransactionprocessing,OLTP〕,數(shù)據(jù)是由一個primary索引得到的,重新排序表格的行就可以令連續(xù)塊的順序和它們的primary

索引一樣,這樣就可以在索引驅(qū)動的表格查詢中,減少物理I/O并且改善響應(yīng)時間。這個技巧僅在應(yīng)用選擇多行的時候有用,或者在使用索引范圍搜索和應(yīng)用發(fā)出多個查詢

來得到連續(xù)的key時有效。對于隨機(jī)的唯一primary-key〔主鍵〕的訪問將不會由行重新排序中得到好處。

讓我們看一下它是如何工作的??紤]以下的一個SQL的查詢,它使用一個索引來得到100行:

selectsalaryfromemployeewherelast_namelike'B%';

這個查詢將會使用last_name_index,搜索其中的每一行來得到目標(biāo)行。這個查詢將會至少使用100次物理磁盤的讀取,因為employee的行存放在不同的數(shù)據(jù)塊中。

不過,如果表中的行已經(jīng)重新排序為和last_name_index的一樣,同樣的查詢又會怎樣處理呢?我們可以看到這個查詢只需要三次的磁盤I/O就讀完全部100個

員工的資料〔一次用作索引的讀取,兩次用作數(shù)據(jù)塊的讀取〕,減少了97次的塊讀取。

重新排序帶來的性能改善的程度在于在你開始的時候行的亂序性如何,以及你需要由序列中訪問多少行。至于一個表中的行與索引的排序鍵的匹配程度,可以查看數(shù)據(jù)

字典中的dba_indexes和dba_tables視圖得到。

在dba_indexes的視圖中,查看clustering_factor列。如果clustering_factor的值和表中的塊數(shù)目大致一樣,那么你的表和索引的順序是一樣的。不過,如果

clustering_factor的值接近表中的行數(shù)目,那就說明表格中的行和索引的順序是不一樣的。

行重新排序的作用是不可以小看的。在需要進(jìn)行大范圍的索引搜索的大表中,行重新排序可以令查詢的性能提高三倍。

一旦你已經(jīng)決定重新排序表中的行,你可以使用以下的工具之一來重新組織表格。

.使用Oracle的CreateTableAsSelect(CTAS)語法來拷貝表格

.Oracle9i自帶的表格重新組織工具

SQL語句的調(diào)優(yōu)

SQL調(diào)優(yōu)

Oracle的SQL調(diào)優(yōu)是一個復(fù)雜的主題,甚至是需要整本書來介紹OracleSQL調(diào)優(yōu)的細(xì)微差異。不過有一些根本的規(guī)那么是每個

OracleDBA都需要跟從的,這些規(guī)那么可以改善他們系統(tǒng)的性能。SQL調(diào)優(yōu)的目標(biāo)是簡單的:

消除不必要的大表全表搜索:不必要的全表搜索導(dǎo)致大量不必要的I/O,從而拖慢整個數(shù)據(jù)庫的性能。調(diào)優(yōu)專家首先會根據(jù)查詢

返回的行數(shù)目來評價SQL。在一個有序的表中,如果查詢返回少于40%的行,或者在一個無序的表中,返回少于7%的行,那么這個

查詢都可以調(diào)整為使用一個索引來代替全表搜索。對于不必要的全表搜索來說,最常見的調(diào)優(yōu)方法是增加索引。可以在表中參加標(biāo)準(zhǔn)的

B樹索引,也可以參加bitmap和基于函數(shù)的索引。要決定是否消除一個全表搜索,你可以仔細(xì)檢查索引搜索的I/O開銷和全表搜索

的開銷,它們的開銷和數(shù)據(jù)塊的讀取和可能的并行執(zhí)行有關(guān),并將兩者作比照。在一些情況下,一些不必要的全表搜索的消除可以通過

強(qiáng)制使用一個index來到達(dá),只需要在SQL語句中參加一個索引的提示就可以了。

在全表搜索是一個最快的訪問方法時,將小表的全表搜索放到緩存中,調(diào)優(yōu)專家應(yīng)該確保有一個專門的數(shù)據(jù)緩沖用作行緩沖。在

Oracle7中,你可以使用altertablexxxcache語句,在Oracle8或以上,小表可以被強(qiáng)制為放到KEEP池中緩沖。

確保最優(yōu)的索引使用:對于改善查詢的速度,這是特別重要的。有時Oracle可以選擇多個索引來進(jìn)行查詢,調(diào)優(yōu)專家必須檢查

每個索引并且確保Oracle使用正確的索引。它還包括bitmap和基于函數(shù)的索引的使用。

.確保最優(yōu)的JOIN操作:有些查詢使用NESTEDLOOPjoin快一些,有些那么是HASHjoin快一些,另外一些那么是

sort-mergejoin更快。

這些規(guī)那么看來簡單,不過它們占SQL調(diào)優(yōu)任務(wù)的90%,并且它們也無需完全懂得OracleSQL

的內(nèi)部運(yùn)作。以下我們來簡單概覽以下OracleSQL的優(yōu)化。

調(diào)整Oracle的排序操作

排序是SQL語法中一個小的方面,但很重要,在Oracle的調(diào)整中,它常常被忽略。當(dāng)使用createindex、ORDERBY或者

GROUPBY的語句時,Oracle數(shù)據(jù)庫

將會自動執(zhí)行排序的操作。通常,在以下的情況下Oracle會進(jìn)行排序的操作:

使用Orderby的SQL語句

使用Groupby的SQL語句

在創(chuàng)立索引的時候

進(jìn)行tablejoin時,由于現(xiàn)有索引的缺乏而導(dǎo)致SQL優(yōu)化器調(diào)用MERGESORT

當(dāng)與Oracle建立起一個session時,在內(nèi)存中就會為該session分配一個私有的排序區(qū)域。如果該連接是一個專用的連接

(dedicatedconnection),那么就會根據(jù)init.ora中sort_area_size參數(shù)的大小在內(nèi)存中分配一個ProgramGlobalArea(PGA)

如果連接是通過多線程效勞器建立的,那么排序的空間就在large_pool中分配。不幸的是,對于所有的session,用做排序的內(nèi)存

量都必須是一樣的,我們不能為需要更大排序的操作分配額外的排序區(qū)域。因此,設(shè)計者必須作出一個平衡,在分配足夠的排序區(qū)域以

防止發(fā)生大的排序任務(wù)時出現(xiàn)磁盤排序〔disksorts〕的同時,對于那些并不需要進(jìn)行很大排序的任務(wù),就會出現(xiàn)一些浪費(fèi)。當(dāng)然,

當(dāng)排序的空間需求超出了sort_area_size的大小時,這時將會在TEMP表空間中分頁進(jìn)行磁盤排序。磁盤排序要比內(nèi)存排序大概慢

14,000倍。

上面我們已經(jīng)提到,私有排序區(qū)域的大小是有init.ora中的sort_area_size參數(shù)決定的。每個排序所占用的大小由init.ora

中的sort_area_retained_size參數(shù)決定。當(dāng)排序不能在分配的空間中完成時,就會使用磁盤排序的方式,即在Oracle實(shí)例中的臨

時表空間中進(jìn)行。磁盤排序的開銷是很大的,有幾個方面的原因。首先,和內(nèi)存排序相比擬,它們特別慢;而且磁盤排序會消耗臨時

表空間中的資源。Oracle還必須分配緩沖池塊來保持臨時表空間中的塊。無論什么時候,內(nèi)存排序都比磁盤排序好,磁盤排序?qū)?/p>

令任務(wù)變慢,并且會影響Oracle實(shí)例的當(dāng)前任務(wù)的執(zhí)行。還有,過多的磁盤排序?qū)頵reebufferwaits的值變高,從而令其它

任務(wù)的數(shù)據(jù)塊由緩沖中移走。

接著,讓我們看一下Oracle的競爭,并且看一下表的存儲參數(shù)的設(shè)置是如何影響SQLUPDATE和INSERT語句的性能的。調(diào)整Oracle的競爭

Oracle的其中一個優(yōu)點(diǎn)時它可以管理每個表空間中的自由空間。Oracle負(fù)責(zé)處理表和索引的空間管理,這樣就可以讓我們無需

懂得Oracle的表和索引的內(nèi)部運(yùn)作。不過,對于有經(jīng)驗的Oracle調(diào)優(yōu)專家來說,他需要懂得Oracle是如何管理表的extent和空

閑的數(shù)據(jù)塊。對于調(diào)整擁有高的insert或者update的系統(tǒng)來說,這是非常重要的。

要精通對象的調(diào)整,你需要懂得freelists和freelist組的行為,它們和pctfree及pctused參數(shù)的值有關(guān)。這些知識對于

企業(yè)資源方案〔ERP〕的應(yīng)用是特別重要的,因為在這些應(yīng)用中,不正確的表設(shè)置通常是DML語句執(zhí)行慢的原因。

對于初學(xué)者來說,最常見的錯誤是認(rèn)為默認(rèn)的Oracle參數(shù)對于所有的對象都是最正確的。除非磁盤的消耗不是一個問題,否那么在設(shè)

置表的pctfree和pctused參數(shù)時,就必須考慮平均的行長和數(shù)據(jù)庫的塊大小,這樣空的塊才會被有效地放到freelists中。當(dāng)這些

設(shè)置不正確時,那些得到的freelists也是"dead"塊,因為它們沒有足夠的空間來存儲一行,這樣將會導(dǎo)致明顯的處理延遲。

Freelists對于有效地重新使用Oracle表空間中的空間是很重要的,它和pctfree及pctused這兩個存儲參數(shù)的設(shè)置直接相關(guān)。

通過將pctused設(shè)置為一個高的值,這時數(shù)據(jù)庫就會盡快地重新使用塊。不過,高性能和有效地重新使用表的塊是對立的。在調(diào)整

Oracle的表格和索引時,需要認(rèn)真考慮究竟需要高性能還是有效的空間重用,并且據(jù)此來設(shè)置表的參數(shù)。以下我們來看一下這些

freelists是如何影響Oracle的性能的。

當(dāng)有一個請求需要插入一行到表格中時,Oracle就會到freelist中尋找一個有足夠的空間來容納一行的塊。你也許知道,

freelist串是放在表格或者索引的第一個塊中,這個塊也被稱為段頭〔segmentheader〕。pctfree和pctused

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論