Oracle數(shù)據(jù)庫(kù) DGbroker三種保護(hù)模式的切換
1.三種保護(hù)模式
– Maximum protection
在Maximum protection下, 可以保證從庫(kù)和主庫(kù)數(shù)據(jù)完全一樣,做到zero data loss.事務(wù)同時(shí)在主從兩邊提交完成,才算事務(wù)完成。如果從庫(kù)宕機(jī)或者網(wǎng)絡(luò)出現(xiàn)問(wèn)題,主從庫(kù)不能通訊,主庫(kù)也立即宕機(jī)。在這種方式下,具有最高的保護(hù)等級(jí)。但是這種模式對(duì)主庫(kù)性能影響很大,要求高速的網(wǎng)絡(luò)連接。
– Maximum availability
在Maximum availability模式下,如果和從庫(kù)的連接正常,運(yùn)行方式等同Maximum protection模式,事務(wù)也是主從庫(kù)同時(shí)提交。如果從庫(kù)和主庫(kù)失去聯(lián)系,則主庫(kù)自動(dòng)切換到Maximum performance模式下運(yùn)行,保證主庫(kù)具有最大的可用性。
– Maximum performance
在Maximum performance,主庫(kù)把歸檔的 archived log通過(guò)arch進(jìn)程傳遞給從庫(kù),在這種方式下,主庫(kù)運(yùn)行性能最高,但是不能保證數(shù)據(jù)不丟失,且丟失的數(shù)據(jù)受redo log的大小影響。在redo log過(guò)大的情況下,可能一天都沒(méi)有歸檔一個(gè)日志,可以通過(guò)手工切換日志的方式來(lái)減小數(shù)據(jù)的丟失。
2.模式切換(Maximum performance切換至Maximum availability)
a.查看保護(hù)的模式
DGbroker查看:
DGMGRL> show configuration verbose; Configuration - dgc Protection Mode: MaxPerformance Databases: atest1 - Primary database atest2 - Physical standby database Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' Fast-Start Failover: DISABLED Configuration Status: SUCCESS
sqlplus查看:
SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
b.查看備庫(kù)的日志傳輸模式(參數(shù)LogXptMode(sync:同步傳輸/async:異步傳輸))
DGMGRL> show database verbose 'atest2'; Database - atest2 Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Apply Rate: 97.00 KByte/s Real Time Query: ON Instance(s): atest Properties: DGConnectIdentifier = 'atest2' ObserverConnectIdentifier = '' LogXptMode = 'sync' DelayMins = '0' Binding = 'optional' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' PreferredApplyInstance = '' ApplyInstanceTimeout = '0' ApplyParallel = 'AUTO' StandbyFileManagement = 'AUTO' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '4' LogArchiveMinSucceedDest = '1' DbFileNameConvert = '' LogFileNameConvert = '' FastStartFailoverTarget = '' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' ApplyLagThreshold = '0' TransportLagThreshold = '0' TransportDisconnectedThreshold = '30' SidName = 'atest' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vijay02.database.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=atest2_DGMGRL)(INSTANCE_NAME=atest)(SERVER=DEDICATED)))' StandbyArchiveLocation = '/u01/app/oracle/oradata/ATEST/archivelog' AlternateLocation = '' LogArchiveTrace = '0' LogArchiveFormat = '%t_%s_%r.dbf' TopWaitEvents = '(monitor)' Database Status: SUCCESS
c.如果LogXptMode的值為async,就要將其修改為sync
DGMGRL> edit database atest1 set property logxptmode=sync; Property "logxptmode" updated
d.修改完之后再次確認(rèn)LogXptMode的值,如步驟b
e.切換模式(如果切換失敗,則再次去確認(rèn)備庫(kù)LogXptMode的值)
DGMGRL> edit configuration set protection mode as maxavailability; Succeeded.
f. 確認(rèn)數(shù)據(jù)庫(kù)的的保護(hù)模式,如步驟a
g.需要注意的是,步驟c中修改的sync是備庫(kù)的值,切記!
3.個(gè)人小結(jié):
a.三種模式在可以在DGbroker中自由切換(使用步驟2的方式)(在測(cè)試庫(kù)中),正常情況下,數(shù)據(jù)庫(kù)能迅速反應(yīng)過(guò)來(lái)(查看保護(hù)模式的時(shí)候)。
b.使用Maximum performance的時(shí)候,參數(shù)(備庫(kù))LogXptMode設(shè)置為async就好/
c.使用Maximum protection或者M(jìn)aximum availability的時(shí)候,參數(shù)(備庫(kù))LogXptMode要設(shè)置為sync。
d.(經(jīng)測(cè)試)使用Maximum protection時(shí),當(dāng)備庫(kù)出現(xiàn)異常(如網(wǎng)絡(luò)問(wèn)題,數(shù)據(jù)庫(kù)宕機(jī)),主庫(kù)會(huì)掛起(告警日志會(huì)報(bào)如下錯(cuò)誤),當(dāng)備庫(kù)恢復(fù)正常之后,主庫(kù)也會(huì)恢復(fù)。
LGWR: Error 1034 attaching to RFS for reconnect
e.使用Maximum protection時(shí),在當(dāng)備庫(kù)出現(xiàn)異常的情況下,當(dāng)主庫(kù)掛起時(shí),(主庫(kù))可以強(qiáng)制切換到 Maximum performance,但當(dāng)重新切回Maximum protection(在備庫(kù)恢復(fù)時(shí)),主庫(kù)需重啟。
DGMGRL> edit configuration set protection mode as maxprotection; Operation requires shutdown of instance "atest" on database "atest1" Shutting down instance "atest"... Unable to connect to database ORA-12545: Connect failed because target host or object does not exist Failed. Warning: You are no longer connected to ORACLE. Please complete the following steps to finish the operation: shut down instance "atest" of database "atest1" start up instance "atest" of database "atest1"
以上內(nèi)容是小編給大家分享的Oracle數(shù)據(jù)庫(kù) DGbroker三種保護(hù)模式的切換的相關(guān)內(nèi)容,希望大家喜歡,同時(shí)也感謝大家一直以來(lái)對(duì)腳本之家網(wǎng)站的支持與厚愛(ài)。
相關(guān)文章
Oracle 11g數(shù)據(jù)庫(kù)安裝與卸載的方法圖解
如果小編使用的是win7系統(tǒng),最好采用11g,否則很可能10g出現(xiàn)不兼容安裝不成功的情況。下面給大家分享Oracle 11g數(shù)據(jù)庫(kù)安裝與卸載的方法圖解,非常不錯(cuò),感興趣的朋友一起看看吧2016-09-09Oracle 跨庫(kù) 查詢 復(fù)制表數(shù)據(jù) 分布式查詢介紹
這篇文章主要介紹了Oracle 跨庫(kù) 查詢 復(fù)制表數(shù)據(jù) 分布式查詢的相關(guān)資料,需要的朋友可以參考下2014-10-10Oracle 11g用戶修改密碼及加鎖解鎖功能實(shí)例代碼
這篇文章主要介紹了Oracle 11g用戶修改密碼及加鎖解鎖功能實(shí)例代碼,需要的朋友可以參考下2017-11-11oracle數(shù)據(jù)庫(kù)定時(shí)任務(wù)dbms_job的用法詳解
這篇文章給大家詳細(xì)介紹了dbms_job的用法,用于安排和管理作業(yè)隊(duì)列,通過(guò)使用作業(yè),可以使ORACLE數(shù)據(jù)庫(kù)定期執(zhí)行特定的任務(wù)。有需要的朋友們可以參考借鑒。2016-09-09Oracle 11g數(shù)據(jù)庫(kù)使用expdp每周進(jìn)行數(shù)據(jù)備份并上傳到備份服務(wù)器
這篇文章主要介紹了Oracle 11g數(shù)據(jù)庫(kù)使用expdp每周進(jìn)行數(shù)據(jù)備份并上傳到備份服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06oracle數(shù)據(jù)庫(kù)查看鎖表的sql語(yǔ)句整理
Oracle數(shù)據(jù)庫(kù)操作中,我們有時(shí)會(huì)用到鎖表查詢以及解鎖和kill進(jìn)程等操作,這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫(kù)查看鎖表的sql語(yǔ)句的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10oracle 11g em重建報(bào)唯一約束錯(cuò)誤解決方法
今天在手工配置Oracle11g的EM時(shí)總是報(bào)如下錯(cuò)誤,也沒(méi)有找到解決辦法,以下是我的解決過(guò)程,希望可以幫助你們2012-11-11