小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(九)

 168一路發(fā) 2010-12-15
RMAN

RMAN 的功能更強(qiáng)大,它具有重新設(shè)計(jì)的增量備份模式、增量備份的脫機(jī)恢復(fù)、預(yù)覽恢復(fù)、復(fù)原日志進(jìn)行恢復(fù)、文件壓縮等功能。

大多數(shù)人都認(rèn)同 RMAN 是用于 Oracle 數(shù)據(jù)庫備份的實(shí)際工具。但是與它們所具有的強(qiáng)大功能相比, RMAN 的早期版本 并未提供人們所期待的一些功能。就像許多 DBA 一樣,如果它沒有包含我認(rèn)為必須具有的功能,我將會(huì)異常惱怒。

幸運(yùn)的是, Oracle 數(shù)據(jù)庫 10 g 通過合并人們所想要的許多功能解決了很多這類問題,這使 RMAN 成為一種更強(qiáng)大、更有用的工具。讓我們看一下這些功能。

再論增量備份

RMAN 包含一個(gè)用于增量備份的選項(xiàng)。但是老實(shí)講,您多久使用一次呢?可能經(jīng)常用,也可能永遠(yuǎn)也不會(huì)用。

該選項(xiàng)用于指示該工具以相同或較低的級(jí)別來備份自上一次增量備份后發(fā)生改變的塊。例如,在第 1 天采用完全備份 (level_0) ,而在第 2 、 3 天采用兩個(gè) level_1 的增量。后面的兩個(gè)備份只是備份了第 1 天和第 2 天之間,及第 2 天和第 3 天之間更改過的塊,而不是跨整個(gè)備份時(shí)間進(jìn)行備份。這種策略減少了備份規(guī)模、需要的空間較少,并縮小了備份窗口,減少了網(wǎng)絡(luò)間移動(dòng)的數(shù)據(jù)量。

執(zhí)行增量備份的最重要的原因是:與數(shù)據(jù)倉庫環(huán)境關(guān)聯(lián)起來,在該環(huán)境中許多操作都是在 NOLOGGING 模式下執(zhí)行的,并且數(shù)據(jù)更改不會(huì)涉及到存檔的日志文件 — 因此,不可能發(fā)生介質(zhì)恢復(fù)。考慮到今天的數(shù)據(jù)倉庫的巨大規(guī)模,以及其中的大部分?jǐn)?shù)據(jù)并沒有發(fā)生改變的事實(shí),就會(huì)知道執(zhí)行完全備份既不值得又不實(shí)際。相反,在 RMAN 中執(zhí)行增量備份是一個(gè)理想的選擇。

既然如此,那么為什么許多 DBA 極少執(zhí)行增量備份呢?一個(gè)原因是:在 Oracle 9 i 及其較低的版本中, RMAN 會(huì)掃描所有的數(shù)據(jù)塊以確定要備份的內(nèi)容。這個(gè)過程給系統(tǒng)施加了如此大的壓力,以致于執(zhí)行增量備份變得不實(shí)際。

Oracle 數(shù)據(jù)庫 10 g RMAN 以消除了該缺陷的方式來執(zhí)行增量備份。它使用一個(gè)文件,類似于文件系統(tǒng)中的日志,來跟蹤自上一次備份起更改過的塊。 RMAN 讀取該文件來確定將要備份的塊。

您可以通過發(fā)布以下命令來啟用該跟蹤機(jī)制:

SQL> alter database enable block change tracking using file '/rman_bkups/change.log';

該命令將創(chuàng)建一個(gè)名為 /rman_bkups/change.log 的二進(jìn)制文件,以用于跟蹤。相反,您可以使用以下命令來禁用跟蹤:

SQL> alter database disable block change tracking;

要想查看當(dāng)前是否啟用了對(duì)更改的跟蹤,您可以查詢:

SQL> select filename, status from v$block_change_tracking;

快速恢復(fù)區(qū)

在 Oracle 9 i 中引入的閃回查詢,依賴于撤消表空間來閃回到先前的版本,因此限制了它深入到過去的能力??焖倩謴?fù)通過創(chuàng)建閃回日志提供了一個(gè)可選的解決方案,它類似于重做日志,用于將數(shù)據(jù)庫恢復(fù)到先前的狀態(tài)。 總之,您為數(shù)據(jù)庫創(chuàng)建了一個(gè)快速恢復(fù)區(qū),指定了其大小,并用如下 SQL 命令將數(shù)據(jù)庫置于快速恢復(fù)模式下:

