oracle ops
ORACLE並行伺服器允許不同節點上的多個INSTANCE例項同時訪問一個資料庫,以提高系統的可用性、可擴充套件性及效能。ORACLE並行伺服器中的每個INSTANCE例項都可將共享資料庫中的表或索引的資料塊讀入本地的緩衝區中,這就意味著一個資料塊可存在於多個INSTANCE例項的SGA區中。那麼保持這些緩衝區的資料的一致性就很重要。ORACLE 使用 PCM( Parallel Cache Management) 鎖維護緩衝區的一致性,ORACLE同時通過I DLM( 整合的分散式鎖管理器)實現PCM 鎖,並通過專門的LCK程式實現INSTANCE例項間的資料一致。
考慮這種情況:INSTANCE1對BLOCK X塊修改,這時INSTANCE2對BLOCK X塊也需要修改。ORACLE並行伺服器利用PCM鎖機制,使BLOCK X從INSTANCE 1的SGA區寫入資料庫資料檔案中,又從資料檔案中把BLOCK X塊讀入INSTANCE2的SGA區中。發生這種情況即為一個PING。PING使原來1個MEMORY IO可以完成的工作,變成2個DISK IO和1個 MEMORY IO才能夠完成,如果系統中有過多的PING,將大大降低系統的效能。
ORACLE並行伺服器中的每個PCM鎖可管理多個資料塊。PCM鎖管理的資料塊的個數與分配給一個資料檔案的PCM鎖的個數及該資料檔案的大小有關。當INSTANCE 1和INSTANCE 2要操作不同的BLOCK,如果這些BLOCK 是由同一個PCM 鎖管理的,仍然會發生PING。這些PING稱為FALSE PING。當多個INSTANCE訪問相同的BLOCK而產生的PING是TRUE PING。合理的應用劃分使不同的應用訪問不同的資料,可避免或減少TRUE PING;通過給FALSE PING較多的資料檔案分配更多的PCM鎖可減少 FALSE PING的次數,增加PCM鎖不能減少TRUE PING。
所以, ORACLE並行伺服器設計的目的是使系統交易處理合理的分佈在INSTANCE例項間,以最小化PING,同時合理的分配PCM鎖,減少FALSE PING。設計的關鍵是找出可能產生的衝突,從而決定應用劃分的策略。
考慮這種情況:INSTANCE1對BLOCK X塊修改,這時INSTANCE2對BLOCK X塊也需要修改。ORACLE並行伺服器利用PCM鎖機制,使BLOCK X從INSTANCE 1的SGA區寫入資料庫資料檔案中,又從資料檔案中把BLOCK X塊讀入INSTANCE2的SGA區中。發生這種情況即為一個PING。PING使原來1個MEMORY IO可以完成的工作,變成2個DISK IO和1個 MEMORY IO才能夠完成,如果系統中有過多的PING,將大大降低系統的效能。
ORACLE並行伺服器中的每個PCM鎖可管理多個資料塊。PCM鎖管理的資料塊的個數與分配給一個資料檔案的PCM鎖的個數及該資料檔案的大小有關。當INSTANCE 1和INSTANCE 2要操作不同的BLOCK,如果這些BLOCK 是由同一個PCM 鎖管理的,仍然會發生PING。這些PING稱為FALSE PING。當多個INSTANCE訪問相同的BLOCK而產生的PING是TRUE PING。合理的應用劃分使不同的應用訪問不同的資料,可避免或減少TRUE PING;通過給FALSE PING較多的資料檔案分配更多的PCM鎖可減少 FALSE PING的次數,增加PCM鎖不能減少TRUE PING。
所以, ORACLE並行伺服器設計的目的是使系統交易處理合理的分佈在INSTANCE例項間,以最小化PING,同時合理的分配PCM鎖,減少FALSE PING。設計的關鍵是找出可能產生的衝突,從而決定應用劃分的策略。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-704154/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC 和OPS 區別 - Cache FusionOracle
- Oracle FailSafe與rac(ops)的區別OracleAI
- Oracle8i OPS與Oracle9i,10g RAC的區別Oracle
- 搭建fast-whisper 環境時報錯 Unable to load any of {libcudnn_ops.so.9.1.0, libcudnn_ops.so.9.1, libcudnn_ops.so.9, libcudnn_ops.so}ASTDNN
- 進一步理解oracle11g之v$sga_resize_opsOracle
- Oracle___診斷案例__某公安局業務庫的oracle806-ops環境重建Oracle
- Tensorflow Python API 翻譯(array_ops)PythonAPI
- ImportError: cannot import name ‘audio_ops‘ (TensorFlow)ImportError
- DevOps和它的朋友們——聊聊其他 “Ops”(一)dev
- DevOps和它的朋友們——聊聊其他“Ops”(二)dev
- Tensorflow Python API 翻譯(sparse_ops)PythonAPI
- 滬江基於容器編排的Dev/Ops流程dev
- 【Linux Ops】如何無痛升級 glibcLinux
- Atlassian釋出事故管理解決方案Jira Ops
- 如何打破Sec、 Dev和Ops之間的孤島?dev
- 【Linux Ops】如何替換 libstdc++ 提升 GLIBCXX 版本LinuxC++
- AttributeError: module...ops‘ has no attribute ‘_TensorLike‘, ValueError: `updates` argument..eagerError
- 【轉】大資料分析中Redis怎麼做到220萬ops大資料Redis
- v$memory_resize_ops 記錄記憶體變更的檢視記憶體
- ops電腦安裝win10觸屏無法使用修復方法Win10
- White Ops:2019年網路廣告欺詐流量報告
- 平臺工程101:Dev、Sec和Ops的自動化黏合劑dev
- Tensorflow Python API 翻譯(math_ops)(第二部分)PythonAPI
- 智簡·相融丨七雲網路 7x OPS 3.1 重磅釋出
- 一文搞懂DevOps、DataOps、MLOps、AIOps:所有“Ops”的比較devAI
- Tensorflow Python API 翻譯(math_ops)(第一部分)PythonAPI
- 為高效 Ops 和 SRE 團隊準備的 10 個開源 k8s 工具K8S
- mkfs.ext4: undefined symbol: ext2fs_numeric_progress_ops、set_com_err_gettextUndefinedSymbol
- White Ops:2018-2019年網路廣告流量欺詐報告
- White Ops:2019年廣告流量欺詐將導致58億美元的損失
- 【譯】Effective TensorFlow Chapter9——使用Python ops進行核心設計和高階視覺化APTPython視覺化
- White Ops:預計2017年假日購物季廣告流量欺詐損失達到35億美元
- White Ops:預計2017年Q4美國節日營銷廣告流量欺詐將達35億美元
- 推薦一個創新的東西,OPS[將表單頁面資料XML化,與AJAX完美結合起來,有創意!]XML
- oracle DBLink oracleOracle
- Oracle 中$ORACLE_HOME/bin/oracle檔案Oracle
- oracle 修改ORACLE例項Oracle
- oracle安裝工具目錄常用解釋oracle wallet manager/Oracle Directory Manager /oracle net manager /Oracle Net ManagOracle