資源描述:
《dba面試題及參考答案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、一、SQLtuning類1、列舉幾種表連接方式?·嵌套循環(huán)連接(NESTEDLOOPJOIN)·群集連接(CLUSTERJOIN)·排序合并連接(SORTMERGEJOIN)·笛卡爾連接(CARTESIANJOIN)·哈希連接(HASHJOIN)·索引連接(INDEXJOIN)2、不借助第三方工具,怎樣查看sql的執(zhí)行計(jì)劃? 檢察表plan_table是否存在,若無(wú)用utlxplan.sql創(chuàng)建該表。setautotraceon explainplansetstatement_id=&item_idfor&sql; select*from
2、table(dbms_xplan.display); 3、如何使用CBO,CBO與RULE的區(qū)別?在實(shí)例/會(huì)話級(jí)設(shè)置OPTIMIZER_MODE=CHOOSE,也可以在語(yǔ)句級(jí)別用Hint(/*+...*/)來(lái)設(shè)定。如此,如果表有統(tǒng)計(jì)信息(分區(qū)表外),優(yōu)化器將選擇CBO,否則選RBO。RBO遵循ORACLE內(nèi)定規(guī)則,當(dāng)接收到查詢,優(yōu)化器將估算使用到的要點(diǎn)數(shù)目,然后選擇最佳級(jí)別(最少的數(shù)量)的執(zhí)行計(jì)劃查詢。CBO嘗試找到最低成本的數(shù)據(jù)訪問(wèn)方法,為最大吞吐量或最快響應(yīng)時(shí)間,計(jì)算使用不同執(zhí)行計(jì)劃的成本,并選擇成本最低那個(gè),依賴與表的統(tǒng)計(jì)信息。4、如何
3、定位重要(消耗資源多)的SQL?SELECT*FROM(SELECTsql_text,buffer_gets,disk_readsFROMv$sqlORDERBYbuffer_gets,disk_readsDESC)WHEREROWNUM<=10;5、如何跟蹤某個(gè)session的SQL?execdbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);7selectsid,serial#fromv$sessionwheresid=(selectsidfromv$mystat
4、whererownum=1);execdbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');6、SQL調(diào)整最關(guān)注的是什么?調(diào)整的目的就是為了消耗最小的資源來(lái)完成功能,通過(guò)查看執(zhí)行計(jì)劃和各種統(tǒng)計(jì)信息來(lái)分辨調(diào)整后的sql對(duì)資源的耗費(fèi)情況;查看該SQL的responsetime(dbblockgets/consistentgets/physicalreads/sorts(disk))7、說(shuō)說(shuō)你對(duì)索引的認(rèn)識(shí)(索引的結(jié)構(gòu)、對(duì)dml影響、為什么提高查詢性能)?
5、b-treeindexbitmapindexfunctionindexpatitionalindex(local/global)索引通常能提高select/update/delete的性能,會(huì)降低insert的速度。8、使用索引查詢一定能提高查詢的性能嗎?為什么?索引就是為了提高查詢性能而存在的,如果在查詢中索引沒(méi)有提高性能,只能說(shuō)是用錯(cuò)了索引,或者講是場(chǎng)合不同。9、綁定變量是什么?綁定變量有什么優(yōu)缺點(diǎn)? 綁定變量是相對(duì)文本變量來(lái)講的,所謂文本變量是指在SQL直接書(shū)寫(xiě)查詢條件,這樣的SQL在不同條件下需要反復(fù)解析,綁定變量是指使用變量來(lái)代替直
6、接書(shū)寫(xiě)條件,查詢bindvalue在運(yùn)行時(shí)傳遞,然后綁定執(zhí)行。優(yōu)點(diǎn)是減少硬解析,降低CPU的爭(zhēng)用,節(jié)省shared_pool;缺點(diǎn)是不能使用histogram,sql優(yōu)化比較困難。10、如何穩(wěn)定(固定)執(zhí)行計(jì)劃? query_rewrite_enabled=true star_transformation_enabled=true(determineswhetheracost-basedquerytransformationwillbeappliedtostarqueries.) optimizer_features_enable=9.2
7、.0(利用這個(gè)參數(shù)的設(shè)置,可以查看一條SQL在不同版本的優(yōu)化器的執(zhí)行情況)創(chuàng)建并使用storedoutline。711、和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時(shí)表空間的作用是什么?8i中,sort_area_size/sort_area_retained_size決定了排序所需要的內(nèi)存,如果排序操作不能在sort_area_size中完成,就會(huì)用到temp表空間9i中,如果workarea_size_policy=auto時(shí),排序在pga內(nèi)進(jìn)行,通常pga_aggregate_target的1/20可以用來(lái)進(jìn)行disksort;如果wor
8、karea_size_policy=manual時(shí),排序需要的內(nèi)存由sort_area_size決定?! ≡趫?zhí)行orderby/groupby/dis