Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          使用DBMS_SUPPORT包
          ?
          ??? 原本是想找個簡單的放來,來確定當前session的SID號的,在網上就發現了這個Package,感覺還不錯,不但可以以最簡單的方式得到SID,而且還可以對當前session進行Trace,包小但是很實用。唯一的缺點是這個包需要自己進行編譯才可以,比較麻煩。下面轉篇文章簡單介紹一下。
          ------------------------------------------------------------------------------------
          ?
          使用DBMS_SUPPORT包
          ?
          作者: eygle | English Version 【轉載時請以超鏈接形式標明文章 和作者信息及 本聲明
          鏈接:

          ?

          DBMS_SUPPORT包從Oracle7.2引入,主要功能用以提供更完整的用戶session跟蹤信息

          這個包可以通過運行 dbmssupp.sqlprvtsupp.plb 兩個腳本來創建.

          該腳本位于$ORACLE_HOME/rdbms/admin目錄下

          以下版本中都包含這些文件:

          8.0.6, 8.1.7, 9.0.1, 9.2.0 and above

          1.創建DBMS_SUPPORT Package

          SQL> @?/rdbms/admin/dbmssupp.sql

          Package created.

          Package body created.

          SQL> @?/rdbms/admin/prvtsupp.plb

          Package body created.

          2.主要函數及過程

          SQL> desc dbms_support

          FUNCTION MYSID RETURNS NUMBER

          FUNCTION PACKAGE_VERSION RETURNS VARCHAR2

          PROCEDURE START_TRACE
          Argument Name????????????????? Type??????????????????? In/Out Default?
          ------------------------------ ----------------------- ------ --------
          WAITS????????????????????????? BOOLEAN???????????????? IN???? DEFAULT
          BINDS????????????????????????? BOOLEAN???????????????? IN???? DEFAULT

          PROCEDURE START_TRACE_IN_SESSION
          Argument Name????????????????? Type??????????????????? In/Out Default?
          ------------------------------ ----------------------- ------ --------
          SID??????????????????????????? NUMBER????????????????? IN
          SERIAL???????????????????????? NUMBER????????????????? IN
          WAITS????????????????????????? BOOLEAN???????????????? IN???? DEFAULT
          BINDS????????????????????????? BOOLEAN???????????????? IN???? DEFAULT

          PROCEDURE STOP_TRACE

          PROCEDURE STOP_TRACE_IN_SESSION
          Argument Name????????????????? Type??????????????????? In/Out Default?
          ------------------------------ ----------------------- ------ --------
          SID??????????????????????????? NUMBER????????????????? IN
          SERIAL???????????????????????? NUMBER????????????????? IN

          3.簡單用法

          SQL> SELECT DBMS_SUPPORT.MYSID from DUAL;

          MYSID
          ----------
          8

          SQL> select dbms_support.PACKAGE_VERSION from dual;

          PACKAGE_VERSION
          --------------------------------------------------------------------------------
          DBMS_SUPPORT Version 1.0 (17-Aug-1998) - Requires Oracle 7.2 - 8.0.5

          ?

          4.進程跟蹤(跟蹤當前session及其他session)

          SQL> exec dbms_support.start_trace

          PL/SQL procedure successfully completed.

          SQL> select count(*) from dba_users;

          COUNT(*)
          ----------
          34

          SQL> exec dbms_support.stop_trace;

          PL/SQL procedure successfully completed.

          SQL> select sid,serial#,username from v$session
          2 /

          SID ?????? SERIAL# ?? USERNAME
          ---------- ---------- ------------------------------
          1 ???????? 1
          2 ???????? 1
          3 ???????? 1
          4 ???????? 1
          5 ???????? 1
          6 ???????? 1
          7 ???????? 1
          8 ???????? 764 ?????? SYS

          8 rows selected.

          SQL> exec dbms_support.start_trace_in_session(4,1);

          PL/SQL procedure successfully completed.

          SQL> exec dbms_support.stop_trace_in_session(4,1);

          PL/SQL procedure successfully completed.

          ?

          5.Trace文件

          以上跟蹤生成的Trace文件可以在udump目錄下找到.

          SQL> show parameter user_dump

          NAME ??????????????? TYPE ?????? VALUE
          -------------------- ----------- ---------------------------------
          user_dump_dest ????? string ???? /opt/oracle/admin/hsjf/udump

          ?

          ?
          ?
          posted on 2009-03-06 22:23 decode360 閱讀(116) 評論(0)  編輯  收藏 所屬分類: 06.PLSQL
          主站蜘蛛池模板: 佛坪县| 临江市| 鹤峰县| 靖安县| 柳江县| 图们市| 汉源县| 广德县| 远安县| 安康市| 迭部县| 宁晋县| 西乌珠穆沁旗| 林西县| 开封县| 麻城市| 西和县| 灵台县| 武山县| 丹凤县| 遵义市| 遂溪县| 新野县| 兴国县| 固镇县| 兴隆县| 波密县| 苍梧县| 丽水市| 周至县| 忻城县| 沁水县| 宜良县| 苏尼特左旗| 手游| 临湘市| 册亨县| 全椒县| 永州市| 大新县| 九寨沟县|