国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
RMAN 初學(xué)者指南

RMAN 初學(xué)者指南



RMAN(Recovery Manager) 是 DBA 的一個重要工具,用于備份、還原和恢復(fù) oracle 數(shù)據(jù)庫,前一段時間有網(wǎng)友找我要,可惜沒時間,趁這兩天出差在外沒什么事,就寫了一下,供初學(xué)的朋友參考。本文將介紹 RMAN 的基本操作,更多的信息請參考《 Oracle8i Backup & Recovery Guide 》及 RMAN 手冊,或者是 OCP Student Guide M09096 《 Backup and Recovery Workshop 》 Volume 2 ,也可以通過 gototop@ncn.cn 和我聯(lián)系。 Oracle 自帶的例子參考 $ORACLE_HOME/rdbms/demo 目錄下的 *.rcv 腳本。


一、 RMAN 簡介


RMAN 可以用來備份和恢復(fù)數(shù)據(jù)庫文件、歸檔日志和控制文件,也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù)。 RMAN 有三種不同的用戶接口: COMMAND LINE 方式、 GUI 方式(集成在 OEM 中的備份管理器)、 API 方式(用于集成到第三方的備份軟件中)。具有如下特點:

1 )功能類似物理備份,但比物理備份強大 N 倍,從下面的特點可以看到;

2 )可以壓縮空塊;

3 )可以在塊水平上實現(xiàn)增量;

4 )可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;

5 )備份與恢復(fù)的過程可以自動管理;

6 )可以使用腳本(存在 Recovery catalog 中)

7 )可以做壞塊監(jiān)測


二、相關(guān)術(shù)語解釋

1 ) Backup sets 備份集

備份集顧名思義就是一次備份的集合,它包含本次備份的所有備份片,以 oracle 專有的格式保存。一個備份集根據(jù)備份的類型不同,可能構(gòu)成一個完全備份或增量備份。

2 ) Backup pieces 備份片

一個備份集由若干個備份片組成。每個備份片是一個單獨的輸出文件。一個備份片的大小是有限制的;如果沒有大小的限制, 備份集就只由一個備份片構(gòu)成。備份片的大小不能大于你的文件系統(tǒng)所支持的文件長度的最大值。

3 ) Image copies 映像備份

映像備份不壓縮、不打包、直接 COPY 獨立文件(數(shù)據(jù)文件、歸檔日志、控制文件),類似操作系統(tǒng)級的文件備份。而且只能 COPY 到磁盤,不能到磁帶。可以作為增量備份的 0 級,一般用來備份控制文件。

4 ) Full backup 全備份

全備份是指對數(shù)據(jù)文件中使用過的數(shù)據(jù)塊進行備份,沒有使用過的數(shù)據(jù)塊是不做備份的,也就是說, RMAN 進行備份是進行壓縮的。

5 ) Incremental backup 增量備份

增量備份是指備份數(shù)據(jù)文件中自從上一次同一級別的或更低級別的備份以來被修改過的數(shù)據(jù)塊。與完全備份相同,增量備份也進行壓縮。增量備份雖然概念很好,備份也很簡單,但恢復(fù)起來卻是另外一回事,不僅麻煩而且容易出錯,所以實際中越來越少使用,到了 Oracle 9i 已經(jīng)建議不再使用,以后版本會逐漸取消對增量備份的支持。

6 ) Recovery catalog 恢復(fù)目錄

恢復(fù)目錄用于記錄 RMAN 使用過程中的控制信息,恢復(fù)目錄應(yīng)該經(jīng)常被同步(這在后面會講到)。盡管我們可以使用 nocatalog 方式來使用 RMAN ,此時控制信息記錄在目標數(shù)據(jù)庫的控制文件中,但這樣畢竟不安全,因為一旦目標數(shù)據(jù)庫的控制文件損壞就意味著所有的 RMAN 備份失效。同樣的道理恢復(fù)目錄應(yīng)該建立在另外一個數(shù)據(jù)庫中,在下面的例子中我們稱作“目錄數(shù)據(jù)庫”。


三、創(chuàng)建恢復(fù)目錄

1 、在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄所用表空間

SQL> create tablespace rmants datafile ‘c:\oracle\oradata\cc\rmants.ora‘ size 20M ;