alter system set db_recovery_file_dest = '/ora_flash_area';

alter system set db_recovery_file_dest_size = 2g ;

alter system set db_flashback_retention_target = 1440;

alter database flashback on;

該數(shù)據(jù)庫必須處于存檔日志模式下以支持閃回。此過程在目錄 /ora_flash_area 中創(chuàng)建了 Oracle 管理文件,其總大小高達(dá) 2GB 。對(duì)數(shù)據(jù)庫所作的更改將寫入到這些文件中,并且可用于將數(shù)據(jù)庫快速恢復(fù)到過去的某個(gè)點(diǎn)上。

默認(rèn)情況下, RMAN 還使用 /ora_flash_area 來存儲(chǔ)備份文件;因此, RMAN 是存儲(chǔ)在磁盤上,而不是磁帶上。鑒于此,您就有能力指定您需要備份的天數(shù)。在該期限之后,如果需要更多的空間,則會(huì)自動(dòng)將這些文件刪除。

快速恢復(fù)區(qū)不必是一個(gè)文件系統(tǒng)或一個(gè)目錄,但是 — ,它可以是一個(gè)自動(dòng)存儲(chǔ)管理 (ASM) 磁盤組。如果是那樣的話,就可以通過如下命令來指定快速恢復(fù)區(qū):

alter system set db_recovery_file_dest = '+dskgrp1';

因此,結(jié)合使用 ASM 和 RMAN ,您就可以使用廉價(jià)的磁盤(如 Serial ATA 或 SCSI 驅(qū)動(dòng))來構(gòu)建一個(gè)高度可伸縮的、容錯(cuò)能力強(qiáng)的存儲(chǔ)系統(tǒng),而不需要額外的軟件。(有關(guān) ASM 的詳細(xì)信息,請(qǐng)參閱本系列中的 第 8 周 的內(nèi)容。)此過程不但使存儲(chǔ)過程更快,也使之能用足夠便宜的、基于磁帶的方法來完成。

一個(gè)額外的好處是防止用戶錯(cuò)誤。由于 ASM 不是真正的文件系統(tǒng),使其遭受 DBA 和系統(tǒng)管理員意外破壞的可能性也更小一些。

增量合并

假如您有如下備份計(jì)劃:

星期天 - 第 0 級(jí)(完全),帶有標(biāo)簽 level_0
星期一 - 第 1 級(jí)(增量),帶有標(biāo)簽 level_1_mon
星期二 - 第 1 級(jí)(增量),帶有標(biāo)簽 level_1_tue

等等。如果數(shù)據(jù)庫在星期天發(fā)生故障,在 Oracle 10 g 之前的版本中,您將不得不恢復(fù)標(biāo)簽 level_0 ,然后應(yīng)用所有六個(gè)增量。它將持續(xù)一段較長的時(shí)間,這是許多 DBA 不進(jìn)行增量備份的另一個(gè)原因。

Oracle 數(shù)據(jù)庫 10 g RMAN 從根本上改變了此格局?,F(xiàn)在,您的增量備份命令看起來如下所示:

RMAN> backup incremental level_1 for recover of copy with tag level_0 database;

在此,我們指示 RMAN 進(jìn)行 level_1 增量備份,并將其與帶有 level_0 標(biāo)簽的完全備份副本合并。在執(zhí)行該命令之后, level_0 就成為了那一天的完全備份。

因此,在星期二,帶有標(biāo)簽 level_0 的備份,當(dāng)將其與 level_1 增量備份合并時(shí),它就變得與完全的星期二備份相等。同樣地,對(duì)于星期六采用的增量,當(dāng)采用磁盤上的備份時(shí),它將會(huì)與完全的 level_0 星期六備份相等。如果數(shù)據(jù)庫在星期六發(fā)生故障,您只需恢復(fù) level_0 備份外加一小份存檔日志,使數(shù)據(jù)庫一致;在此不需要應(yīng)用額外的增量。該方法顯著地削減了恢復(fù)時(shí)間、加快了備份速度,并消除了再一次執(zhí)行完全的數(shù)據(jù)庫備份的需要。

壓縮文件

對(duì)于快速恢復(fù)區(qū)中基于磁盤的備份,仍有一個(gè)大的限制:磁盤空間。特別是當(dāng)經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí) — 通常情況下就是這樣 — 那么創(chuàng)建一個(gè)盡可能小的備份集是明智的。在 Oracle 數(shù)據(jù)庫 10 g RMAN 中,您可以在備份命令內(nèi)部壓縮文件:

RMAN> backup as compressed backupset incremental level 1 database;

注意子句 COMPRESSED 的用法。它將用一個(gè)顯著不同的方式壓縮備份文件:在恢復(fù)時(shí), RMAN 不用解壓縮就能讀取文件。為了確認(rèn)壓縮,檢查如下的輸出信息:

channel ORA_DISK_1:starting compressed incremental level 1 datafile backupset

此外,您可以通過檢查 RMAN 列表輸出來驗(yàn)證備份已被壓縮:

RMAN> list output;

 

BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

3 Incr 1 2M DISK 00:00:00 26-FEB-04

BP Key:3 Status:AVAILABLE Compressed:YES Tag:TAG20040226T100154

Piece Name:/ora_flash_area/SMILEY10/backupset/2004_02_26/o1_mf_ncsn1_TAG20040226T100154_03w 2m3 lr_.bkp

Controlfile Included:Ckp SCN:318556 Ckp time:26-FEB-04

SPFILE Included:Modification time:26-FEB-04

對(duì)于任意的壓縮過程,該方法都會(huì)對(duì) CPU 產(chǎn)生壓力。作為折衷,您可以在磁盤上保存更多的 RMAN 備份,它準(zhǔn)備好為還原和恢復(fù)操作所用。此外,您可以在物理備用數(shù)據(jù)庫上制作 RMAN 備份,它可用于恢復(fù)初始的數(shù)據(jù)庫。該方法將備份源卸載到另一臺(tái)主機(jī)上。

在您開始行動(dòng)之前先看看:恢復(fù)預(yù)覽

在 Oracle 數(shù)據(jù)庫 10 g 中, RMAN 通過提供執(zhí)行恢復(fù)操作所需要的預(yù)覽備份的能力向前邁進(jìn)了一大步。

RMAN> restore database preview;

列表 1 顯示了該操作的輸出結(jié)果。您還可以預(yù)覽特定的恢復(fù)操作;例如:

restore tablespace users preview;

預(yù)覽允許您通過執(zhí)行周期性的、有規(guī)則的檢查,來確保您的備份基礎(chǔ)架構(gòu)的恢復(fù)準(zhǔn)備就緒。

Resetlogs 和恢復(fù)

假設(shè)您丟失了當(dāng)前的聯(lián)機(jī)重做日志文件,并且您不得不執(zhí)行一個(gè)不完全的數(shù)據(jù)庫恢復(fù) — 一種很少見但聽說過的情況。最大的問題是 resetlogs ;在不完全的恢復(fù)之后,您必須用 resetlogs 子句打開數(shù)據(jù)庫,它把日志線程的序列號(hào)設(shè)置為 1 ,會(huì)使您的 RMAN 中的早期備份作廢并使恢復(fù)操作面臨更多的挑戰(zhàn)。

在 Oracle 9 i 及其較低的版本中,如果您需要將數(shù)據(jù)庫恢復(fù)到執(zhí)行 resetlogs 操作之前的某個(gè)版本,您將不得不恢復(fù)到一個(gè)不同的拷貝。在 Oracle 數(shù)據(jù)庫 10 g 中,您不必這樣做。由于控制文件中額外的基礎(chǔ)架構(gòu),在執(zhí)行 resetlogs 之前或之后, RMAN 現(xiàn)在都可以容易地使用所有備份來恢復(fù) Oracle 數(shù)據(jù)庫。它不需要關(guān)閉數(shù)據(jù)庫來制作一個(gè)備份。這種新功能意味著在執(zhí)行 resetlogs 操作之后,可以立即為用戶社區(qū)重新打開數(shù)據(jù)庫。

為 RMAN 作好準(zhǔn)備

Oracle 數(shù)據(jù)庫 10 g RMAN 中的增強(qiáng)功能使它成為您的備份策略中的甚至更具強(qiáng)制性的工具。對(duì)增量備份過程的改進(jìn)只會(huì)使 RMAN 難以被忽視。

有關(guān) Oracle 10 g 中的 RMAN 的更多信息,請(qǐng)參閱 Oracle Database Backup and Recovery Basics 10g 第 1 版 (10.1) 中 第 4 章 的內(nèi)容。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多