gdufo

           

          Diagnostic and Tuning Tools

           

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

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

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

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

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

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

          ③ systemwide statistics的收集
          所有systemwide statistics的指標類型存放在v$statname中。所有指標的統(tǒng)計值存儲在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全局統(tǒng)計,可以通過查看v$SGASTAT獲得。
          ⑤等待事件的統(tǒng)計:所有可能引起等待的事件類型都存放在v$event_name中。
          I) 所有的sessions的累計統(tǒng)計存放在v$system_event,顯示了自instance startup后所有等待事件的統(tǒng)計數(shù)據(jù)。
          II) 在troubleshooting時,往往需要知道某些進程在等待什么資源,對此,需要查找與session相關(guān)的視圖。session的數(shù)據(jù)是從連接建立開始計算的。視圖v$mystat顯示了當前連接創(chuàng)建的session的統(tǒng)計信息。 eg. select sid, username, server from v$session where type=’USER’;
          v$sesstat中顯示了所有session的每個v$sysname的統(tǒng)計信息。如上圖。
          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等待事件的統(tǒng)計:v$session_event顯示了自instance startup后,每個session的所有不同等待統(tǒng)計。v$session_wait顯示了active的session正在等待的事件或資源。

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

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

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 保康县| 亳州市| 平山县| 钟祥市| 睢宁县| 托里县| 江川县| 东海县| 华容县| 桑植县| 尼玛县| 望都县| 怀柔区| 定兴县| 莎车县| 安康市| 永寿县| 麻栗坡县| 洱源县| 海南省| 鄢陵县| 明溪县| 宁安市| 静宁县| 裕民县| 西平县| 邯郸县| 仪征市| 民勤县| 旺苍县| 佛学| 千阳县| 达拉特旗| 嘉义市| 普兰店市| 冕宁县| 南召县| 天柱县| 全南县| 信丰县| 成都市|