oracle多用戶並發及事務處理


多用戶並發訪問

事務:作用於某些數據的一個不可分割的操作
 
鎖:寫鎖、互斥鎖(僅能被一個進程使用)      讀鎖、共享鎖(可被多個進程使用)
 
更新丟失
臟讀
不可重復讀
幻影讀
 
隔離級別:
1 READ COMMITTED 每個語句得到完整的視圖
2 SERIALIZABLE 事務級別實施串行化
 
Oracle並發特性
1 回滾段:存儲“撤銷”信息的數據結構
redo日志用來記錄數據庫的所有事務;回滾段用於提供事務回滾和讀一致性
2 系統改變號 SCN:保證事務執行的順序
3 數據塊中的鎖:每個鎖只影響數據塊的一行
 
沖突寫過程:
1 A更新操作
2 獲取SCN,讀取目標數據塊
3 記錄行鎖信息
4 修改寫入redo日志緩存
5 寫入回滾段
6 B更新操作
7 獲取SCN,讀取數據塊
8 發現上鎖,如果是READ COMMITTED 等待執行完成后繼續;如果是SERIALIZABLE,返回錯誤
9 A提交事務
10 如果B READ COMMITTED,繼續執行
 
工作空間:與數據的變動分離,創建特定時間版本的數據空間
 
 

在線事務處理 OLTP

 
原子性
一致性
隔離性
持久性
 
OLTP通用特性:
1 事務吞吐量大而且並發用戶量大
2 明確的性能需求
3 高可用性
4 可擴展性
 
通用並發與性能:
1 非升級行鎖技術:只對事務處理的行加鎖,不將鎖的級別升級到也級別或者表級別
2 多版本讀操作一致性:在不加讀鎖的情況下保證語句級和事務級的數據一致性
3 共享SQL:將經過分析和優化的SQL存放在共享內存池中的共享SQL區 內
4 存儲概要:支持執行計划的穩定性
 
可擴展性:
多線程服務器MTS
Oracle Net連接池:允許客戶端共享一個物理網絡連接池
Oracle Net連接管理器:為多個客戶分配一條網絡連接。沒有“超時”
 
實時應用程序集群:
高速緩存熔合:將所有的數據存放在實時應用集群中的每台主機的每個緩存內,這些數據對於急群眾的其他任意主機都是可用的。
 
高可用性:
1 備用數據庫:
2 透明故障遷移TAF:主機實例失敗時,自動連接到另一個oracle實例
3 oracle 流/高級隊列 AQ:一種異步或者延期的系統間通信方法
4 Oracle流復制:利用內置的復制功能提供數據冗余


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM