gdufo

           

          Diagnostic and Tuning Tools

           

          1、alert log file:DBA必須定期查看alert log文件,主要關注的信息主要有:內部的errors(ORA-600)和block corruption errors(ORA-1578或ORA-1498);DB的操作信息,如create database、startup、shutdown、archive log、recover等;對非默認參數的設置。它所記錄的checkpoint start和end時間、未完成的checkpoint、歸檔時間crash的恢復時間是對調優很重要的。
          注:alert_sid.log文件的路徑由參數background_dump_dest決定;只有在參數log_checkpoints_to_alert被設置為true時,才會將checkpoint動作記錄其中。

          2、后臺進程的trace files:Oracle會將后臺進程檢測出的errors信息寫入trace files,主要用于診斷和查找故障原因,不包含tuning信息。

          3、user trace files:它可以通過user或DBA的server processes請求產生,分為instance-level-tracing(通過set sql_trace=true/false設置)和session-level-tracing(通過 dbms_system.set_sql_trace_in_session設置指定session的tracing,或用alter session set sql_trace=true設置當前session的tracing)。user trace files包含了對tracing session的sql的信息。此外,還可用于alter database backup controlfile to trace和alter system set events(這個看到后面再說,現在不同了解)

          4、views、utilities和tools:
          ①v$xxx視圖顯示了當前system的動態統計信息特別是v$sysstat。但是這些信息時往往是自實例啟動以來的一個累計數據。所以有時會比較unhelpful。DBA_xxx視圖記錄了數據的存儲統計信息。
          ②utlbstat和utlestat工具腳本:主要收集某段時間內的性能指標。
          ③statspack:其本質與utlbstat和utlestat是一致的,收集性能指標,優點在于它可以把統計信息保存在DB中從而進行不同階段的比較。
          ④等待事件wait events:在troubleshooting時需要關注那些進程在等待,并在等待什么資源。
          ⑤此外還有其他的GUI工具用于DB的診斷。

          5、dictionary和特殊的views:
          當想要獲得數據存儲的細節信息時,需要先使用analyze語句對數據進行分析統計,再查看相關的DBA_xxx和特定的views。但這些統計信息是靜 態的,只有再次運行analyze才會發生改變,而且對于較大data,用時較大。analyze獲得的數據主要在下面的視圖中:
          DBA_TABLES/DBA_TAB_COLUMNS/DBA_CLUSTERS/DBA_INDEXES/INDEX_STATS/DBA_TAB_HISTOGRAMS/INDEX_HISTOGRAM
          這個將會在后面詳細講述。

          6、動態troubleshooting和性能視圖:
          ①v$ views:是建立在想x$ tables的基礎上,存儲在內存結構中,保留instance的信息,所以只要在instance處于nomount的情況即可查詢了。它們被羅列在v$fixed_table中,只有sys user可用。
          ②x$ tables:是動態的,數據隨時變化,并且在shutdown時被清除,在startup時重新組裝。當設置timed_statistics為true時,它們將保存時間信息。

          ③ systemwide statistics的收集
          所有systemwide statistics的指標類型存放在v$statname中。所有指標的統計值存儲在v$sysstat中。例如:select name, class, value from v$sysstat;
          一般systemwide statistics的類型為:
          • Class 1 refers to general instance activity.
          • Class 2 refers to redo log buffer activity.
          • Class 4 refers to locking.
          • Class 8 refers to database buffer cache activity.
          • Class 16 refers to OS activity.
          • Class 32 refers to parallelization.
          • Class 64 refers to tables access.
          • Class 128 refers to debugging purposes.


          ④SGA全局統計,可以通過查看v$SGASTAT獲得。
          ⑤等待事件的統計:所有可能引起等待的事件類型都存放在v$event_name中。
          I) 所有的sessions的累計統計存放在v$system_event,顯示了自instance startup后所有等待事件的統計數據。
          II) 在troubleshooting時,往往需要知道某些進程在等待什么資源,對此,需要查找與session相關的視圖。session的數據是從連接建立開始計算的。視圖v$mystat顯示了當前連接創建的session的統計信息。 eg. select sid, username, server from v$session where type=’USER’;
          v$sesstat中顯示了所有session的每個v$sysname的統計信息。如上圖。
          eg. 下面查詢pga使用大約30000 bytes的session 
          select username,name,value
            from v$statname a, v$session b, v$sesstat c
            where a.statistic# = c.statistic#
            and b.sid = c.sid
            and b.type = ‘USER’
            and a.name = ’session pga memory’
            and c.value > 30000;
          III) session等待事件的統計:v$session_event顯示了自instance startup后,每個session的所有不同等待統計。v$session_wait顯示了active的session正在等待的事件或資源。

          7、statspack 這個我在其他文章中介紹了,嘻嘻這里只是提一下。sg中說,可以設置dbms_job,從而每周監控DB一定時間段的性能狀態,進行對比從而定期進行tuning。

          8、Oracle的等待事件:前面已經敘述了很多了,在這里要指出的是,v$session_wait中的p1text字段和 v$event_name中的parameter1字段是相對應。p2text和p3text也是一樣的。此外,動態的初始化參數 timed_statistics設置為true時,將可以取wait_time字段的value。

          此外,Oracle還提供了performance manager和Oracle enterprise兩個可選包,用于性能的檢測和管理。另外,DBA還應該根據自己的需要,創建自己的腳本用于統計,例如查看不同數據文件的使用狀況的腳本。

          posted on 2010-01-12 12:26 gdufo 閱讀(472) 評論(0)  編輯  收藏 所屬分類: Database (oracle, sqlser,MYSQL)

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 呈贡县| 道真| 那曲县| 阳城县| 彭泽县| 大厂| 南靖县| 乐安县| 舞钢市| 苍南县| 布尔津县| 南昌县| 三门县| 景宁| 德化县| 石家庄市| 中江县| 洪洞县| 东安县| 静海县| 鱼台县| 承德市| 芜湖县| 雷州市| 且末县| 永和县| 长汀县| 滨州市| 封开县| 崇信县| 周至县| 阿克苏市| 青海省| 米泉市| 水城县| 沛县| 禄劝| 彭阳县| 平原县| 塔城市| 益阳市|