為什么要使用Data Guard
Oracle Data Guard
圖1提供了一個例子。
圖1簡單的雙工作區(qū)配置
由于只是日志文件在主備用數(shù)據(jù)庫之間的傳送,其對應用程序是透明的,所以不需更改現(xiàn)有應用。由于核心業(yè)務系統(tǒng)的負載很大,所以我們也會非常關心這種數(shù)據(jù)同步是否會對生產(chǎn)數(shù)據(jù)庫產(chǎn)生影響?實際上,生產(chǎn)數(shù)據(jù)庫和備用數(shù)據(jù)庫之間數(shù)據(jù)同步的方式有同步和異步之分,我們可以配置備用數(shù)據(jù)庫使其對主數(shù)據(jù)庫的性能幾乎沒有任何影響。由于僅對生產(chǎn)數(shù)據(jù)庫所做的更改才發(fā)送到備用數(shù)據(jù)庫中,因而這樣的應急方案相對于鏡像所有數(shù)據(jù)庫文件記錄的方式來說,能夠與高事務處理率保持同步,在很大程度上降低了網(wǎng)絡流量。
圖2 Physical Standby & Logical Standby
物理備用數(shù)據(jù)庫在應用日志文件時,是基于數(shù)據(jù)塊級別來進行。因此,要求備用數(shù)據(jù)庫和主數(shù)據(jù)庫具有相同的物理結(jié)構(gòu),而且備用數(shù)據(jù)庫只能處在恢復狀態(tài)和只讀打開兩種狀態(tài)中的一種。而邏輯備用數(shù)據(jù)庫在應用日志文件時,首先將其轉(zhuǎn)化為SQL語句,然后再進行同步應用。因此,邏輯備用數(shù)據(jù)庫一直處于打開狀態(tài),在應用日志文件的同時,可以同時讀取數(shù)據(jù)(見圖3)。
圖3
邏輯備用數(shù)據(jù)庫與主數(shù)據(jù)庫只要求邏輯結(jié)構(gòu)相同,因此,還可以建立自己的數(shù)據(jù)庫對象,進行讀寫操作。這樣備用數(shù)據(jù)庫就可以分擔一部分主數(shù)據(jù)庫的負載,如生成報表、備份等,在一定程度上提高了用戶的投資回報。
圖4
·最大保護模式
結(jié)束語
"居安思危"這句成語同樣適用于我們電信行業(yè)核心業(yè)務系統(tǒng)的建設,隨著電信行業(yè)競爭的加劇,電信運營商在推出各種業(yè)務服務用戶的同時,如何建設和完善自己內(nèi)部的核心業(yè)務系統(tǒng),提供可靠的業(yè)務保障,Oracle Data Guard正是針對核心業(yè)務系統(tǒng)高可用性的需求,從數(shù)據(jù)庫角度提出的解決方案。
中國計費網(wǎng)(www.billingchina.com)