版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【聚杰網(wǎng)PL/SQL]Oracle的SQL語(yǔ)句執(zhí)行效率問(wèn)題查找與解決方法別人整理的WORD.偶發(fā)表一下:一、 識(shí)別占用資源較多的語(yǔ)句的方法(4種方法)測(cè)試組和最終用戶(hù)反饋的與反應(yīng)緩慢有關(guān)的問(wèn)題.利用V_$SQLAREA視圖提供了執(zhí)行的細(xì)節(jié).(執(zhí)行、讀取磁盤(pán)和讀取緩沖區(qū)的次數(shù))•;數(shù)據(jù)列EXECUTIONS:執(zhí)行次數(shù)DISK_READS:讀盤(pán)次數(shù)COMMAND_TYPE:命令類(lèi)型(3:select,2:insert;6:update;7delete;47:pl/sql程序單元)OPTIMIZER_MODE:優(yōu)化方式SQL_TEXT:Sql語(yǔ)句SHARABLE_MEM:占用sharedpool的內(nèi)存多少BUFFER_GETS:讀取緩沖區(qū)的次數(shù)•用途1、 幫忙找出性能較差的SQL語(yǔ)句2、 幫忙找出最高頻率的SQL3、 幫忙分析是否需要索引或改善聯(lián)接監(jiān)控當(dāng)前Oracle的session,如出現(xiàn)時(shí)鐘的標(biāo)志,表示此進(jìn)程中的sql運(yùn)行時(shí)間較長(zhǎng).Trace工具:查看數(shù)據(jù)庫(kù)服務(wù)的初始參數(shù):timed_statistics、user_dump_dest和max_dump_file_sizeStep1:altersessionsetsql_trace=trueStep2:runsql;Step3:altersessionsetsql_trace=falseStep4:使用"TKPROF"轉(zhuǎn)換跟蹤文件Parse,解析數(shù)量大通常表明需要增加數(shù)據(jù)庫(kù)服務(wù)器的共享池大小,query或current提取數(shù)量大表明如果沒(méi)有索引,語(yǔ)句可能會(huì)運(yùn)行得更有效,disk提取數(shù)量表明索引有可能改進(jìn)性能,librarycache中多于一次的錯(cuò)過(guò)表明需要一個(gè)更大的共享池大小二、 如何管理語(yǔ)句處理和選項(xiàng)•基于成本(CostBased)和基于規(guī)則(RuleBased)兩種優(yōu)化器,簡(jiǎn)稱(chēng)為CBO和RBO•OptimizerMode參數(shù)值:Choose:如果存在訪問(wèn)過(guò)的任何表的統(tǒng)計(jì)數(shù)據(jù),則使用基于成本的Optimizer,目標(biāo)是獲得最優(yōu)的通過(guò)量.如果一些表沒(méi)有統(tǒng)計(jì)數(shù)據(jù),則使用估計(jì)值.如果沒(méi)有可用的統(tǒng)計(jì)數(shù)據(jù),則將使用基于規(guī)則的OptimizerAll_rows:總是使用基于成本的Optimizer,目標(biāo)是獲得最優(yōu)的通過(guò)量First_rows_n:總是使用基于成本的Optimizer,目標(biāo)是對(duì)返回前N行("n”可以是1,10,100或者1000)獲得最優(yōu)的響應(yīng)時(shí)間First_rows:用于向后兼容.使用成本與試探性方法的結(jié)合,以便快速傳遞前幾行RULE:總是使用基于規(guī)則的Optimizer三、使用數(shù)據(jù)庫(kù)特性來(lái)獲得有助于查看性能的處理統(tǒng)計(jì)信息(解釋計(jì)劃和AUTOTRACE)No1:ExplainPlanA)使用Explain工具需要?jiǎng)?chuàng)建Explain_plan表,這必須先進(jìn)入相關(guān)應(yīng)用表、視圖和索引的所有者的帳戶(hù)內(nèi).(@D:/oracle/ora92/rdbms/admin/utlxplan)B)表結(jié)構(gòu):STATEMENT_ID:為一條指定的SQL語(yǔ)句確定特定的執(zhí)行計(jì)劃名稱(chēng).如果在EXPLANPLAN語(yǔ)句中沒(méi)有使用SETSTATEMENT_ID,那么此值會(huì)被設(shè)為NULL.OPERATION:在計(jì)劃的某一步驟執(zhí)行的操作名稱(chēng),例如:Filters,Index,Table,MargeJoinsandTable等.OPTION:對(duì)OPERATION操作的補(bǔ)充,例如:對(duì)一個(gè)表的操作,OPERATION可能是TABLEACCESS,但OPTION可能為byROWID或FULL.Object_Owner:擁有此databaseObject的Schema名或Oracle帳戶(hù)名.Object_name:DatabaseObject名Object_type:類(lèi)型,例如:表、視圖、索引等等ID:指明某一步驟在執(zhí)行計(jì)劃中的位置.PARENT_ID:指明從某一操作中取得信息的前一個(gè)操作.通過(guò)對(duì)與ID和PARENT_ID使用ConnectBy操作,我們可以查詢(xún)整個(gè)執(zhí)行計(jì)劃樹(shù).C)EXPLAIN搜索路徑解釋•全表掃描(FullTableScans)(無(wú)可用索引,大量數(shù)據(jù),小表,全表掃描hints,HWM(HighWaterMark),Rowid掃描)•索引掃描索引唯一掃描(IndexUniqueScans)索引范圍掃描(IndexRangeScans)索引降序范圍掃描(IndexRangeScansDescending)索引跳躍掃描(IndexSkipScans)全索引掃描(FullScans)快速全索引掃描(FastFullIndexScans)索引連接(IndexJoins)位圖連接(BitmapJoins)•如何選擇訪問(wèn)路徑:CBO首先檢查WHERE子句中的條件以及FROM子句,確定有哪些訪問(wèn)路徑是可用的.然后CBO使用這個(gè)訪問(wèn)路徑產(chǎn)生一組可能的執(zhí)行計(jì)劃,再通過(guò)索引、表的統(tǒng)計(jì)信息評(píng)估每個(gè)計(jì)劃的成本,最后優(yōu)化器選擇成本最低的一個(gè).•表的連接方式:NestedLoops會(huì)循環(huán)外表(驅(qū)動(dòng)表),逐個(gè)比對(duì)和內(nèi)表的連接是否符合條件.在驅(qū)動(dòng)表比較小,內(nèi)表比較大,而且內(nèi)外表的連接列有索引的時(shí)候比較好.當(dāng)SORT_AREA空間不足的時(shí)候,Oracle也會(huì)選擇使用NL.基于Cost的Oracle優(yōu)化器(CBO)會(huì)自動(dòng)選擇較小的表做外表.(優(yōu)點(diǎn):嵌套循環(huán)連接比其他連接方法有優(yōu)勢(shì),它可以快速地從結(jié)果集中提取第一批記錄,而不用等待整個(gè)結(jié)果集完全確定下來(lái).缺點(diǎn):如果內(nèi)部行源表(讀取的第二張表(內(nèi)表)已連接的列上不包含索引,或者索引不是高度可選時(shí),嵌套循環(huán)連接效率是很低的.如果驅(qū)動(dòng)行源表(從驅(qū)動(dòng)表中提取的記錄)非常龐大時(shí),其他的連接方法可能更加有效.)SORT-mergeJOIN,將兩表的連接列各自排序然后合并,只能用于連接列相等的情況,適合兩表大小相若的情況(在缺乏數(shù)據(jù)的選擇性或者可用的索引時(shí),或者兩個(gè)源表都過(guò)于龐大(超過(guò)記錄數(shù)的5%)時(shí),排序合并連接將比嵌套循環(huán)連更加高效.但是,排列合并連接只能用于等價(jià)連接(WHERED.deptno=E.dejptno,而不是WHERED.deptno>=E.deptno).排列合并連接需要臨時(shí)的內(nèi)存塊,以用于排序(如果SORT_AREA_SIZE設(shè)置得太小的話(huà)).這將導(dǎo)致在臨時(shí)表空間占用更多的內(nèi)存和磁盤(pán)I/O.)HASHJOIN在其中一表的連接列上作散列,因此只有另外一個(gè)表做排序合并,理論上比SORTJOIN會(huì)快些,需要有足夠的內(nèi)存,而且打開(kāi)了SORT_JOIN_ENABLE參數(shù).(當(dāng)缺少有用的索引時(shí),哈希連接比嵌套循環(huán)連接更加有效.哈希連接可能比排序合并連接更快,因?yàn)樵谶@種情況下只有一張?jiān)幢硇枰判?哈希連接也可能比嵌套循環(huán)連接更快,因?yàn)樘幚韮?nèi)存中的哈希表比檢索B_樹(shù)索引更加迅速.和排序合并連接、群集連接一樣,哈希連接只能用于等價(jià)連接.和排序合并連接一樣,哈希連接使用內(nèi)存資源,并且當(dāng)用于排序內(nèi)存不足時(shí),會(huì)增加臨時(shí)表空間的I/O(這將使這種連接方法速度變得極慢).最后,只有基于代價(jià)的優(yōu)化器才可以使用哈希連接.)索引連接:No2:AUTOTRACEsetautotrace使用步驟:1、 以system登錄2、 創(chuàng)建plustrace角色;<your_oracle_home>/sqlplus/admin/plustrce.sql3、 向常規(guī)用戶(hù)授予權(quán)限:grantplustraceto<userid>4、 如果沒(méi)有plan_table也要?jiǎng)?chuàng)建:<your_oracle_home>/rdbms/admin/utlxplan.sql•setautotrace選項(xiàng)on顯示查詢(xún)結(jié)果,執(zhí)行計(jì)劃,統(tǒng)計(jì)數(shù)據(jù)onstatistics顯示查詢(xún)結(jié)果,統(tǒng)計(jì)數(shù)據(jù),不顯示執(zhí)行計(jì)劃onexplain顯示查詢(xún)結(jié)果,執(zhí)行計(jì)劃,不顯示統(tǒng)計(jì)數(shù)據(jù)traceonly顯示執(zhí)行計(jì)劃和統(tǒng)計(jì)結(jié)果,但不包括查詢(xún)結(jié)果traceonlystatistics僅顯示統(tǒng)計(jì)數(shù)據(jù)recursivecalls在用戶(hù)級(jí)別和系統(tǒng)級(jí)別上生成的遞歸調(diào)用的數(shù)量.Oracle維護(hù)了一些用于內(nèi)部處理的表.當(dāng)oracle需要對(duì)這些表進(jìn)行更改時(shí),它就會(huì)在內(nèi)部生成一個(gè)SQL語(yǔ)句,然后這個(gè)語(yǔ)句再生成一個(gè)遞歸調(diào)用.dbblockgets請(qǐng)求一個(gè)CURRENT塊的次數(shù)consistentgets為一塊請(qǐng)求consistentread的次數(shù)physicalreads從磁盤(pán)讀取得數(shù)據(jù)塊總數(shù).這個(gè)數(shù)量等于"直接物理讀取"的值加上讀入緩沖區(qū)的所有數(shù)據(jù)塊redosize生成的重做的總數(shù)量(以字節(jié)為單位)bytessentviaSQL*Nettoclient從前臺(tái)進(jìn)程發(fā)送給客戶(hù)的總字節(jié)數(shù)bytesreceivedviaSQL*Netfromclient通過(guò)OracleNet從客戶(hù)接收的總字節(jié)數(shù)SQL*Netroundtripsto/fromclient發(fā)送給客戶(hù)和從客戶(hù)接收的OracleNet消息的總數(shù)sorts(memory)完全在內(nèi)存中執(zhí)行并且不需要任何磁盤(pán)寫(xiě)入的排序操作的數(shù)量sorts(disk)至少需要一個(gè)磁盤(pán)寫(xiě)入的排序操作的數(shù)量rowsprocessed在操作過(guò)程中處理的行數(shù)四、最后,使用計(jì)時(shí)特性來(lái)測(cè)量和比較處理時(shí)間Settimingon摘要:以下的文章主要是介紹OracleSQL調(diào)優(yōu)的實(shí)際應(yīng)用以及OracleSQL調(diào)優(yōu)的目標(biāo)是如何實(shí)現(xiàn)的,以下就是正文的詳細(xì)內(nèi)容的描述.我們都知道Oracle的SQL調(diào)優(yōu)是很復(fù)雜的,如果想細(xì)致的了解它我們甚至以整本書(shū)的內(nèi)容來(lái)介紹OracleSQL調(diào)優(yōu)的細(xì)微差別.但是有一些基本的規(guī)則是每個(gè)OracleDBA都需要跟從的,這些規(guī)則可以改善他們系統(tǒng)的性能.SQL調(diào)優(yōu)的目標(biāo)是簡(jiǎn)單的:消除不必要的大表全表搜索:不必要的全表搜索導(dǎo)致大量不必要的I/O,從而拖慢整個(gè)數(shù)據(jù)庫(kù)的性能.調(diào)優(yōu)專(zhuān)家首先會(huì)根據(jù)查詢(xún)返回的行數(shù)目來(lái)評(píng)價(jià)SQL.在一個(gè)有序的表中,如果查詢(xún)返回少于40%的行,或者在一個(gè)無(wú)序的表中,返回少于7%的行,那么這個(gè)查詢(xún)都可以調(diào)整為使用一個(gè)索引來(lái)代替全表搜索.對(duì)于不必要的全表搜索來(lái)說(shuō),最常見(jiàn)的調(diào)優(yōu)方法是增加索引.可以在表中加入標(biāo)準(zhǔn)的B樹(shù)索引,也可以加入bitmap和基于函數(shù)的索引.要決定是否消除一個(gè)全表搜索,你可以仔細(xì)檢查索引搜索的I/O開(kāi)銷(xiāo)和全表搜索的開(kāi)銷(xiāo),它們的開(kāi)銷(xiāo)和數(shù)據(jù)塊的讀取和可能的并行執(zhí)行有關(guān)并將兩者作對(duì)比.在一些情況下,一些不必要的全表搜索的消除可以通過(guò)強(qiáng)制使用一個(gè)index來(lái)達(dá)到,只需要在SQL語(yǔ)句中加入一個(gè)索引的提示就可以了.在全表搜索是一個(gè)最快的訪問(wèn)方法時(shí),將小表的全表搜索放到緩存中,調(diào)優(yōu)專(zhuān)家應(yīng)該確保有一個(gè)專(zhuān)門(mén)的數(shù)據(jù)緩沖用作行緩沖.在Oracle7中,你可以使用altertablexxxcache語(yǔ)句,在Oracle8或以上,小表可以被強(qiáng)制為放到KEEP池中緩沖.確保最優(yōu)的索引使用:對(duì)于改善查詢(xún)的速度,這是特別重要的.有時(shí)Oracle可以選擇多個(gè)索引來(lái)進(jìn)行查詢(xún),調(diào)優(yōu)專(zhuān)家必須檢查每個(gè)索引并且確保Oracle使用正確的索引.它還包括bitmap和基于函數(shù)的索引的使用.確保最優(yōu)的JOIN操作:有些查詢(xún)使用NESTEDLOOPjoin快一些,有些則是HASHjoin快一些,另外一些則是sort-mergejoin更快.這些規(guī)則看來(lái)簡(jiǎn)單,不過(guò)它們占OracleSQL調(diào)優(yōu)任務(wù)的90%,并且它們也無(wú)需完全懂得OracleSQL的內(nèi)部運(yùn)作.以下我們來(lái)簡(jiǎn)單概覽以下OracleSQL的優(yōu)化.我們首先簡(jiǎn)要查看Oracle的排序,并且看一看排序操作是如何影響性能的.調(diào)整Oracle的排序操作排序是SQL語(yǔ)法中一個(gè)小的方面,但很重要,在Oracle的調(diào)整中,它常常被忽略.當(dāng)使用createindex、ORDERBY或者GROUPBY的語(yǔ)句時(shí),Oracle數(shù)據(jù)庫(kù)將會(huì)自動(dòng)執(zhí)行排序的操作.通常,在以下的情況下Oracle會(huì)進(jìn)行排序的操作:使用Orderby的SQL語(yǔ)句.使用Groupby的SQL語(yǔ)句.在創(chuàng)建索引的時(shí)候進(jìn)行tablejoin時(shí),由于現(xiàn)有索引的不足而導(dǎo)致OracleSQL調(diào)優(yōu)用MERGESORT.當(dāng)與Oracle建立起一個(gè)session時(shí),在內(nèi)存中就會(huì)為該session分配一個(gè)私有的排序區(qū)域.如果該連接是一個(gè)專(zhuān)用的連接(dedicatedconnection),那么就會(huì)根據(jù)init.ora中sort_area_size參數(shù)的大小在內(nèi)存中分配一個(gè)ProgramGlobalArea(PGA).如果連接是通過(guò)多線程服務(wù)器建立的,那么排序的空間就在large_pool中分配.不幸的是,對(duì)于所有的session,用做排序的內(nèi)存量都必須是一樣的,我們不能為需要更大排序的操作分配額外的排序區(qū)域.因此,設(shè)計(jì)者必須作出一個(gè)平衡,在分配足夠的排序區(qū)域以避免發(fā)生大的排序任務(wù)時(shí)出現(xiàn)磁盤(pán)排序(disksorts)的同時(shí),對(duì)于那些并不需要進(jìn)行很大排序的任務(wù)就會(huì)出現(xiàn)一些浪費(fèi).當(dāng)然,當(dāng)排序的空間需求超出了sort_area_size的大小時(shí),這時(shí)將會(huì)在TEMP表空間中分頁(yè)進(jìn)行磁盤(pán)排序.磁盤(pán)排序要比內(nèi)存排序大概慢14,000倍.上面我們已經(jīng)提到,私有排序區(qū)域的大小是有init.ora中的sort_area_size參數(shù)決定的.每個(gè)排序所占用的大小由init.ora中的sort_area_retained_size參數(shù)決定.當(dāng)排序不能在分配的空間中完成時(shí),就會(huì)使用磁盤(pán)排序的方式,即在Oracle實(shí)例中的臨時(shí)表空間中進(jìn)行.磁盤(pán)排序的開(kāi)銷(xiāo)是很大的,有幾個(gè)方面的原因.首先,和內(nèi)存排序相比較,它們特別慢;而且磁盤(pán)排序會(huì)消耗臨時(shí)表空間中的資源.Oracle還必須分配緩沖池塊來(lái)保持臨時(shí)表空間中的塊.無(wú)論什么時(shí)候,內(nèi)存排序都比磁盤(pán)排序好,磁盤(pán)排序?qū)?huì)令任務(wù)變慢,并且會(huì)影響Oracle實(shí)例的當(dāng)前任務(wù)的執(zhí)行.還有,過(guò)多的磁盤(pán)排序?qū)?huì)令freebufferwaits的值變高,從而令其它任務(wù)的數(shù)據(jù)塊由緩沖中移走.【編輯推薦】【責(zé)任編輯:孫巧華TEL:(010)68476606】在oracle中如何查看sql執(zhí)行計(jì)劃1、 使用explainplanfor命令--在sqlplus執(zhí)行要查看執(zhí)行計(jì)劃的sqlexplainplanforSELECTCOUNT(1)FROMT_REG_EGG_JOINWHEREUSERID=:B1;select*fromtable(dbms_xplan.display);2、 使用sqlplusautotrace方法---在sqlplus中使用如下命令,再執(zhí)行要查看執(zhí)行計(jì)劃的sql,使用方法如下:setautotraceoff不生成autotrace報(bào)告,這是缺省模式setautotraceonexplain autotrace只顯示優(yōu)化器執(zhí)行路徑報(bào)告setautotraceonstatistics--只顯示執(zhí)行統(tǒng)計(jì)信息setautotraceon包含執(zhí)行計(jì)劃和統(tǒng)計(jì)信息setautotracetraceonly 同setautotraceon,但是不顯示查詢(xún)輸出sqlplus"/assysdba"SQL>settimingonSQL>setautotracetraceonlySQL>select*fromoss01.os_user_infowhereusernumber='8613794475567';Elapsed:00:00:00.01ExecutionPlanPlanhashvalue:3340516869|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|Pstart|Pstop||0|SELECTSTATEMENT||1|170|(0)|00:00:01||||1|PARTITIONHASHSINGLE||1|170|(0)|00:00:01|8|8||2|TABLEACCESSBYLOCALINDEXROWID|OS_USER_INFO|1|170|2(0)|00:00:01|8|8||*3|INDEXUNIQUESCAN|OS_USER_INFO_IDX1|1||1(0)|00:00:01|8|8|PredicateInformation(identifiedbyoperationid):-access("USERNUMBER"='8613794475567')0recursivecalls0dbblockgetsconsistentgets0physicalreads3440bytessentviaSQL*Nettoclient492bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)1rowsprocessed3、查詢(xún)v$sql_plan視圖---根據(jù)表名查v$sqlarea得出sql_idselectsql_text,sql_id,modulefromv$sqlareawherelower(sql_text)like'%oss01.os_user_info%8613794475567%';---根據(jù)sid取查v$session,v$sql得出hash_value,address值selecta.sql_text,a.address,a.hash_valuefromv$sqla,v$sessionbwherea.hash_value=b.sql_hash_valueandb.sid=s再查詢(xún)v$sql_plan得出真實(shí)具體的執(zhí)行計(jì)劃.在ORACLE數(shù)據(jù)庫(kù)中,需要對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化的話(huà)需要知道其執(zhí)行計(jì)劃,從而針對(duì)性的進(jìn)行調(diào)整.ORACLE的執(zhí)行計(jì)劃的獲得有幾種方法,下面就來(lái)總結(jié)下1、 EXPLAIN的使用OracleRDBMS執(zhí)行每一條SQL語(yǔ)句,都必須經(jīng)過(guò)Oracle優(yōu)化器的評(píng)估.所以,了解優(yōu)化器是如何選擇(搜索)路徑以及索引是如何被使用的,對(duì)優(yōu)化SQL語(yǔ)句有很大的幫助.Explain可以用來(lái)迅速方便地查出對(duì)于給定SQL語(yǔ)句中的查詢(xún)數(shù)據(jù)是如何得到的即搜索路徑(我們通常稱(chēng)為AccessPath).從而使我們選擇最優(yōu)的查詢(xún)方式達(dá)到最大的優(yōu)化效果.1.1、 安裝要使用EXPLAIN首先要執(zhí)行相應(yīng)的腳本,創(chuàng)建出Explain_plan表.具體腳本執(zhí)行如下:$ORACLE_HOME/rdbms/admin/utlxplan.sql(UNIX)該腳本后會(huì)生成一個(gè)表這個(gè)程序會(huì)創(chuàng)建一個(gè)名為plan_table的表.1.2、 使用常規(guī)使用語(yǔ)法:explainPLAN[SETSTATEMENT_ID[=]<stringliteral>][INTO<table_name>]FOR<sql_statement>其中:STATEMENT_ID:是一個(gè)唯一的字符串,把當(dāng)前執(zhí)行計(jì)劃與存儲(chǔ)在同一PLAN中的其它執(zhí)行計(jì)劃區(qū)別開(kāi)來(lái).TABLE_NAME:是plan表名,它結(jié)構(gòu)如前所示,你可以任意設(shè)定這個(gè)名稱(chēng).SQL_STATEMENT:是真正的SQL語(yǔ)句.比如:SQL>explainplansetstatement_id='T_TEST'forselect*fromt_test;SQL>Explained執(zhí)行下面語(yǔ)句可以查詢(xún)到執(zhí)行計(jì)劃SQL>SELECTA.OPERATION,OPTIONS,OBJECT_NAME,OBJECT_TYPE,ID,PARENT_IDFROMPLAN_TABLEaWHERESTATEMENT_ID='T_TEST'ORDERBYId;也可以用這句話(huà)select*fromtable(dbms_xplan.display);可以把所有PLAN_TABLE里的數(shù)據(jù)羅列出來(lái).2、 AUTOTRACE的使用方法2.1、安裝用sys用戶(hù)運(yùn)行腳本ultxplan.sql建立這個(gè)表的腳本是:(UNIX:$ORACLE_HOME/rdbms/admin,Windows:%ORACLE_HOME%\rdbms\admin)ultxplan.sql.SQL>@C:\oracle\ora92\rdbms\admin\utlxplan.sql;SQL>createpublicsynonymplan_tableforplan_table;--建立同義詞SQL>grantallonplan_tabletopublic;--授權(quán)所有用戶(hù)要在數(shù)據(jù)庫(kù)中建立一個(gè)角色plustrace,用sys用戶(hù)運(yùn)行腳本plustrce.sql來(lái)創(chuàng)建這個(gè)角色,這個(gè)腳本在目錄(UNIX:$ORACLE_HOME/sqlplus/admin,Windows:%ORACLE_HOME%\sqlplus\admin)中;SQL>@C:\oracle\ora92\sqlplus\admin\plustrce.sql;然后將角色plustrace授予需要autotrace的用戶(hù);SQL>grantplustracetopublic;經(jīng)過(guò)以上步驟的設(shè)置,就可以在sql*plus中使用autotrace了2、2使用使用起來(lái)非常方便,只要使用一條命令就可以了SQL>SETAUTOTRACEON;*autotrace功能只能在SQL*PLUS里使用其他一些使用方法:2.2.1、 在SQLPLUS中得到語(yǔ)句總的執(zhí)行時(shí)間
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026屆安徽省縣域合作共享聯(lián)盟高三上學(xué)期期末質(zhì)量檢測(cè)歷史試題(含答案)
- 試題研究中考生物試卷及答案
- 山西安管再培訓(xùn)試題及答案
- 企業(yè)內(nèi)部控制試題及答案
- 2025 小學(xué)二年級(jí)科學(xué)下冊(cè)認(rèn)識(shí)動(dòng)物翅膀飛行高度測(cè)試報(bào)告總結(jié)課件
- 2026 年初中英語(yǔ)《短文改錯(cuò)》專(zhuān)項(xiàng)練習(xí)與答案 (100 題)
- 2026年深圳中考語(yǔ)文二模仿真模擬試卷(附答案可下載)
- 2026年大學(xué)大二(康復(fù)治療學(xué))康復(fù)治療技術(shù)基礎(chǔ)測(cè)試題及答案
- 肺心病護(hù)理團(tuán)隊(duì)協(xié)作模式
- 2026年深圳中考化學(xué)有關(guān)化學(xué)式的計(jì)算試卷(附答案可下載)
- 《成人基本生命支持技能》課件
- 環(huán)境保護(hù)與水土保持施工方案與措施
- 體育場(chǎng)館物業(yè)管理機(jī)構(gòu)及其崗位職責(zé)
- 四川省內(nèi)江市2024-2025學(xué)年高二上學(xué)期期末檢測(cè)生物試題(解析版)
- 某涂料公司銷(xiāo)售人員能力發(fā)展指導(dǎo)手冊(cè)
- 2025高三生物二輪復(fù)習(xí)進(jìn)度安排
- 2025年陜西延安市直事業(yè)單位選聘工作人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 福建省部分地市2025屆高中畢業(yè)班第一次質(zhì)量檢測(cè) 化學(xué)試卷(含答案)
- 實(shí)驗(yàn)室設(shè)備采購(gòu)中的風(fēng)險(xiǎn)管理及應(yīng)對(duì)策略
- 2024年某銀行內(nèi)部管理制度范文(2篇)
- 夫妻債務(wù)約定協(xié)議書(shū)
評(píng)論
0/150
提交評(píng)論