DBMS_TRACE包學習
DBMS_TRACE 包可能主要是開發除錯的時候用的比較多,主要是將trace資訊記錄到系統表裡.
開始使用前需要使用sys使用者執行$ORACLE_HOME/rdbms/admin/tracetab.sql語句,該指令碼建立plsql_trace_runs和plsql_trace_events兩個表和一個sequence,詳細可以參考指令碼內容.
通常使用的可能是dbms_trace.set_plsql_trace(trace_level);和dbms_trace.clear_plsql_trace兩個procedure.
trace_level可以參考dbms_trace package中的定義:
trace_all_calls constant integer := 1; -- Trace calls/returns
trace_enabled_calls constant integer := 2;
trace_all_exceptions constant integer := 4; -- trace exceptions
trace_enabled_exceptions constant integer := 8; -- (and handlers)
trace_all_sql constant integer := 32; -- trace SQL statements
trace_enabled_sql constant integer := 64; -- at PL/SQL level (does
-- not invoke SQL trace)
trace_all_lines constant integer := 128; -- trace each line
trace_enabled_lines constant integer := 256;
即1就代表trace_all_calls。
下面參考網上找了一個例子寫了個簡單的儲存過程:
create or replace procedure cur_trace_test as
in_rand number :=0;
lv_lang varchar2(30);
begin
select userenv('LANGUAGE') into lv_lang from dual;
dbms_trace.set_plsql_trace(1);
for i in 1 .. 2 LOOP
in_rand:=1+i;
if (MOD(in_rand,100) = 0) then
dbms_output.put_line(to_char(in_rand));
end if;
END LOOP;
dbms_trace.clear_plsql_trace;
end cur_trace_test;
執行後可以根據sys.plsql_trace_runs和sys.plsql_trace_events表中的資訊跟蹤儲存過程的執行.
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1034419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript:閉包學習JavaScript
- 學習Javascript閉包JavaScript
- PLSQL學習-【9包】SQL
- wireshark抓包學習
- 閉包方法的學習
- js學習六-閉包JS
- DBMS_OUTPUT包學習
- 學習Javascript閉包(Closure)JavaScript
- 揹包 學習筆記筆記
- 大資料學習:閉包大資料
- go 閉包學習筆記Go筆記
- Scala學習(七)---包和引入
- rust學習八、包和模組Rust
- .Net Core 學習筆記1——包、元包、框架筆記框架
- 深入學習js之——閉包#8JS
- Python學習之模組與包Python
- Python學習筆記 - 閉包Python筆記
- java學習筆記(包裝類)Java筆記
- java學習之基本包裝類Java
- struts 日誌包(學習筆記)筆記
- 使用DBMS_TRACE對PL/SQL進行跟蹤SQL
- 一文讀懂遷移學習(附學習工具包)遷移學習
- Go 官方包函式學習及示例Go函式
- Java學習--Java 中的包裝類Java
- 包頭(Package)與包體(Package body)的學習與應用Package
- 登入抓包逆向分析學習筆記筆記
- go標準庫-log包原始碼學習Go原始碼
- 學習一下閉包函式 - Closures函式
- Go語言Context包原始碼學習GoContext原始碼
- opencascade原始碼學習之HLRAlgo包 -HLRAlgo原始碼Go
- 【Go語言學習】匿名函式與閉包Go函式
- 學習擴張包的開發到釋出
- 零基礎學習 Python 之閉包Python
- 【Go】Go語言學習筆記-3-包Go筆記
- 【GO學習二】包,函式,常量和變數Go函式變數
- Vue原始碼學習二 ———— Vue原型物件包裝Vue原始碼原型物件
- java併發包學習系列:jdk併發容器JavaJDK
- python模組學習- textwrap 文字包裝和填充Python