表空間已創(chuàng)建。

2 、在目錄數(shù)據(jù)庫中創(chuàng)建 RMAN 用戶并授權(quán)

SQL> create user rman identified by rman default tablespace rmants temporary tablespace temp quota

unlimited on rmants;

用戶已創(chuàng)建

SQL> grant recovery_catalog_owner to rman ;

授權(quán)成功。

3 、在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄

C:\>rman catalog rman/rman

恢復(fù)管理器:版本 8.1.7.0.0 - Production

RMAN-06008 :連接到恢復(fù)目錄數(shù)據(jù)庫

RMAN-06428 :未安裝恢復(fù)目錄

RMAN>create catalog tablespace rmants;

RMAN-06431 :恢復(fù)目錄已創(chuàng)建

4 、注冊目標數(shù)據(jù)庫到恢復(fù)目錄

注意哦,這里我的目標數(shù)據(jù)庫使用的服務(wù)名稱是 rman ,意思為要使用 RMAN 進行備份的數(shù)據(jù)庫,而目錄

數(shù)據(jù)庫使用的服務(wù)名稱是 CC 。

C:\>rman target sys/sys@rman

恢復(fù)管理器:版本 8.1.7.0.0 - Production

RMAN-06005 :連接到目標數(shù)據(jù)庫: RMAN (DBID=1303772234)

RMAN>connect catalog rman/rman@cc

RMAN-06008 :連接到恢復(fù)目錄數(shù)據(jù)庫

RMAN>register database;

RMAN-03022 :正在編譯命令: register

RMAN-03023 :正在執(zhí)行命令: register

RMAN-08006 :注冊在恢復(fù)目錄中的數(shù)據(jù)庫

RMAN-03023 :正在執(zhí)行命令: full resync

RMAN-08002 :正在啟動全部恢復(fù)目錄的 resync

RMAN-08004 :完成全部 resync

好了,到此為止前面的準備工作都做好了,下面就可以使用 RMAN 來進行備份和恢復(fù)了。


四、使用 RMAN

下面通過具體的例子來說明 RMAN 的使用,這里會涉及到除了恢復(fù)以外的所有 RMAN 操作,關(guān)于使用 RMAN 進行恢復(fù)的內(nèi)容請參考我以前寫的另外一篇文章: RMAN 恢復(fù)實踐。

1 、備份整個數(shù)據(jù)庫

RMAN>run {

2> allocate channel c1 type disk;

3> backup database format ‘e:\dbbackup\2db.dmp‘;

4> }

2 、復(fù)制數(shù)據(jù)文件

RMAN>run {

2> allocate channel c1 type disk;

3> copy datafile ‘c:\oracle\oradata\rman\users01.dbf‘ to ‘e:\dbbackup\u.dbf‘ tag

=u1215;

4> }

3 、查看備份及復(fù)制的信息

RMAN>list backup;

RMAN-03022 :正在編譯命令: list

備份集列表

關(guān)鍵字 Recid 標記 LV 集合標記集合計數(shù)完成時間

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

216 1 417347013 0 417346992 1 26-12 月 -00

備份段列表

關(guān)鍵字 Pc# Cp# 狀態(tài)完成時間段名

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

217 1 1 AVAILABLE 26-12 月 -00 E:\DBBACKUP\2DB.DMP

數(shù)據(jù)文件包括列表

文件名稱 LV 類型檢查點 SCN 檢查點時間

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

1 C:\ORACLE\ORADATA\RMAN\SYSTEM01.DBF 0 Full 33224 26-12 月 -00

2 C:\ORACLE\ORADATA\RMAN\RBS01.DBF 0 Full 33224 26-12 月 -00

3 C:\ORACLE\ORADATA\RMAN\USERS01.DBF 0 Full 33224 26-12 月 -00

4 C:\ORACLE\ORADATA\RMAN\TEMP01.DBF 0 Full 33224 26-12 月 -00

5 C:\ORACLE\ORADATA\RMAN\TOOLS01.DBF 0 Full 33224 26-12 月 -00

6 C:\ORACLE\ORADATA\RMAN\INDX01.DBF 0 Full 33224 26-12 月 -00

RMAN>list copy of datafile ‘c:\oracle\oradata\rman\users01.dbf‘;

