ORACLE RMAN快速入门指南Word格式.docx
- 文档编号:20911515
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:26
- 大小:31.80KB
ORACLE RMAN快速入门指南Word格式.docx
《ORACLE RMAN快速入门指南Word格式.docx》由会员分享,可在线阅读,更多相关《ORACLE RMAN快速入门指南Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
2.5.Incrementalbackupsets增量備份集合
增量備份是指備份一個或多個資料檔案的自從上一次同一級別的或更低級別的備份以來被修改過的資料塊。
與完全備份相同,增量備份也進行壓縮。
2.6.Filemultiplexing
不同的多個資料檔案的資料塊可以混合備份在一個備份集中。
2.7.Recoverycatalogresyncing恢復目錄同步
使用恢復管理器執行backup、copy、restore或者switch命令時,恢復目錄自動進行更新,但是有關日誌與歸檔日誌資訊沒有自動記入恢復目錄。
需要進行目錄同步。
使用resynccatalog命令進行同步。
RMAN>
resynccatalog;
RMAN-03022:
正在編譯命令:
resyncRMAN-03023:
正在執行命令:
resyncRMAN-08002:
正在啓動全部恢復目錄的resyncRMAN-08004:
完成全部resync
3.恢復目錄
3.1.恢復目錄的概念
恢復目錄是由RMAN使用、維護的用來放置備份資訊的倉庫。
RMAN利用恢復目錄記載的資訊去判斷如何執行需要的備份恢復操作。
恢復目錄可以存在於ORACLE資料庫的計劃中。
雖然恢復目錄可以用來備份多個資料庫,建議爲恢復目錄資料庫創建一個單獨的資料庫。
恢復目錄資料庫不能使用恢復目錄備份自身。
3.2.建立恢復目錄
第一步,在目錄資料庫中創建恢復目錄所用表空間:
SQL>
createtablespacerman_tsdatafile"
d:
\oracle\oradata\rman\rman_ts.dbf"
size20M;
表空間已創建。
第二步,在目錄資料庫中創建RMAN用戶並授權:
createuserrmanidentifiedbyrmandefaulttablespacerman_tstemporarytablespacetempquotaunlimitedonrman_ts;
用戶已創建。
SQL>
grantrecovery_catalog_ownertorman;
授權成功。
grantconnect,resourcetorman;
第三步,在目錄資料庫中創建恢復目錄
C:
\>
rmancatalogrman/rman恢復管理器:
版本8.1.6.0.0-ProductionRMAN-06008:
連接到恢復目錄資料庫RMAN-06428:
未安裝恢復目錄RMAN>
createcatalogtablespacerman_ts;
RMAN-06431:
恢復目錄已創建
雖然使用RMAN不一定必需恢復目錄,但是推薦使用。
因爲恢復目錄記載的資訊大部分可以通過控制文件來記載,RMAN在恢復資料庫時使用這些資訊。
不使用恢復目錄將會對備份恢復操作有限制。
3.3.使用恢復目錄的優勢
可以存儲腳本;
記載較長時間的備份恢復操作;
4.啓動RMAN
RMAN爲互動式命令行處理介面,也可以從企業管理器中運行。
爲了使用下面的實例,先檢查環境符合:
thetargetdatabaseiscalled"
his"
andhasthesameTNSalias
userrmanhasbeengranted"
recovery_catalog_owner"
privileges
目標資料庫的連接用戶爲internal帳號,或者以其他SYSDBA類型帳號連接
therecoverycatalogdatabaseiscalled"
rman"
theschemacontainingtherecoverycatalogis"
(samepassword)
在使用RMAN前,設置NLS_DATE_FORMAT和NLS_LANG環境變數,很多RMANLIST命令的輸出結果是與日期時間相關的,這點在用戶希望執行以時間爲基準的恢復工作也很重要。
下例是環境變數的示範:
NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK
NLS_DATE_FORMAT=DD-MON-YYYYHH24:
MI:
SS
爲了保證RMAN使用時能連接恢復目錄,恢復目錄資料庫必須打開,目標資料庫至少要STARTED(unmount),否則RMAN會返回一個錯誤,目標資料庫必須置於歸檔模式下。
4.1.使用不帶恢復目錄的RMAN
設置目標資料庫的ORACLE_SID,執行:
%rmannocatalogRMAN>
connecttargetRMAN>
connecttargetinternal/<
PASSWORD>
@his
4.2.使用帶恢復目錄的RMAN
%rmanrman_tsrman/rman@rmanRMAN>
connecttarget%rmanrman_tsrman/rman@rmantargetinternal/<
4.3.使用RMAN
一旦連接到目標資料庫,可以通過交互介面或者事先存儲的腳本執行指定RMAN命令,下面是一個使用RMAN交互介面的實例:
resynccatalog;
使用腳本的實例:
executescriptalloc_1_disk;
創建或者替代存儲的腳本:
replacescriptalloc_1_disk{2>
allocatechanneld1typedisk;
3>
}
5.註冊或者登出目標資料庫
5.1.註冊目標資料庫
資料庫狀態:
恢復目錄狀態:
打開
目標資料庫:
載入或者打開
目標資料庫在第一次使用RMAN之前必須在恢復目錄中註冊:
第一步,啓動恢復管理器,並且連接目標資料庫:
rmantargetinternal/oracle@hiscatalogrman/rman@rman恢復管理器:
版本8.1.6.0.0-ProductionRMAN-06005:
連接到目標資料庫:
HIS(DBID=3021445076)RMAN-06008:
連接到恢復目錄資料庫
第二步,註冊資料庫:
registerdatabase;
registerRMAN-03023:
registerRMAN-08006:
註冊在恢復目錄中的資料庫RMAN-03023:
fullresyncRMAN-08002:
正在啓動全部恢復目錄的resyncRMAN-08004:
完成全部resync
5.2.登出目標資料庫
RMAN提供了一個登出工具,叫DBMS_RCVCAT工具包,請注意一旦登出了該目標資料庫,就不可以使用恢復目錄中含有的備份集來恢復資料庫了。
爲了能登出資料庫,需要獲得資料庫的標識碼(DB_ID)和資料庫鍵值(DB_KEY)。
其中連接目標資料庫時將會獲得DB_ID。
其中DBID=3021445076,利用DBID=3021445076查詢資料庫鍵值碼,連接到目標資料庫,查詢db表:
select*fromdb;
DB_KEYDB_IDCURR_DBINC_KEY----------------------------------130214450762
獲得DB_KEY=1,這樣,該目標資料庫DB_KEY=1,DBID=3021445076,利用兩個值使用DBMS_RCVCAT工具包就可以登出資料庫:
executedbms_rcvcat.unregisterdatabase(1,3021445076);
PL/SQL過程已成功完成。
至此,登出資料庫操作完成。
6.操作已有的備份
6.1.加入目錄資料庫
恢復目錄:
如果存在8.x版本以前創建的備份資料想註冊到目標資料庫,可以採用如下手工方式加入到恢復目錄中
catalogdatafilecopy"
/oracle/..../system01.dbf"
;
使用如下命令顯示恢復目錄中包含的文件
listcopyofdatabase;
6.2.從目錄資料庫中刪除
第一步:
查看備份資訊:
listbackup;
list
備份集列表
關鍵字Recid標記LV集合標記集合計數完成時間-----------------------------------------------------------------------110425013644550501364446206-8月-03
備份段列表
關鍵字Pc#Cp#狀態完成時間段名----------------------------------------------------------------------110611AVAILABLE06-8月-03D:
\ORACLE\ORA81\DATABASE\02EU4DMU_1_1
資料檔案包括列表
文件名稱LV類型檢查點SCN檢查點時間----------------------------------------------------------------------3D:
\ORACLE\ORADATA\HIS\USERS01.DBF0Full16005206-8月-03
備份集的關鍵字爲1104。
第二步:
定義delete通道:
allocatechannelfordeletetypedisk;
allocateRMAN-03023:
allocateRMAN-08030:
分配的通道:
deleteRMAN-08500:
通道delete:
sid=19devtype=DISK
第三步:
刪除backupset備份集
changebackupset1104delete;
changeRMAN-08073:
已刪除備份段RMAN-08517:
備份段handle=D:
\ORACLE\ORA81\DATABASE\02EU4DMU_1_1recid=2stamp=501364447RMAN-03023:
partialresyncRMAN-08003:
啓動部分恢復目錄的resyncRMAN-08005:
完成部分resync
部分執行刪除備份集、備份片或者維護恢復目錄的命令,需要先指定通道,如:
RMAN>
allocatechannelformaintenancetypedisk;
7.在非歸檔模式下備份
常式啓動或者資料庫載入
恢復目錄資料庫需要打開,目標資料庫必須啓動(或者載入)。
因爲目標資料庫不在歸檔模式下,所以當進行備份恢復操作的時候資料庫無法打開。
不可以將表空間置於熱備份模式上進行等同於文件系統級的拷貝,如果在非歸檔模式,資料庫打開的狀態下不能進行資料檔案的備份。
7.1.資料庫完全備份
run{2>
#backupthecompletedatabasetodisk3>
allocatechanneldev1typedisk;
4>
backup5>
full6>
tagfull_db_backup7>
format"
/oracle/backups/db_t%t_s%s_p%p"
8>
(database);
9>
releasechanneldev1;
10>
行#
2:
表明該行爲注釋行(#是注釋符)
3&
9:
Seesection15-Channels通道定義
5:
Fullbackup(defaultiffullorincrementalnotspecified)完全備份模式(缺省模式)
6:
Meaningfulstring(<
=30chars)(備份集標識,<
=30個字元)
7:
Filenametouseforbackuppieces,includingsubstitutionvariables.備份片使用的檔案名,可以包含代替變數。
8:
Indicatesallfilesincludingcontrolfilesaretobebackedup表明備份所有資料檔案包括控制文件
通過下面的命令顯示恢復目錄中記載的備份集資訊:
listbackupsetofdatabase;
7.2.備份表空間
backup4>
tagtbs_users_read_only5>
/oracle/backups/tbs_users_t%t_s%s"
6>
(tablespaceusers)7>
使用下列命令來顯示恢復目錄中該表的備份資訊:
listbackupsetoftablespaceusers;
假設USERS表空間在備份後被置爲READONLY表空間,以後的全庫備份就可以不用備份該表空間,爲了達到這個目的,可以在以後的備份中指定"
skipreadonly"
。
注意,目標資料庫不需要一定打開,只要載入就可以,因爲表空間的資訊存儲在控制文件中。
7.3.備份單獨資料檔案
allocatechanneldev1type"
SBT_TAPE"
%d_%u"
5>
(datafile"
/oracle/dbs/sysbigdb.dbf"
);
7>
使用MML(mediamanagerlayer)分配磁帶驅動器,必須指定類型爲SBT_TAPE;
注意因爲沒有指定標識,所以標識爲空;
使用下面的命令顯示恢復目錄中備份的表空間:
listbackupsetofdatafile1;
7.4.備份資料檔案
copydatafile"
/oracle/dbs/temp.dbf"
to"
/oracle/backups/temp.dbf"
使用下面的命令顯示恢復目錄中的文件拷貝:
listcopyofdatafile"
拷貝資料檔案和備份資料檔案是不一樣的,資料檔案拷貝是一個該文件的鏡像。
文件的備份産生一個備份集。
7.5.備份控制文件
cf_t%t_s%s_p%p"
tagcf_monday_night6>
(currentcontrolfile);
資料庫完全備份將自動備份控制文件。
8.歸檔模式下的備份
常式啓動,資料庫載入或者打開
備份操作使用的命令與非歸檔模式下基本一樣。
8.1.Backinguparchivedlogs備份歸檔日誌
下面的腳本備份歸檔日誌:
/oracle/backups/log_t%t_s%s_p%p"
(archivelogall)6>
下面的腳本歸檔日誌從#90to100:
(archivelogfromlogseq=90untillogseq=100thread1);
下面的腳本備份在24小時內産生的歸檔日誌,在備份完成後會自動刪除歸檔日誌。
如果備份失敗,歸檔日誌不會被刪除。
(archivelogfromtime"
sysdate-1"
alldeleteinput);
使用下面的命令顯示恢復目錄中的歸檔日誌:
listbackupsetofarchivelogall;
RMAN找到歸檔日誌後會備份指定日誌,如果無法找到日誌,它也不會返回錯誤資訊。
8.2.Backinguptheonlinelogs備份聯機日誌
聯機日誌不能用RMAN來備份,必須先將其歸檔。
爲了實現這點,必須在RMAN中執行如下SQL語句:
sql"
altersystemarchivelogcurrent"
上面的腳本可以在執行完一個完整的聯機資料庫備份後執行,確保所有的重做日誌可以將資料庫恢復到一個一致性的狀態。
不可以標識歸檔日誌備份集。
9.增量備份
N級別增量備份備份從最近的N級別或者更小級別以來的所有更改過的資料塊內容。
增量備份分爲兩種,一種是累積增量備份,一種是非累積增量備份。
累積增量備份包括自最後一次在更低級別進行備份以來所有改動過的資料塊。
非累積增量備份包括自前一次在同級或者更低級別進行備份以來改動過的資料塊。
9.1.Level0--增量備份策略的基礎
Level0是增量備份策略的基礎--thebasisoftheincrementalbackupstrategy
incrementallevel05>
filesperset46>
/oracle/backups/sunday_level0_%t"
Line#
4:
0級備份
定義每個backupset的最大文件數
使用LIST語句查看,資料庫備份集的列表顯示中,"
type"
將顯示"
Incremental"
,"
LV"
列將顯示"
0"
。
9.2.使用增量備份的案例
一個典型的增量備份案例如下:
星期天晚上-level0backupperformed
星期一晚上-level2backupperformed
星期二晚上-level2backupperformed
星期三晚上-level1backupperformed
星期四晚上-level2backupperformed
星期五晚上-level2backupperfo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ORACLE RMAN快速入门指南 RMAN 快速 入门 指南