資源描述:
《oracle查看,sql執(zhí)行計(jì)劃(共6篇)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃oracle查看,sql執(zhí)行計(jì)劃(共6篇) ORACLE中查看執(zhí)行計(jì)劃及SQLTRACE 有三種方法: 1.Explainplan SQL>explainplanforselect*fromaa; 查看結(jié)果: SQL>select*fromtable(dbms_()); SQL>settimingon--記錄所用時(shí)間 SQL>setautotracetraceonly--自動(dòng)記錄執(zhí)行計(jì)劃 然后執(zhí)
2、行SQL語句即可。 _TRACE ORACLESQL_TRACE “SQLTRACE”是Oracle提供的用于進(jìn)行SQL跟蹤的手段,是強(qiáng)有力的輔助診斷工具。在日常的數(shù)據(jù)庫問題診斷和解決中,“SQLTRACE”是非常常用的方法。 一般,一次跟蹤可以分為以下幾步: 1、界定需要跟蹤的目標(biāo)范圍,并使用適當(dāng)?shù)拿顔⒂盟韪??! ?、經(jīng)過一段時(shí)間后,停止跟蹤。此時(shí)應(yīng)該產(chǎn)生了一個(gè)跟蹤結(jié)果文件。目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適
3、應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 3、找到跟蹤文件,并對其進(jìn)行格式化,然后閱讀或分析。 本文就“SQLTRACE”的這些使用作簡單探討,并通過具體案例對SQL_TRACE的使用進(jìn)行說明?! ∫弧ⅰ癝QLTRACE”的啟用?! ?A)SQL_TRACE說明 SQL_TRACE可以作為初始化參數(shù)在全局啟用,也可以通過命令行方式在具體session啟用。 1.在全局啟用 在參數(shù)文件(pfile/spfile)中指定:SQL_TRACE=true
4、 在全局啟用SQL_TRACE會(huì)導(dǎo)致所有進(jìn)程的活動(dòng)被跟蹤,包括后臺(tái)進(jìn)程及所有用戶進(jìn)程,這通常會(huì)導(dǎo)致比較嚴(yán)重的性能問題,所以在生產(chǎn)環(huán)境中要謹(jǐn)慎使用?! √崾?通過在全局啟用SQL_TRACE,我們可以跟蹤到所有后臺(tái)進(jìn)程的活動(dòng),很多在文檔中的抽象說明,通過跟蹤文件的實(shí)時(shí)變化,我們可以清晰的看到各個(gè)進(jìn)程之間的緊密協(xié)調(diào)。 2.在當(dāng)前session級設(shè)置 大多數(shù)時(shí)候我們使用SQL_TRACE跟蹤當(dāng)前會(huì)話的進(jìn)程。通過跟蹤當(dāng)前進(jìn)程可以發(fā)現(xiàn)當(dāng)前操作的后臺(tái)數(shù)據(jù)庫遞歸活動(dòng)(這在研究數(shù)據(jù)庫新特性時(shí)尤其有效),研究SQL執(zhí)行,發(fā)現(xiàn)后臺(tái)錯(cuò)誤等。
5、 在session級啟用和停止SQL_TRACE方式如下: 啟用當(dāng)前session的跟蹤:目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 SQL>altersessionsetSQL_TRACE=true; Sessionaltered. 此時(shí)的SQL操作將被跟蹤: SQL>selectcount(*)fromdba_us
6、ers; COUNT(*) ---------- 34 結(jié)束跟蹤: SQL>altersessionsetSQL_TRACE=false; Sessionaltered. 3.跟蹤其它用戶進(jìn)程 在很多時(shí)候我們需要跟蹤其他用戶的進(jìn)程,而不是當(dāng)前用戶,這可以通過Oracle提供的系統(tǒng)包DBMS__SQL_TRACE_IN_SESSION來完成 通過v$session我們可以獲得sid、serial#等信息: 獲得進(jìn)程信息,選擇需要跟蹤的進(jìn)程: SQL>selectsid,serial#,usernamef
7、romv$sessionwhereusername=’***’SIDSERIAL#USERNAME -------------------------------------------------- 82041SYS目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 9437EYGLE 設(shè)置跟蹤: SQL>execdbms__
8、SQL_TRACE_in_session(9,437,true) PL/SQLproceduresuccessfullycompleted. ?. 可以等候片刻,跟蹤session執(zhí)行任務(wù),捕獲sql操作? ?. 停止跟蹤: SQL>execdbms__SQL_TRACE_in_sessio