RMAN-03022 :正在編譯命令: list

數(shù)據(jù)文件備份列表

關(guān)鍵字文件狀態(tài)完成時間檢查點 SCN 檢查點時間名稱

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

226 3 A 26-12 月 -00 33226 26-12 月 -00 E:\DBBACKUP\U.DBF

4 、在備份是設(shè)置相關(guān)參數(shù)

format -- 文件輸出格式,

%d--database name,

%s--backup sets sequence number,

%p--backup pieces sequence number

filesperset -- 每個備份集中所包括的文件數(shù)

更多參數(shù)請參考本文開始時列出的書。

RMAN>run {

2> allocate channel c1 type disk;

3> set limit channel c1 kbytes 8000;

4> backup

5> format ‘e:\dbbackup\db_%d_%s_%p.bck‘

6> (database filesperset=2 );

7> }

RMAN-03022 :正在編譯命令: allocate

RMAN-03023 :正在執(zhí)行命令: allocate

RMAN-08030 :分配的通道: c1

RMAN-08500 :通道 c1 : sid=9 devtype=DISK

RMAN-03022 :正在編譯命令: set limit

RMAN-03023 :正在執(zhí)行命令: set limit

RMAN-03022 :正在編譯命令: backup

RMAN-03023 :正在執(zhí)行命令: backup

RMAN-08008 :通道 c1 :正在啟動 full 數(shù)據(jù)文件備份集

RMAN-08502 : set_count=6 set_stamp=417351064 creation_time=26-12 月 -00

RMAN-08010 :通道 c1 :正在指定備份集中的數(shù)據(jù)文件

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00003 name=C:\ORACLE\ORADATA\RMAN\USERS01.DBF

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00005 name=C:\ORACLE\ORADATA\RMAN\TOOLS01.DBF

RMAN-08013 :通道 c1 :已創(chuàng)建 1 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_6_1.BCK comment=NONE

RMAN-08525 :備份集完成,經(jīng)過時間: 00:00:03

RMAN-08008 :通道 c1 :正在啟動 full 數(shù)據(jù)文件備份集

RMAN-08502 : set_count=7 set_stamp=417351067 creation_time=26-12 月 -00

RMAN-08010 :通道 c1 :正在指定備份集中的數(shù)據(jù)文件

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00002 name=C:\ORACLE\ORADATA\RMAN\RBS01.DBF

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00006 name=C:\ORACLE\ORADATA\RMAN\INDX01.DBF

RMAN-08013 :通道 c1 :已創(chuàng)建 1 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_7_1.BCK comment=NONE

RMAN-08525 :備份集完成,經(jīng)過時間: 00:00:04

RMAN-08008 :通道 c1 :正在啟動 full 數(shù)據(jù)文件備份集

RMAN-08502 : set_count=8 set_stamp=417351071 creation_time=26-12 月 -00

RMAN-08010 :通道 c1 :正在指定備份集中的數(shù)據(jù)文件

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00001 name=C:\ORACLE\ORADATA\RMAN\SYSTEM01.DBF

RMAN-08011 :備份集中包括當(dāng)前控制文件

RMAN-08013 :通道 c1 :已創(chuàng)建 1 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_1.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 2 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_2.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 3 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_3.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 4 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_4.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 5 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_5.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 6 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_6.BCK comment=NONE

RMAN-08013 :通道 c1 :已創(chuàng)建 7 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_8_7.BCK comment=NONE

RMAN-08525 :備份集完成,經(jīng)過時間: 00:00:19

.... ....

RMAN-08008 :通道 c1 :正在啟動 full 數(shù)據(jù)文件備份集

RMAN-08502 : set_count=9 set_stamp=417351090 creation_time=26-12 月 -00

RMAN-08010 :通道 c1 :正在指定備份集中的數(shù)據(jù)文件

RMAN-08522 :輸入數(shù)據(jù)文件 fno=00004 name=C:\ORACLE\ORADATA\RMAN\TEMP01.DBF

RMAN-08013 :通道 c1 :已創(chuàng)建 1 段

RMAN-08503 :段 handle=E:\DBBACKUP\DB_RMAN_9_1.BCK comment=NONE

RMAN-08525 :備份集完成,經(jīng)過時間: 00:00:07

