Oracle 性能視圖查看系統CPU 內存 磁盤 存儲等性能指標主要保存在 V$SYSMETRIC_HISTORY及DBA_HIST_SYSMETRIC_HISTORY 相關視圖上。
此次我們以網絡帶寬傳輸速率:
例如:目標是在Data Guard環境中盡可能快地傳輸和應用重做。為了實現這一點,我們必須根據主數據庫上的重做生成率計算所需的網絡帶寬。
計算網絡帶寬的公式(假設TCP/IP網絡開銷保守為30%)為:
使用Oracle Statspack實用程序來精確測量重做率。
根據業務,我們應該有一個很好的想法,什么是你的正常業務活動的高峰時期。例如,您可能正在運行一個在線商店,從歷史上看,每個星期一上午10點到下午2點之間的4小時是活動高峰。或者,你可能正在運行一個商業數據庫,它會在每周四凌晨1點到3點之間的兩個小時內批量加載一個新目錄。請注意,我們所說的“正常”商業活動——這意味著在一年中的某些日子里,你可能會看到比平時更多的業務量,例如,在母親節或情人節前的2-3天,在線花店的業務。就在那些日子里,您可能會分配比平時更高的帶寬,而您可能不會將其視為“正常”的業務活動。但是,如果這種周期性的流量激增是業務操作的一部分,則必須在重做率計算中考慮它們。
在業務的高峰期間,定期運行Statspack快照。例如,您可以在高峰時間運行它三次,每次持續五分鐘。Statspack快照報告將在報告開頭附近的“Load Profile”部分下包含一個“Redo size”行。這一行包括快照間隔期間重做大小的“每秒”和“每個事務”測量值(以字節為單位)。記下“每秒”的值。取這三個快照中“重做大小”“每秒”的最大值,這就是您的峰值重做生成速率。
注意,如果主數據庫是RAC數據庫,則必須在每個RAC實例上運行Statspack快照。然后,對于每個Statspack快照,將每個實例的“Redo Size Per Second”值相加,以獲得主數據庫的凈峰值重做生成率。記住這一點
在RAC主數據庫中,每個節點生成自己的重做,并獨立地將重做發送到備用數據庫——因此,我們將每個RAC節點的重做速率求和,以獲得數據庫的凈峰值重做速率。
作為一種選擇,你也可以從V$SYSMETRIC_HISTORY中獲得“每秒重做率字節數”,例如。
SQL>從 v$sysmetric_history 中選擇 *,其中 metric_name = 'Redo Generated Per Sec';
或在rda中輸出:
性能- AWR報告-統計:“重做大小”
例如:
假設重做速率為?500 KB/秒。
為單位) 所需帶寬 = ((512000/0.70) * 8) /1,000,000
所需帶寬 = 5.46 Mbps
另請參閱
Data Guard 重做傳輸和網絡配置
和
使用 oratcptest 測量網絡容量(文檔 ID 2064368.1)
有關為 Data Guard 日志傳輸服務設置網絡的更多提示和最佳實踐
注意一 CDB模式數據庫性能數據視圖區別:
對于 PDB,預計不會看到與系統相關的視圖中的行,例如 v$sysmetric、v$sysmetric_history、v$sysmetric_summary 等。
PDB 不打算查看 CDB 范圍 (con_id=0) 的指標數據。相反,他們只能看到自己數據庫的信息,CON_ID=PDB_ID。
可以從以下視圖中找到 PDB 級別系統指標相關信息:
v$con_sysmetric
v$con_sysmetric_history
v$con_sysmetric_summary
注意二 數據庫性能視圖DBA_HIST_SYSMETRIC_HISTORY并不會抓取所有的metric 指標
這是內部 bug 討論中記錄的預期行為。
視圖DBA_HIST_SYSMETRIC_HISTORY將僅顯示 V$SYSMETRIC_HISTORY 中的一些默認指標。并非所有指標都會顯示在此視圖中。
當用戶在指標上生成基于閾值的服務器生成警報時,可以填充其他指標。
但是,即使定義了閾值,也只有在違反閾值并向 EM 發出警報時才會填充DBA_HIST_SYSMETRIC_HISTORY。
指標閾值可以通過企業管理器或DBMS_SERVER_ALERT設置。SET_THRESHOLD() API。
可以通過 Enterprise Manager 或 DBMS_SERVER_ALERT 設置新的衡量指標閾值。SET_THRESHOLD() API,但請注意DBA_HIST_SYSMETRIC_HISTORY除非達到閾值,否則不會填充。