ORACLE RAC的DRM (動態資源管理)
在RAC 11.2.0.4生產環境中,每天某個時間,MQ發生大量交易堵塞,從原先的每分鐘2千多筆,掉到1千多筆,從資料庫後臺監控來看,叢集GC出現大量堵塞。懷疑RAC發生DRM。
從官方文件中,理解DRM機制,RAC每個例項都有自己的SGA和buffer cache,每個block都有都有一個例項主控,該例項負責跟蹤block變化情況。例如當一個節點發生down機,將發生dynamic resource reconfiguration (動態資源重新配置)。除此之外還有一種情況,主控節點buffer cache resource 大量被訪問,為了確定是否需要動態remaster,GCS基於每個例項和每個物件跟蹤GCS請求,當發現同一個物件block在一個節點被頻繁訪問,GCS將動態把所有例項上該物件資源遷移到訪問最頻繁的節點之中,LMON,LMD和LMS將負責動態remaster。
分析生產交易,有一張流水錶高頻度插入資料,且監控中可以看到兩個節點直接都有在執行。
oracle官方提供了一個診斷指令碼DRMDIAG.SQL,通過v$active_session_history可以看到在效能下降的那個時刻發生drm free。
---求閾值
column threshold_in_ms new_value threshold format 999999999.999
select decode(min(threshold_in_ms),null,0,min(threshold_in_ms)) threshold_in_ms
from (select inst_id, to_char(sample_time,'Mondd_hh24mi') minute,
sum(time_waited)/1000 threshold_in_ms
from gv$active_session_history
where event like '%drm freeze%'
group by inst_id,to_char(sample_time,'Mondd_hh24mi')
order by 3 desc)
where rownum <= 10;
--檢視發生DRM時間,等待時間和次數
column event format a30 tru
column program format a35 tru
column total_wait_time format 999999999999.999
column avg_time_waited format 999999999999.999
select to_char(sample_time,'Mondd_hh24mi') minute, inst_id, event,
sum(time_waited)/1000 TOTAL_WAIT_TIME , count(*) WAITS,
avg(time_waited)/1000 AVG_TIME_WAITED
from gv$active_session_history
where event like '%drm freeze%'
group by to_char(sample_time,'Mondd_hh24mi'), inst_id, event
having sum(time_waited)/1000 > &&threshold
order by 1,2;
通過內部引數關閉DRM,需要重新啟動資料庫
alter system set " _gc_policy_time"=0 scope=spfile sid='*';
alter system set "_gc_undo_affinity"=false scope=spfile sid='*';
總結:在交易型生產系統中,應用伺服器通過SCAN IP連線資料庫,如果對某個流水錶高頻度進行操作,建議關閉DRM
從官方文件中,理解DRM機制,RAC每個例項都有自己的SGA和buffer cache,每個block都有都有一個例項主控,該例項負責跟蹤block變化情況。例如當一個節點發生down機,將發生dynamic resource reconfiguration (動態資源重新配置)。除此之外還有一種情況,主控節點buffer cache resource 大量被訪問,為了確定是否需要動態remaster,GCS基於每個例項和每個物件跟蹤GCS請求,當發現同一個物件block在一個節點被頻繁訪問,GCS將動態把所有例項上該物件資源遷移到訪問最頻繁的節點之中,LMON,LMD和LMS將負責動態remaster。
分析生產交易,有一張流水錶高頻度插入資料,且監控中可以看到兩個節點直接都有在執行。
oracle官方提供了一個診斷指令碼DRMDIAG.SQL,通過v$active_session_history可以看到在效能下降的那個時刻發生drm free。
---求閾值
column threshold_in_ms new_value threshold format 999999999.999
select decode(min(threshold_in_ms),null,0,min(threshold_in_ms)) threshold_in_ms
from (select inst_id, to_char(sample_time,'Mondd_hh24mi') minute,
sum(time_waited)/1000 threshold_in_ms
from gv$active_session_history
where event like '%drm freeze%'
group by inst_id,to_char(sample_time,'Mondd_hh24mi')
order by 3 desc)
where rownum <= 10;
--檢視發生DRM時間,等待時間和次數
column event format a30 tru
column program format a35 tru
column total_wait_time format 999999999999.999
column avg_time_waited format 999999999999.999
select to_char(sample_time,'Mondd_hh24mi') minute, inst_id, event,
sum(time_waited)/1000 TOTAL_WAIT_TIME , count(*) WAITS,
avg(time_waited)/1000 AVG_TIME_WAITED
from gv$active_session_history
where event like '%drm freeze%'
group by to_char(sample_time,'Mondd_hh24mi'), inst_id, event
having sum(time_waited)/1000 > &&threshold
order by 1,2;
通過內部引數關閉DRM,需要重新啟動資料庫
alter system set " _gc_policy_time"=0 scope=spfile sid='*';
alter system set "_gc_undo_affinity"=false scope=spfile sid='*';
總結:在交易型生產系統中,應用伺服器通過SCAN IP連線資料庫,如果對某個流水錶高頻度進行操作,建議關閉DRM
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-2146330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC DRM介紹和關閉DRMOracle
- Oracle RAC Cache Fusion 系列十七:Oracle RAC DRMOracle
- Oracle 10g RAC中的DRMOracle 10g
- Oracle RAC Cache Fusion 系列九:Oracle RAC 分散式資源管理(二)Oracle分散式
- Oracle RAC Cache Fusion 系列八:Oracle RAC 分散式資源管理(一)Oracle分散式
- Oracle10g/11g動態、靜態關閉DRM特性方法Oracle
- webpack 靜態資源管理Web
- DRM特性引起的RAC節點當機
- WPF:靜態、動態資源以及資源詞典
- ORACLE DRM REMASTER AN OBJECTOracleREMASTObject
- 處理Oracle 11gR2 RAC資料庫資源不能自動啟動的問題Oracle資料庫
- DRM --- RAC object remastering ( Dynamic remastering )ObjectREMAST
- Oracle 資源管理(resource manager)Oracle
- Oracle資源管理器Oracle
- 管理ORACLE RAC GUARD——RAC GUARD概念和管理Oracle
- RAC 資料庫節點間的關係及資源管理資料庫
- 小知識:使用oracle使用者檢視RAC叢集資源狀態Oracle
- Oracle RAC基本管理Oracle
- 處理Oracle 11gR2 RAC資料庫資源不能自動啟動的問題 (轉)Oracle資料庫
- RAC常用管理命令--叢集、例項、資源管理-更新中
- Oracle DRM原理介紹Oracle
- Webspere配置Oracle RAC 資料來源的問題 (ZT)WebOracle
- 使用單例模式來實現動態資料來源管理單例模式
- 業界動態:用開源軟體管理資料中心(轉)
- oracle資源管理器(一)Oracle
- oracle 資源管理器(二)Oracle
- rac 管理 啟動關閉資料庫資料庫
- Oracle RAC日常管理命令Oracle
- 多資料來源與動態資料來源的權衡
- 如何高效管理網站靜態資源網站
- [原創] Oracle資料庫資源管理Oracle資料庫
- 使用OEM管理RAC資料庫——RAC管理資料庫
- 變更oracle 11.2.0.3 rac sga自動管理為sga手工管理Oracle
- Oracle RAC Cache Fusion 系列十三:PCM資源訪問Oracle
- YARN線上動態資源調優Yarn
- 【PDB】Oracle PDB資源管理參考Oracle
- 管理RAC中的OCR(Oracle Cluster Register)Oracle
- RAC crs_stat unknown資源狀態處理(ZT)