RMAN-03023 :正在執(zhí)行命令: partial resync

RMAN-08003 :啟動部分恢復(fù)目錄的 resync

RMAN-08005 :完成部分 resync

RMAN-08031 :釋放的通道: c1

5 、使用腳本功能

使用腳本的目的在于方便我們操作中的方便,操作上和存儲過程相似。

RMAN>create script l0dbbackup {

2> allocate channel c1 type disk;

3> backup

4> format ‘e:\dbbackup\db_%d_%s_%p.bck‘

5> (database filesperset=2 );

6> }

RMAN-03022 :正在編譯命令: create script

RMAN-03023 :正在執(zhí)行命令: create script

RMAN-08085 :已創(chuàng)建腳本 l0dbbackup

RMAN>run {execute script l0dbbackup; }

創(chuàng)建恢復(fù)目錄步驟:
1 、連接目錄數(shù)據(jù)庫并為目錄創(chuàng)建表空間:
create tablespace rman_ts datafile ‘E:\ORACLE\ORADATA\MYUSR\rman.dbf‘ size 20M default storage(initial 100k next 100k pctincrease 0);

2 、創(chuàng)建恢復(fù)管理器用戶:
create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;

3 、授予該用戶維護恢復(fù)目錄和執(zhí)行備份與恢復(fù)操作的角色和權(quán)限:
grant recovery_catalog_owner to rman;
grant connect,resource to rman;

4 、確保在表空間和回滾段有足夠的空間。目錄需要大約 20m 的空間,回滾段大約為 5m ;

5 、登錄到 os ,運行 rman 命令調(diào)用 rman 命令編譯器并創(chuàng)建目錄。使用 MSGLOG(8I 中為 LOG) 選項允許 rman 將信息和命令輸出到文件中。
$rman catalog rman/rman msglog=catalog.log
RMAN> create catalog tablespace rman_ts
RMAN> exit

6 、檢查 rman 創(chuàng)建的 catalog.log 文件(如果沒指定應(yīng)在進入 rman 前的目錄下),注意在創(chuàng)建恢復(fù)目錄過程中是否有錯誤。如果發(fā)現(xiàn)了任何錯誤,應(yīng)該刪除目錄擁有者的所有對象并重建它們。

7 、使用 rman 命令連接到包含目標數(shù)據(jù)庫的服務(wù)器。應(yīng)以具有 sysdba 權(quán)限的用戶身份登錄到目標數(shù)據(jù)庫執(zhí)行所有的備份和恢復(fù)操作。
$rman target ‘sys/pass as sysdba‘
RMAN> connect catalog rman/rman

注意:前提條件是已經(jīng)把數(shù)據(jù)庫置于 archivelog 狀態(tài)
( shutdown immediate;-- 注意不能用 abort
startup mount
alter database archivelog;
alter database open;


8 、在恢復(fù)目錄中注冊目標數(shù)據(jù)庫。
RMAN> register database;

注意: rman 是使用內(nèi)部數(shù)據(jù)庫標志符( DBID )作為該數(shù)據(jù)庫的唯一性標識, DBID 是在第一次創(chuàng)建數(shù)據(jù)庫時計算出的。如果試圖注冊一個新的數(shù)據(jù)庫,而這個數(shù)據(jù)庫是通過拷貝已有數(shù)據(jù)庫然后更名創(chuàng)建的,那么注冊將失敗。要備份拷貝的數(shù)據(jù)庫,需要創(chuàng)建一個新的恢復(fù)目錄擁有者,然后在這個新賬號創(chuàng)建恢復(fù)目錄

$rman catalog rman/rman
rman: can‘t open catalog
提示這樣的錯誤,
RMAN> 提示符出現(xiàn)不了。

為什么?

原來我運行的 rman 命令是 /usr/X11R6/bin/rman
而不是 $ORACLE_HOME/bin/rman

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[原創(chuàng)] oracle聯(lián)機熱備份的原理,及rman增量備份原理
Oracle備份與恢復(fù)案例(二)
rman備份方式半功略 -備份恢復(fù)-Oracle頻道-中國IT實驗室
rman備份恢復(fù)操作手冊-從零到無
第13章備份與恢復(fù)
Oracle備份/恢復(fù)案例01
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服