第一章:Dg理論講述
Data Guard(簡稱:Dg)是oracle高可用性體系中的一種工具。Dg通過冗余數(shù)據(jù)來提供數(shù)據(jù)保護,Dg通過日志同步機制保證冗余數(shù)據(jù)和主數(shù)據(jù)之前的同步,這種同步可以是實時、延時、同步、異步多種形式。Dg常用于異地容災和小企業(yè)的高可用性方案中。Dg可以在standby機器上執(zhí)行只讀查詢,從而分散primary數(shù)據(jù)庫的性能壓力。
在Dg環(huán)境中,至少有兩個數(shù)據(jù)庫,一個處于open狀態(tài)對外提供服務,這個數(shù)據(jù)庫叫做primary database。第二個處于恢復狀態(tài),叫做standby database。運行時primary database 對外提供服務,用戶在primary database上進行操作,操作被記錄在聯(lián)機日志和歸檔日志中,這些日志通過網(wǎng)絡傳遞給standby database。這個日志會在standby database上重演,從而實現(xiàn)primary database和standby database的數(shù)據(jù)同步。
第二章:Dg架構(gòu)
Dg架構(gòu)可以按功能分成3個部分:
1) 日志發(fā)送(redo send)
2) 日志接收(redo receive)
3) 日志應用(redo apply)
1、 日志發(fā)送:
Primary database運行過程中,會源源不斷產(chǎn)生redo日志,這些日志需要發(fā)送到standby database。這個發(fā)送動作可以由primary database的LGWR或ARCH進程完成,不同的歸檔目的地可以使用不同的方法,但是對于一個目的地,只能選用一種方法。選擇哪個進程對數(shù)據(jù)庫保護能力和系統(tǒng)可用性有很大區(qū)別
1) 使用ARCH進程:
Primary database 不斷產(chǎn)生redo log,這些日志被LGWR進程寫到聯(lián)機日志;
當一組聯(lián)機日志被寫滿之后,會發(fā)生日志切換,并且會觸發(fā)本地歸檔;
完成本地歸檔后,聯(lián)機日志就可以被覆蓋重用;
ARCH進程通過net把歸檔日志發(fā)送給standby database的RFS進程;
Standby database端的RFS進程把接收的日志寫入歸檔日志;
Standby database端的MRP進程或LSP進程在standby database上應用這些日志,進而同步數(shù)據(jù)。
2) 使用LGWR進程:
Primary database產(chǎn)生的日志同時寫到日志文件和網(wǎng)絡。也就是說LGWR進程把日志寫到本地日志文件的同時還要發(fā)送給本地的LNSn進程,再由LNSn進程把日志通過網(wǎng)絡發(fā)送到遠程的目的地;
LGWR必須等待寫入到本地日志文件操作和通過LNSn進程的網(wǎng)絡傳送成功,primary database上的事務才能提交;
Standby database的日志切換也會觸發(fā)standby database上的日志切換,及standby database對standby redo_log的歸檔,然后觸發(fā)standby database的MRP或LSP進程恢復歸檔日志。
2、 日志接收:
Standby database的RFS進程接收到日志后,就把日志寫到standby redo log或archived log文件中,具體寫入哪個文件,取決于primary的日志傳送方式和standby database的位置。如果寫到standby redo log文件中,則當primary database發(fā)生日志切換時,也會觸發(fā)standby database上的standby redo log的日志切換,并把這個standby redo log歸檔。如果寫到archived log,那么這個動作本身也可以看做是個歸檔操作。
3、 日志應用:
日志應用服務,就是在standby database上重演primary database日志,從而實現(xiàn)兩個數(shù)據(jù)庫的數(shù)據(jù)同步。
第三章:Dg配置過程
1、首先將源庫設置為強制歸檔模式:
通過sqlplus / as sysdba進入數(shù)據(jù)庫
2、源庫設置成歸檔模式,目前建立數(shù)據(jù)庫實例的時候已經(jīng)設置完成。
3、源庫中添加如下與dg關(guān)聯(lián)參數(shù),添加完成后重啟所有數(shù)據(jù)庫實例:
4、查看logfile(每個為500M)和創(chuàng)建standby_logfile
5、Rman備份整個源庫,備份完成后將備份文件復制到源庫對應目錄
6、創(chuàng)建standby庫的pfile,(該過程從源庫中備份過去并進行相關(guān)的修改)
7、修改后的參數(shù)如下:
8、修改源庫的tnsname.ora,同時復制到目標庫對應位置。
9、dg服務器上創(chuàng)建所需的目錄:
oracle下:
mkdir -p /u01/app/oracle/admin/easdb_dg/adump
mkdir -p /oradata/easdb_dg/controlfile/
mkdir -p /oradata/easdb_dg/standbylog/
mkdir -p /oradata/easdb_dg/onlinelog/
mkdir -p /u01/app/oracle/diag/rdbms/easdb_dg/oem/trace/cdump
root下:
mkdir /backup
chown oracle:oinstall /backup
10、統(tǒng)一源和目標庫的密碼:
11、Dg庫nomount啟動
12、源庫端:rman建立dataguard數(shù)據(jù)庫
rman target / auxiliary sys/kingdee123@easdb_dg
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;
13、恢復完成后,將目標庫當前用的pfile文件創(chuàng)建為當前的spfile,然后啟動數(shù)據(jù)庫到mount模式
14、目標庫設置為日志恢復模式
大功告成!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。