Oracle 10g 閃回?cái)?shù)據(jù)庫(kù)中的恢復(fù)點(diǎn) |
發(fā)布時(shí)間: 2012/8/18 17:22:27 |
還記得 SQL 中保存點(diǎn)的概念嗎?在一個(gè)事務(wù)中,您可以創(chuàng)建保存點(diǎn),進(jìn)行某些修改,創(chuàng)建另一個(gè)保存點(diǎn),等等。如果這些更改不是您想要的,則您所要做的就是將它們回滾到某個(gè)具體的保存點(diǎn)。 現(xiàn)在,我們將介紹 Oracle 數(shù)據(jù)庫(kù) 10g 中引入的一個(gè)新功能 — 閃回?cái)?shù)據(jù)庫(kù)。通過(guò)它您可以將數(shù)據(jù)庫(kù)倒回到前一個(gè)時(shí)間點(diǎn)。在這種情況下?lián)碛幸粋(gè)與保存點(diǎn)類似的功能(即能夠倒回到一個(gè)有名稱的點(diǎn),而不僅僅是一個(gè)時(shí)間點(diǎn))豈不是很好? 在 Oracle 數(shù)據(jù)庫(kù) 10g 第 2 版中,您可以使用一個(gè)名為恢復(fù)點(diǎn)的新功能來(lái)實(shí)現(xiàn)該操作。以下是它的工作方式。假設(shè)有一個(gè)長(zhǎng)期運(yùn)行的處理(涉及多個(gè)必須按順序運(yùn)行的批處理程序)。 以下是事件序列: 創(chuàng)建恢復(fù)點(diǎn) rp1 使用以下代碼創(chuàng)建一個(gè)恢復(fù)點(diǎn) 現(xiàn)在根據(jù)當(dāng)前的數(shù)據(jù)庫(kù)時(shí)間和 SCN 創(chuàng)建了恢復(fù)點(diǎn) BEFORE_MONTHEND_200503。如果要確?梢詫(shù)據(jù)庫(kù)閃回到某個(gè)特定恢復(fù)點(diǎn),可以通過(guò)按如下所示創(chuàng)建有保證的恢復(fù)點(diǎn)來(lái)指定 guarantee: 可以通過(guò)從動(dòng)態(tài)性能視圖 V$RESTORE_POINT 中執(zhí)行 SELECT 來(lái)確認(rèn)該恢復(fù)點(diǎn)是否存在: 稍后當(dāng)您要將數(shù)據(jù)庫(kù)閃回到該恢復(fù)點(diǎn)時(shí),您只需發(fā)出: 如果檢查警報(bào)日志,它將顯示一個(gè)類似如下的行: 恢復(fù)點(diǎn)(尤其是有保證的恢復(fù)點(diǎn))在許多與數(shù)據(jù)庫(kù)相關(guān)的任務(wù)中非常有用。 QA 數(shù)據(jù)庫(kù)就是一個(gè)典型示例。在該數(shù)據(jù)庫(kù)中,您可能要建立一個(gè)恢復(fù)點(diǎn)、運(yùn)行某些測(cè)試并閃回到恢復(fù)點(diǎn),從而使數(shù)據(jù)庫(kù)看起來(lái)好象什么也沒發(fā)生一樣。然后,您可以執(zhí)行另一輪測(cè)試,并再次將它恢復(fù)到恢復(fù)點(diǎn) 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |