物理data guard原理的理解(zt)
本文網址:
物理data guard原理的理解
這裡只談物理data guard的原理
*******************************************************************************
一般來說,我們在談到data guard的時候,都會用很簡單的語言來描述整個data guard的運做流程。
通常是這樣的: primary database透過arch 程式,或者lgwr程式把archive log 送到standby database的archive_dest,然後standby database 透過RFS來接收這個archive log,然後MRP程式運用此log,也就是redo apply,使物理特徵和primary database一模一樣。
這樣講清楚了嗎? 表面看起來很清楚,其實非常不清楚,歧義很多。
歧義在哪裡? 那麼我來問幾個問題:
1.arch 和lgwr的區別在哪裡?
2.standby log file到底要不要?
其實就光standby log file到底要不要這個問題就要回答很長一段才能解釋清楚,因為這裡涉及到很多東西,比如database執行模式,比如你是 archive log傳送還是real-time? 這些都是有關係的。
下面從arch 和 lgwr 分開來談data guard
一。 執行arch 程式
當使用arch程式的時候,其實很容易理解,因為一定要等待redo log----->archive log才可以進行傳送。 也就是說這個時候是不可能做real-time的。 既然是一定要等待歸檔,怎麼又可能實時呢?(從這裡可以看出,如果要做real-time redo apply那就一定要使用lgwr程式)
這個時候整個流程其實比較簡單:
arch程式使redo log歸檔,然後透過oracle net來傳送到設定好的log_archive_dest_2目的地(可以先想想standby log file有用嗎?) ,standby database發現有新的 archive log進來了,MRP程式使用此archive log進行 redo apply ,完成了.
疑問:如果我開始就建好了standby log file,請問,這個過程可能用到standby log file嗎?
個人認為根本不需要,因為archive log直接傳到目的地。而且此時不能使用高可用和高保護模式。因為這2個模式必須使用lgwr程式。
二. 執行lgwr 程式
當使用lgwr程式時分2種情況:
1.當在standby database執行 alter database recover managed standby database disconnect from session時,其實這裡已經說明了要執行archive log來進行redo apply,所以此時就算你指定為lgwr也無效,因為primary database 還是預設的使用arch程式。所以這裡的原理和上面的原理是一樣的.
2.當使用real-time模式時就不一樣了.也就是執行alater database recover managed standby database using current logfile disconnect from session,這個情況和 database 模式有關係。
1)高保護,高可用模式下
這個時候由於一定要等待redo log傳送到standby log,primary database才可以commit,所以此時一定要使用standby log,否者redo log傳到哪裡呢? 而且此時 lgwr 一定要 sync 模式(也就是一定要同步執行,不能非同步,想一下,如果可以非同步,1萬年都可能不去commit.)
2).高效率模式下
這個時候其實redo log還是傳送到standby log,既然不是傳送archive log,當然不可能直接把redo log的資料放到log_archive_dest_2中去了。而是先放到standby log file中,然後由standby database 去archive。但是此模式下 lgwr不用等待,也就是說primary database不用去等待redo log傳送到standby database才可以commit。
但是官方文件說:在這個模式下可以使用lgwr sysnc/asysnc,還可以使用arch,還說standby log file可以有也可以沒有。
疑問出來了:如果沒有standby log file,請問如果使用real-time模式怎麼辦? 這個我是解釋不清楚了,感覺這個是有問題的。(ORACLE公司總是喜歡打腫臉當胖子).
能解決這個疑問恐怕只有這句話了:if you use standby redo log files, you can enable real-time apply。我們可以確定一點,當沒有使用standby log files的時候是不可以使用real-time apply的。
這樣還差不多,這樣的話疑問就沒了,因為不能real-time嘛。
不過還有一點疑問是:既然不能real-time, 那麼要lgwr sync幹什麼? lgwr 從redo log拿資料到哪裡呢?
本文來自: 中國網管論壇(bbs.bitsCN.com) 詳細出處參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1003887/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [轉]物理data guard原理的理解
- physical data guard 的原理 (zt)
- DATA GUARD物理STANDBY的 SWITCHOVER切換[zt]
- RedHat搭建物理Data GuardRedhat
- physical data guard 的原理
- DATA GUARD物理STANDBY的 SWITCHOVER切換
- Oracle11g Data Guard[zt]Oracle
- DATA GUARD物理STANDBY的FAILOVER切換AI
- DATA GUARD物理備庫的SWITCHOVER切換
- 總結11g 物理data guard
- oracle 10g物理data guard 操作Oracle 10g
- ZT:oracle10g Data Guard新特性:物理備庫也可以read/writeOracle
- [zt] Data guard monitor 和常用查詢
- Data guard 配置之搭建物理備庫
- 【DataGuard】物理Data Guard之Failover轉換AI
- 物理DG!Oracle 10G Data Guard DemoOracle 10g
- 使用Data Guard Broker進行Data Guard物理備用庫配置(Oracle 19c)Oracle
- data guard物理備份方式中的switchover轉換
- 物理data guard備standby庫的時候報錯。
- Oracle 11g RAC Data Guard 物理standby 建立Oracle
- 搭建Oracle Data Guard 11g(物理備用)Oracle
- Data Guard學習之物理standby建立步驟
- Oracle9iR2 Data Guard的保護模式(ZT)Oracle模式
- 物理Data Guard中哪個程式處理Redo GAP
- Data Guard 之RMAN備份線上搭建物理standby
- 管理物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- 建立物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- oracle10g data guard建立物理standby資料庫的例子Oracle資料庫
- Oracle 19C Data Guard基礎運維-02 Switchovers(物理)Oracle運維
- 【DataGuard】使用Grid Control快速部署Oracle物理Data GuardOracle
- 【ASK_ORACLE】Oracle Data Guard(二)物理備庫的概念和優勢Oracle
- DATA GUARD部署模式——DATA GUARD概念和管理模式
- ZT:在 RHEL3 上配置 Oracle 10g Data GuardOracle 10g
- 介紹ORACLE DATA GUARD——DATA GUARD概念和管理Oracle
- Oracle 19C Data Guard基礎運維-03 Failovers(物理)Oracle運維AI
- ORACLE11G RAC 環境搭建物理 DATA GUARD (不用duplicate)Oracle
- Oracle 11g Data Guard 物理備庫快速配置指南(上)Oracle
- 【DataGuard】同一臺主機實現物理Data Guard配置安裝