Alert Log 文件中記錄的與性能有關的信息
ORA不能擴展臨時段
ORA不能擴展表段
ORA不能擴展回滾段
ORA到達了表的最大的Extents
檢查點未完成(Checkpoint not complete)
線程推進日志序列(Thread n Advanced to Log Sequence n)
ORA快照過舊
後台跟蹤文件
自動生成
相關參數BACKUPGROUND_DUMP_DEST
事件跟蹤文件
設置後生成
相關參數EVENT BACKUPGROUND_DUMP_DEST USER_DUMP_DEST
用戶跟蹤文件
相關參數SQL_TRACEUSER_DUMP_DEST MAX_DUMP_FILE_SIZE
激活用戶跟蹤的三種方法
實例層次的跟蹤配置參數SQL_TRACE = TRUE | FALSE然後重啟實例
用戶層次的自行實置Alter session set sql_trace = true | false
用戶層次的DBA設置Exec dbms_systemset_sql_trace_in_session(SID SERIAL# TRUE | FALSE)
V$視圖和DBA_視圖
區別
V$視圖通常是單數DBA視圖通常是復數例如V$DATAFILE與DBA_DATA_FILES
當數據庫處於Nomout或者Mount時許多V$視圖已經是可用的而DBA視圖必須在數據庫處於Open時才可用
V$視圖查詢出來的數據多小寫DBA視圖查詢出的數據通常大寫所以在寫WHERE條件時需特別小心
V$視圖中包含的是自實例啟動以來的動態數據在數據庫關閉後會消失查詢V$視圖時必須關注時效性DBA視圖中包含的是靜態數據
V$視圖的基表是X$表X$表是存在於內存中的虛表DBA視圖的基表是數據字典表如SYSOBJ$ SYSFILE$等這兩種基表都很少有文檔
最常用的V$視圖
表名 描述
V$SGASTAT 顯示SGA組件大小的信息
V$EVENT_NAME 顯示當前版本的所有等待事件
V$SYSTEM_EVENT 自實例啟動已來的等待事件
V$SESSION_EVENT 目前連接會話的等待事件
V$SESSION_WAIT 目前連接會話正在發生的等待事件
V$STATNAME 顯示當前版本的所有統計名稱
V$SYSSTAT 自實例啟動以來的統計
V$SESSTAT 目前連接會話的統計
V$SESSION 目前連接會話的信息
V$WAITSTAT 塊競爭的統計
最常用的DBA視圖(有些欄位的值需要分析表或索引後才會有值)
表名 描述
DBA_TABLES 表的存儲統計等
DBA_INDEXES 索引的存儲統計等
INDEX_STATS 索引的深度和鍵值的離散度等
DBA_DATA_FILES 數據文件的命名位置大小
DBA_SEGMENTS 段的相關信息
DBA_HISTOGRAMS 表索引的柱狀圖定義信息
Oracle 提供的腳本和包
下面提到的腳本都位於%ORACLE_HOME%\RDBMS\ADMIN目錄下有些只需運行一次有些需要每次都運行
UTLBSTATSQL 和 UTLESTATSQL
這些腳本的功能絕大部分已被STATSPACK所取代
STATSPACK
配置STATSPACK在SQL*Plus下運行spcreatesql這個腳本運行時調用另外三個腳本(spcusrsqlspctabsqlspcpkgsql)運行過程中會詢問perfstat方案的密碼默認表空間和臨時表空間可以通過這三個腳本的運行日志(spcusrlisspctablisspcpkglis)查看配置是否成功
perfstat方案的默認表空間需要有足夠的空間來容納目前的對象和將來的快照數據
查看日志如果發現有錯誤運行spdropsql來清除已創建的對象然後重新運行spcreatesql
配置成功後生成快照有兩種方法手工運行exec statspacksnap; 運行spautosql腳本創建job來定時生成快照
生成性能報表運行spreportsql腳本腳本運行過程中要求輸入三個參數開始快照號結束快照號報表名兩次選擇的快照號需要是在實例的一次運行期間的不同點的快照否則就沒有參考意義
statspack報表含有各個方面的性能數據如何理解這些數據貫穿整本書
From:http://tw.wingwit.com/Article/program/Oracle/201311/16923.html