• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    oracle幾個常用的監控視圖

    發布: 2007-11-16 14:05 | 作者: xingcyx | 來源: http://www.blogjava.net/xingcyx | 查看: 635次 | 進入軟件測試論壇討論

    領測軟件測試網 v$process視圖:
    v$process視圖包含當前系統oracle運行的所有進程信息。常被用于將oracle或服務進程的操作系統進程ID與數據庫session之間建立聯系。

    常用列:
    ADDR:進程對象地址
    PID:oracle進程ID
    SPID:操作系統進程ID


    V$PROCESS中的連接列
    Column View Joined Column(s)
    ADDR V$SESSION PADDR

    v$session視圖

    V$SESSION是基礎信息視圖,用于找尋用戶SID或SADDR。不過,它也有一些列會動態的變化,可用于檢查用戶。

    常用列:
    SID:SESSION標識,常用于連接其它列
    SERIAL#:如果某個SID又被其它的session使用的話則此數值自增加(當一個SESSION結束,另一個SESSION開始并使用了同一個SID)。
    AUDSID:審查session ID唯一性,確認它通常也用于當尋找并行查詢模式
    USERNAME:當前session在oracle中的用戶名。
    STATUS:這列用來判斷session狀態是:
        Achtive:正執行SQL語句(waiting for/using a resource)
        Inactive:等待操作(即等待需要執行的SQL語句)
        Killed:被標注為刪除

    paddr, process addr, 通過這個字段我們可以查看當前進程的相關信息, 系統進程id,操作系統用戶信息等等.

    (sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根據這兩組字段, 我們可以查詢到當前session正在執行的sql語句的詳細

    信息.

    v$sqltext視圖

    v$sqltext視圖包括Shared pool中SQL語句的完整文本,一條SQL語句可能分成多個塊被保存于多個記錄內。

    常用列:

    HASH_VALUE:SQL語句的Hash值
    ADDRESS:sql語句在SGA中的地址
    SQL_TEXT:SQL文本。
    PIECE:SQL語句塊的序號

    V$SQLTEXT中的連接列
    Column     View     Joined Column(s)
    HASH_VALUE, ADDRESS  V$SQL, V$SESSION  HASH_VALUE, ADDRESS
    HASH_VALUE. ADDRESS  V$SESSION   SQL_HASH_VALUE, SQL_ADDRESS

    按pid查看正在執行的程序:
    select sid,program from v$session b where paddr in (select addr from v$process where spid=$pid);

    按pid查看正在執行的sql語句
    select sql_text from v$sqltext where hash_value in (select sql_hash_value from v$session where  
    PADDR in (select addr from v"$process where spid=$pid)) order by piece;

    V$SESSION_WAIT視圖

    這是一個尋找性能瓶頸的關鍵視圖。它提供了任何情況下session在數據庫中當前正在等待什么(如果session當前什么也沒在做,則顯示它最后的等待事件)。當系統存在性能問題時,本視圖可以做為一個起點指明探尋問題的方向。

    V$SESSION_WAIT中,每一個連接到實例的session都對應一條記錄。

    常用列:

    SID: session標識
    EVENT: session當前等待的事件,或者最后一次等待事件。
    WAIT_TIME: session等待事件的時間(單位,百分之一秒)如果本列為0,說明session當前session還未有任何等待。
    SEQ#: session等待事件將觸發其值自增長
    P1, P2, P3: 等待事件中等待的詳細資料
    P1TEXT, P2TEXT, P3TEXT: 解釋說明p1,p2,p3事件

    附注:
    1.State字段有四種含義﹕
    Waiting:SESSION正等待這個事件。
    Waited unknown time:由于設置了timed_statistics值為false,導致不能得到時間信息。表示發生了等待,但時間

    很短。
    Wait short time:表示發生了等待,但由于時間非常短不超過一個時間單位,所以沒有記錄。
    Waited knnow time:如果session等待然后得到了所需資源,那么將從waiting進入本狀態。

    Wait_time值也有四種含義:
    值>0:最后一次等待時間(單位:10ms),當前未在等待狀態。
    值=0:session正在等待當前的事件。
    值=-1:最后一次等待時間小于1個統計單位,當前未在等待狀態。
    值=-2:時間統計狀態未置為可用,當前未在等待狀態。

    3.Wait_time和Second_in_wait字段值與state相關:
    如果state值為Waiting,那么wait_time值無用。Second_in_wait值是實際的等待時間(單位:秒)。
    如果state值為Wait unknow time,那么wait_time值和Second_in_wait值都無用。
    如果state值為Wait short time,那么wait_time值和Second_in_wait值都無用。
    如果state值為Waiting known time,那么wait_time值就是實際等待時間(單位:秒),Second_in_wait值無用。

    V$SESSION_WAIT中的連接列

    Column View Joined Colum
    SID V$SESSION SID

    查看session等待事件:
    select sid,event from v$session_wait where event not like 'rdbms%' and event not like 'SQL*Net message%';

    多數的session都是空閑事件如:SQL*Net message from client, pipe get, PMON timer等。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: oracle


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>