IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → DATAGUARD的日志應(yīng)用服務(wù)

DATAGUARD的日志應(yīng)用服務(wù)

時(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)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法