時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
一、日志應(yīng)用服務(wù)介紹
日志應(yīng)用服務(wù)自動(dòng)應(yīng)用重做到備數(shù)據(jù)庫,以維護(hù)與主數(shù)據(jù)庫的同步并允許對(duì)數(shù)據(jù)庫的事務(wù)一致性訪問。
默認(rèn)地,日志應(yīng)用服務(wù)在應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫之前等待完全的歸檔重做日志文件到達(dá)備數(shù)據(jù)庫。從主數(shù)據(jù)庫傳送的重做數(shù)據(jù)被備系統(tǒng)上的遠(yuǎn)程文件服務(wù)進(jìn)程(RFS)接收,在那里RFS 進(jìn)程寫重做數(shù)據(jù)到歸檔重做日志文件或備重做日志文件。然而,如果你使用備重做日志文件,你能允許實(shí)時(shí)應(yīng)用,這允許Data Guard從正在被RFS 進(jìn)程寫的當(dāng)前備重做日志文件恢復(fù)重做數(shù)據(jù)。
日志應(yīng)用服務(wù)使用下面的方法來維護(hù)物理和邏輯備數(shù)據(jù)庫:
重做應(yīng)用(只有物理備數(shù)據(jù)庫)
使用介質(zhì)恢復(fù)來保持主和物理備數(shù)據(jù)庫同步。
注意:
你也能以只讀模式打開物理備數(shù)據(jù)庫,允許用戶查詢備數(shù)據(jù)庫用作報(bào)表用途。當(dāng)打開的時(shí)候,還是接收重做數(shù)據(jù)的;然而,重做應(yīng)用停止并且物理備數(shù)據(jù)庫沒有與主數(shù)據(jù)庫保持同步。如果在此時(shí)間發(fā)生故障,會(huì)延長(zhǎng)故障轉(zhuǎn)移操作完成所需的時(shí)間
SQL應(yīng)用(只有邏輯備數(shù)據(jù)庫)
從主數(shù)據(jù)庫接收的重做重組SQL語句并在邏輯備數(shù)據(jù)庫上執(zhí)行SQL語句。
邏輯備數(shù)據(jù)庫能以讀/寫模式打開,但是由邏輯備數(shù)據(jù)庫維護(hù)的目標(biāo)表只能以只讀模式打開以用于報(bào)表用途(倘若數(shù)據(jù)庫guard 適當(dāng)設(shè)置)。SQL 應(yīng)用允許你使用邏輯備數(shù)據(jù)庫用于報(bào)表活動(dòng),即使當(dāng)SQL 語句被應(yīng)用時(shí)。
二、日志應(yīng)用服務(wù)配置選項(xiàng)
使用實(shí)時(shí)應(yīng)用來立即應(yīng)用重做數(shù)據(jù)
如果允許了實(shí)時(shí)應(yīng)用特性,日志應(yīng)用服務(wù)能在接收重做數(shù)據(jù)時(shí)應(yīng)用,而不用等待當(dāng)前備重做日志文件歸檔。這導(dǎo)致更快的切換和故障轉(zhuǎn)移時(shí)間,因?yàn)閭渲刈鋈罩疚募诠收限D(zhuǎn)移或切換開始的時(shí)候已經(jīng)應(yīng)用到備數(shù)據(jù)庫。
使用 ALTER DATABASE 語句來允許實(shí)時(shí)應(yīng)用特性,如下:
對(duì)于物理備數(shù)據(jù)庫,執(zhí)行 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE 語句。
對(duì)于邏輯備數(shù)據(jù)庫,執(zhí)行ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE 語句。
注意:使用實(shí)時(shí)應(yīng)用需要備重做日志文件。
圖 1 顯示了使用本地目的地和備目的地的Data Guard 配置。當(dāng)遠(yuǎn)程文件服務(wù)(RFS)進(jìn)程在備數(shù)據(jù)上寫重做數(shù)據(jù)到備重做日志文件時(shí),日志應(yīng)用服務(wù)能從正在被寫的備重做日志文件恢復(fù)重做。
圖1 使用實(shí)時(shí)應(yīng)用應(yīng)用重做數(shù)據(jù)到備目的地
#p#副標(biāo)題#e#
對(duì)歸檔重做日志文件的應(yīng)用指定時(shí)間延遲
在一些情況下,你可能想在重做數(shù)據(jù)從主站點(diǎn)接收到它應(yīng)用到備數(shù)據(jù)庫的時(shí)間之間創(chuàng)建一個(gè)時(shí)間延遲。你能指定時(shí)間間隔(分鐘)來保護(hù)損壞或錯(cuò)誤的數(shù)據(jù)的應(yīng)用到備數(shù)據(jù)庫,當(dāng)你設(shè)置DELAY 間隔,它不是延遲重做數(shù)據(jù)的傳輸?shù)絺鋽?shù)據(jù)庫。替代地,你指定的時(shí)間延遲從重做數(shù)據(jù)完整地歸檔到備目的地開始。
注:如果你定義對(duì)一個(gè)允許實(shí)時(shí)應(yīng)用的目的地的延遲,則該延遲被忽略。
指定時(shí)間延遲
你能使用 LOG_ARCHIVE_DEST_n 初始化參數(shù)的DELAY=minutes 屬性,在主和備數(shù)據(jù)庫上設(shè)置時(shí)間延遲來延遲應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫。默認(rèn)地,沒有時(shí)間延遲。如果你指定DELAY 而沒有指定一個(gè)值,則默認(rèn)的延遲間隔是30 分鐘。
取消時(shí)間延遲
你能取消指定的延遲間隔,如下:
對(duì)于物理備數(shù)據(jù)庫,使用 RECOVER MANAGED STANDBY DATABASE 字句的NODELAY 關(guān)鍵詞:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;
對(duì)于邏輯備數(shù)據(jù)庫,指定下面的 SQL 語句:
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY NODELAY;
這些命令導(dǎo)致日志應(yīng)用在時(shí)間間隔過期之前,立即開始應(yīng)用歸檔重做日志文件到備數(shù)據(jù)庫。
使用Flashback 數(shù)據(jù)庫作為設(shè)置時(shí)間延遲的另一選擇
作為設(shè)置應(yīng)用延遲的另一選擇,你能使用Flashback 數(shù)據(jù)庫來從損壞或錯(cuò)誤數(shù)據(jù)的應(yīng)用中恢復(fù)到備數(shù)據(jù)庫。Flashback 數(shù)據(jù)庫能快速、簡(jiǎn)單地閃回備數(shù)據(jù)庫到一個(gè)任意的時(shí)間點(diǎn)。
三、應(yīng)用重做數(shù)據(jù)到物理備數(shù)據(jù)庫
默認(rèn)地,重做數(shù)據(jù)從歸檔重做日志文件應(yīng)用。當(dāng)執(zhí)行重做應(yīng)用時(shí),物理備數(shù)據(jù)庫能使用實(shí)時(shí)應(yīng)用特性來從正在被RFS 進(jìn)程寫的備重做日志文件直接應(yīng)用重做。注意當(dāng)物理備數(shù)據(jù)庫以只讀模式打開時(shí)日志應(yīng)用服務(wù)不能應(yīng)用重做數(shù)據(jù)。
開始重做應(yīng)用
要在物理備數(shù)據(jù)庫上開始日志應(yīng)用服務(wù),確保物理備數(shù)據(jù)庫是啟動(dòng)并安裝的,然后使用SQL:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 語句來開始重做應(yīng)用。
你能指定重做應(yīng)用作為前臺(tái)會(huì)話或后臺(tái)進(jìn)程運(yùn)行,并允許它實(shí)時(shí)應(yīng)用。
要在前臺(tái)開始重做應(yīng)用,執(zhí)行下面的 SQL 語句:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
如果你開始一個(gè)前臺(tái)會(huì)話,控制不會(huì)返回到命令提示符,直到恢復(fù)被其它會(huì)話取消了。??? 要在后臺(tái)開始重做應(yīng)用,在 SQL 語句中包括DISCONNECT 關(guān)鍵詞。例如:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
這條語句開始了一個(gè)分離的服務(wù)進(jìn)程并立即返回控制到用戶。當(dāng)管理恢復(fù)進(jìn)程在后臺(tái)執(zhí)行恢復(fù),執(zhí)行RECOVER 語句的前臺(tái)進(jìn)程能繼續(xù)執(zhí)行其它任務(wù)。這不會(huì)斷開當(dāng)前的SQL 會(huì)話。
要開始實(shí)時(shí)應(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 語句。因?yàn)檫壿媯鋽?shù)據(jù)庫保持打開,維護(hù)的表能同時(shí)用于其它任務(wù),如報(bào)表、總結(jié)、和查詢。
開始SQL 應(yīng)用
要開始 SQL 應(yīng)用,啟動(dò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)用進(jìn)程。如果你想立即停止 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ù)庫實(shí)例的控制文件 為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刪除表的幾種方法