時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
一、日志應(yīng)用服務(wù)介紹
日志應(yīng)用服務(wù)自動應(yīng)用重做到備數(shù)據(jù)庫,以維護與主數(shù)據(jù)庫的同步并允許對數(shù)據(jù)庫的事務(wù)一致性訪問。
默認地,日志應(yīng)用服務(wù)在應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫之前等待完全的歸檔重做日志文件到達備數(shù)據(jù)庫。從主數(shù)據(jù)庫傳送的重做數(shù)據(jù)被備系統(tǒng)上的遠程文件服務(wù)進程(RFS)接收,在那里RFS 進程寫重做數(shù)據(jù)到歸檔重做日志文件或備重做日志文件。然而,如果你使用備重做日志文件,你能允許實時應(yīng)用,這允許Data Guard從正在被RFS 進程寫的當(dāng)前備重做日志文件恢復(fù)重做數(shù)據(jù)。
日志應(yīng)用服務(wù)使用下面的方法來維護物理和邏輯備數(shù)據(jù)庫:
重做應(yīng)用(只有物理備數(shù)據(jù)庫)
使用介質(zhì)恢復(fù)來保持主和物理備數(shù)據(jù)庫同步。
注意:
你也能以只讀模式打開物理備數(shù)據(jù)庫,允許用戶查詢備數(shù)據(jù)庫用作報表用途。當(dāng)打開的時候,還是接收重做數(shù)據(jù)的;然而,重做應(yīng)用停止并且物理備數(shù)據(jù)庫沒有與主數(shù)據(jù)庫保持同步。如果在此時間發(fā)生故障,會延長故障轉(zhuǎn)移操作完成所需的時間
SQL應(yīng)用(只有邏輯備數(shù)據(jù)庫)
從主數(shù)據(jù)庫接收的重做重組SQL語句并在邏輯備數(shù)據(jù)庫上執(zhí)行SQL語句。
邏輯備數(shù)據(jù)庫能以讀/寫模式打開,但是由邏輯備數(shù)據(jù)庫維護的目標(biāo)表只能以只讀模式打開以用于報表用途(倘若數(shù)據(jù)庫guard 適當(dāng)設(shè)置)。SQL 應(yīng)用允許你使用邏輯備數(shù)據(jù)庫用于報表活動,即使當(dāng)SQL 語句被應(yīng)用時。
二、日志應(yīng)用服務(wù)配置選項
使用實時應(yīng)用來立即應(yīng)用重做數(shù)據(jù)
如果允許了實時應(yīng)用特性,日志應(yīng)用服務(wù)能在接收重做數(shù)據(jù)時應(yīng)用,而不用等待當(dāng)前備重做日志文件歸檔。這導(dǎo)致更快的切換和故障轉(zhuǎn)移時間,因為備重做日志文件在故障轉(zhuǎn)移或切換開始的時候已經(jīng)應(yīng)用到備數(shù)據(jù)庫。
使用 ALTER DATABASE 語句來允許實時應(yīng)用特性,如下:
對于物理備數(shù)據(jù)庫,執(zhí)行 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE 語句。
對于邏輯備數(shù)據(jù)庫,執(zhí)行ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE 語句。
注意:使用實時應(yīng)用需要備重做日志文件。
圖 1 顯示了使用本地目的地和備目的地的Data Guard 配置。當(dāng)遠程文件服務(wù)(RFS)進程在備數(shù)據(jù)上寫重做數(shù)據(jù)到備重做日志文件時,日志應(yīng)用服務(wù)能從正在被寫的備重做日志文件恢復(fù)重做。
圖1 使用實時應(yīng)用應(yīng)用重做數(shù)據(jù)到備目的地
#p#副標(biāo)題#e#
對歸檔重做日志文件的應(yīng)用指定時間延遲
在一些情況下,你可能想在重做數(shù)據(jù)從主站點接收到它應(yīng)用到備數(shù)據(jù)庫的時間之間創(chuàng)建一個時間延遲。你能指定時間間隔(分鐘)來保護損壞或錯誤的數(shù)據(jù)的應(yīng)用到備數(shù)據(jù)庫,當(dāng)你設(shè)置DELAY 間隔,它不是延遲重做數(shù)據(jù)的傳輸?shù)絺鋽?shù)據(jù)庫。替代地,你指定的時間延遲從重做數(shù)據(jù)完整地歸檔到備目的地開始。
注:如果你定義對一個允許實時應(yīng)用的目的地的延遲,則該延遲被忽略。
指定時間延遲
你能使用 LOG_ARCHIVE_DEST_n 初始化參數(shù)的DELAY=minutes 屬性,在主和備數(shù)據(jù)庫上設(shè)置時間延遲來延遲應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫。默認地,沒有時間延遲。如果你指定DELAY 而沒有指定一個值,則默認的延遲間隔是30 分鐘。
取消時間延遲
你能取消指定的延遲間隔,如下:
對于物理備數(shù)據(jù)庫,使用 RECOVER MANAGED STANDBY DATABASE 字句的NODELAY 關(guān)鍵詞:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;
對于邏輯備數(shù)據(jù)庫,指定下面的 SQL 語句:
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY NODELAY;
這些命令導(dǎo)致日志應(yīng)用在時間間隔過期之前,立即開始應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫。
使用Flashback 數(shù)據(jù)庫作為設(shè)置時間延遲的另一選擇
作為設(shè)置應(yīng)用延遲的另一選擇,你能使用Flashback 數(shù)據(jù)庫來從損壞或錯誤數(shù)據(jù)的應(yīng)用中恢復(fù)到備數(shù)據(jù)庫。Flashback 數(shù)據(jù)庫能快速、簡單地閃回備數(shù)據(jù)庫到一個任意的時間點。
三、應(yīng)用重做數(shù)據(jù)到物理備數(shù)據(jù)庫
默認地,重做數(shù)據(jù)從歸檔重做日志文件應(yīng)用。當(dāng)執(zhí)行重做應(yīng)用時,物理備數(shù)據(jù)庫能使用實時應(yīng)用特性來從正在被RFS 進程寫的備重做日志文件直接應(yīng)用重做。注意當(dāng)物理備數(shù)據(jù)庫以只讀模式打開時日志應(yīng)用服務(wù)不能應(yīng)用重做數(shù)據(jù)。
開始重做應(yīng)用
要在物理備數(shù)據(jù)庫上開始日志應(yīng)用服務(wù),確保物理備數(shù)據(jù)庫是啟動并安裝的,然后使用SQL:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 語句來開始重做應(yīng)用。
你能指定重做應(yīng)用作為前臺會話或后臺進程運行,并允許它實時應(yīng)用。
要在前臺開始重做應(yīng)用,執(zhí)行下面的 SQL 語句:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
如果你開始一個前臺會話,控制不會返回到命令提示符,直到恢復(fù)被其它會話取消了。??? 要在后臺開始重做應(yīng)用,在 SQL 語句中包括DISCONNECT 關(guān)鍵詞。例如:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
這條語句開始了一個分離的服務(wù)進程并立即返回控制到用戶。當(dāng)管理恢復(fù)進程在后臺執(zhí)行恢復(fù),執(zhí)行RECOVER 語句的前臺進程能繼續(xù)執(zhí)行其它任務(wù)。這不會斷開當(dāng)前的SQL 會話。
要開始實時應(yīng)用,在 SQL 語句上包含USING CURRENT LOGFILE 字句。例如:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
停止重做應(yīng)用
要停止重做應(yīng)用,在其它窗口執(zhí)行下面的 SQL 語句:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
四、應(yīng)用重做數(shù)據(jù)到邏輯備數(shù)據(jù)庫
SQL 應(yīng)用從歸檔重做日志或備重做日志轉(zhuǎn)換數(shù)據(jù)到SQL 語句,然后在邏輯備數(shù)據(jù)庫上執(zhí)行這些SQL 語句。因為邏輯備數(shù)據(jù)庫保持打開,維護的表能同時用于其它任務(wù),如報表、總結(jié)、和查詢。
開始SQL 應(yīng)用
要開始 SQL 應(yīng)用,啟動邏輯備數(shù)據(jù)庫并執(zhí)行下面語句:
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;
在邏輯備數(shù)據(jù)庫上停止SQL應(yīng)用
要停止SQL 應(yīng)用,在邏輯備數(shù)據(jù)庫上執(zhí)行下面語句:
SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;
當(dāng)你執(zhí)行該語句,SQL 應(yīng)用等待直到它提交了所有在應(yīng)該過程中完成的事務(wù)。這樣,該命令可能不能立即停止SQL 應(yīng)用進程。如果你想立即停止 SQL 應(yīng)用,執(zhí)行下面語句:
SQL> ALTER DATABASE ABORT LOGICAL STANDBY APPLY;
關(guān)鍵詞標(biāo)簽:DATAGUARD,日志應(yīng)用服
相關(guān)閱讀
熱門文章
Oracle中使用alter table來增加,刪除,修改列的語法
oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例
誤刪Oracle數(shù)據(jù)庫實例的控制文件
為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法