国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

說一說 Oracle庫的Hang

2024-08-29 13:30:35
字體:
來源:轉載
供稿:網(wǎng)友
  • 本文來源于網(wǎng)頁設計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。

  • 有些時侯,我當然指的是非常少的情況下,我們會感覺我們的庫”hang”了,加了隱號的意思是說有時真的是hang了,有一些則不是,是由于性能的問題引起的。我遇到過幾次hang的情況,結合著網(wǎng)上一些文章,把可能的原因、當時我們應該做的一些操作進行了如下的總結,不對的地方大家可以發(fā)mail給我:[email protected]。

    一、數(shù)據(jù)庫hang時可能的現(xiàn)象

    1、最直觀的是你的大部分的業(yè)務操作,比如說一個查詢都使用好長的時間,或根本就返回不出結果。這和簡單那種鎖表是有區(qū)別的。

    2、在操作系統(tǒng)上用hp-unix用glance、aix用nmon及用sar做監(jiān)測會出現(xiàn)系統(tǒng)空閑的假象,表面看起來系統(tǒng)很閑,實際上系統(tǒng)已經(jīng)hang了。

    3、查v$session_wait會出現(xiàn)大量的”latch free”、”enqueue”、” free buffer waits”等等待事件,有時后臺會出現(xiàn)大量的.trc文件,另外需要觀注一下$oracle_home/rdbms/log這個位置,有一些時侯trace文件會生成到這里。

    二、oracle庫hang時一些有用的操作和查詢

    1、如果要尋求oracle的技術支持,我們需要dump一下oracle的systemstate,操作如下
    sql>conn / as sysdba;
    sql> alter session set events 'immediate trace name systemstate level 10';
    需要等幾分鐘的時間,這時在init<sid>.ora中所設置的user_dump_dest所標識的位置就可以找到這個.trc文件,一般比較大。

    2、捕獲一些視圖的狀態(tài)值
    sql>conn / as sysdba;
    sql>set linesize 500
    sql>set pagesize 0
    sql>spool v_views.txt
    sql> select * from v$parameter;
    sql>select class, value, name from v$sysstat;
    sql>select sid, id1, id2, type, lmode, request from v$lock;
    sql>select l.latch#, n.name, h.pid, l.gets, l.misses, l.immediate_gets, l.immediate_misses, l.sleeps from v$latchname n, v$latchholder h, v$latch l where l.latch# = n.latch# and l.addr = h.laddr(+);
    sql>select * from v$session_wait order by sid;  --隔幾秒重復執(zhí)行3次。
    sql>spool off

    3、有條件的話用statspack生成了一個report,如果你對statspach不熟悉,可以參照http://www.itpub.net/showthread.php?s=&threadid=144448這個鏈接。

    三、產生hang可能的幾個原因

    1、開歸檔的情況下,歸檔位置所在的文件系統(tǒng)滿了,這時lgwr就會等待歸檔進程的完成,dml寫不了日志,都處于等待的狀態(tài)。

    2、在hp的系統(tǒng)開異步io時,沒為dba的組設置mlock權限。正常來說oracle的啟動是會報錯的,可是有些時侯比如oracle8.1.6的版本就不報錯啟動,但是此時的異步io是有問題的,仔細查看你會在$oracle_home/rdbms/log看到大量的.trc文件。這種情形引的hang我遇到過。

    3、由于異常進程引起的,我所說的是那些占用系統(tǒng)資源(cpu,memory)特別大的進程,這些進程一般占用cpu會達到90%以上,相對其它的進程比較突出??梢酝ㄟ^hp-unix的glance、topas,ibm的nmod,topas,ps等工具進行監(jiān)測。

    4、由于主機系統(tǒng)、陣列的某方面的瓶頸引起的,在實際中最普遍的應該是io的問題,比如io方面有瓶頸,則dbwr、lgwr就會引” free buffer waits”、” log buffer space”等一系列的等待事件,此時是性能的問題,感覺起來像hang。

    5、也有bug的因素,我的庫都是最新的補丁,這方面的問題還沒遇到過。

    四、幾點處理建議
    當?shù)玫給racle的庫奇慢或hang時保持冷靜的頭腦很重要的,可以按如下的方法進行一些處理:

    1、首先要到操作系統(tǒng)上去,用glance等工具進行一下觀察,看一下cpu、內存、交換區(qū)、磁盤的繁忙程度與平時是不是相似的,同時看一看有沒有占系統(tǒng)資源特別大的進程,有些時侯是這些進程引起的,通過v$process和v$session兩個視圖找到這oracle進程的sid,serial#,把它用alter system kill session ‘sid,serial#’;殺掉就行了。如果平時同樣的時段你的磁盤的繁忙程度是95%,而些時它為20%,當然是假設了,說明oracle的庫沒準真的hang了。

    2、時間來得及的話執(zhí)行一下”二”中的語句是很必要的,這樣可以把這些信息提交給oracle的supporter,讓你們給你分析一下,查一下原因。

    3、如果你的庫開歸檔了,出現(xiàn)hang的時侯一定要看一下歸檔日志的文件系統(tǒng)是不是滿了,做一個完備一些的網(wǎng)管系統(tǒng)是很必要的。

    4、在hp系統(tǒng)上打開異步io時一定不要忘記為dba這個組加上mlock的權限,我就吃過這個虧。

    5、時常的觀注一下v$session_wait或用statspack進行觀注一下等待事件,一般io相關的事件較多,為oracle打開異步io、多加幾個寫進程及為oracle數(shù)據(jù)文件所用的raw device使用條帶都是很必要的。與應用的開發(fā)商交流也很重要,沒準最近新上的一個應用就特耗io或特占cpu資源。

    6、盡量要使用比較穩(wěn)定的oracle的版本,比如oracle8.1.7.4及oracel9.2.0.4(最新為 9.2.0.5)都很穩(wěn)定的,可以少去好多的麻煩。

     
    發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 当雄县| 阜南县| 融水| 常州市| 青海省| 二手房| 泗洪县| 汾阳市| 太谷县| 南江县| 扬中市| 亚东县| 双辽市| 锦屏县| 卓资县| 寿阳县| 三江| 霍林郭勒市| 常州市| 神池县| 西乌珠穆沁旗| 麻江县| 淳安县| 枞阳县| 德惠市| 三都| 司法| 澄迈县| 龙游县| 中西区| 雷州市| 衢州市| 扶沟县| 西藏| 当阳市| 铁力市| 苍溪县| 正阳县| 凤庆县| 利川市| 乳山市|