国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

RMAN 初學者指南

2024-07-21 02:35:04
字體:
來源:轉載
供稿:網友

  RMAN(Recovery Manager)是DBA的一個重要工具,用于備份、還原和恢復Oracle數據庫,前一段時間有網友找我要,可惜沒時間,趁這兩天出差在外沒什么事,就寫了一下,供初學的朋友參考。 本文將介紹RMAN 的基本操作,更多的信息請參考《Oracle8i Backup & Recovery Guide》及RMAN 手冊,或者是OCP Student Guide M09096《Backup and Recovery Workshop》Volume 2,也可以通過 gototop@ncn.cn 和我聯系。Oracle 自帶的例子參考$ORACLE_HOME/rdbms/demo 目錄下的*.rcv腳本。
  
  一、RMAN 簡介
  
  RMAN 可以用來備份和恢復數據庫文件、歸檔日志和控制文件,也可以用來執行完全或不完全的數據庫恢復。RMAN有三種不同的用戶接口:COMMAND LINE方式、GUI 方式(集成在OEM 中的備份治理器)、API 方式(用于集成到第三方的備份軟件中)。具有如下特點:
  1)功能類似物理備份,但比物理備份強大N倍,從下面的特點可以看到;
  2)可以壓縮空塊;
  3)可以在塊水平上實現增量;
  4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;
  5)備份與恢復的過程可以自動治理;
  6)可以使用腳本(存在Recovery catalog 中)
  7)可以做壞塊監測
  
  二、相關術語解釋
  1)Backup sets 備份集
  備份集顧名思義就是一次備份的集合,它包含本次備份的所有備份片,以oracle專有的格式保存。一個備份集根據備份的類型不同,可能構成一個完全備份或增量備份。
  2)Backup pieces 備份片
  一個備份集由若干個備份片組成。每個備份片是一個單獨的輸出文件。一個備份片的大小是有限制的;假如沒有大小的限制, 備份集就只由一個備份片構成。備份片的大小不能大于你的文件系統所支持的文件長度的最大值。
  3)Image copies 映像備份
  映像備份不壓縮、不打包、直接COPY 獨立文件(數據文件、歸檔日志、控制文件),類似操作系統級的文件備份。而且只能COPY 到磁盤,不能到磁帶。可以作為增量備份的0級,一般用來備份控制文件。
  4)Full backup 全備份
  全備份是指對數據文件中使用過的數據塊進行備份,沒有使用過的數據塊是不做備份的,也就是說,RMAN 進行備份是進行壓縮的。
  5)Incremental backup 增量備份
  增量備份是指備份數據文件中自從上一次同一級別的或更低級別的備份以來被修改過的數據塊。與完全備份相同,增量備份也進行壓縮。增量備份雖然概念很好,備份也很簡單,但恢復起來卻是另外一回事,不僅麻煩而且輕易出錯,所以實際中越來越少使用,到了Oracle 9i已經建議不再使用,以后版本會逐漸取消對增量備份的支持。
  6)Recovery catalog 恢復目錄
  恢復目錄用于記錄RMAN 使用過程中的控制信息,恢復目錄應該經常被同步(這在后面會講到)。盡管我們可以使用nocatalog 方式來使用RMAN,此時控制信息記錄在目標數據庫的控制文件中,但這樣究竟不安全,因為一旦目標數據庫的控制文件損壞就意味著所有的RMAN 備份失效。同樣的道理恢復目錄應該建立在另外一個數據庫中,在下面的例子中我們稱作“目錄數據庫”。
  
  三、創建恢復目錄
  1、在目錄數據庫中創建恢復目錄所用表空間
  SQL> create tablespace rmants datafile 'c:/oracle/oradata/cc/rmants.ora' size 20M ;
  表空間已創建。
  2、在目錄數據庫中創建RMAN 用戶并授權
  SQL> create user rman identified by rman default tablespace rmants temporary tablespace temp quota
  unlimited on rmants;
  用戶已創建
  SQL> grant recovery_catalog_owner to rman ;
  授權成功。
  3、在目錄數據庫中創建恢復目錄
  C:/>rman catalog rman/rman
  恢復治理器:版本8.1.7.0.0 - PRodUCtion
  RMAN-06008:連接到恢復目錄數據庫
  RMAN-06428:未安裝恢復目錄
  RMAN>create catalog tablespace rmants;
  RMAN-06431:恢復目錄已創建
  4、注冊目標數據庫到恢復目錄
  注重哦,這里我的目標數據庫使用的服務名稱是rman,意思為要使用RMAN 進行備份的數據庫,而目錄
  數據庫使用的服務名稱是CC。

  C:/>rman target sys/sys@rman
  恢復治理器:版本8.1.7.0.0 - Production
  RMAN-06005:連接到目標數據庫:RMAN (DBID=1303772234)
  RMAN>connect catalog rman/rman@cc
  RMAN-06008:連接到恢復目錄數據庫
  RMAN>register database;
  RMAN-03022:正在編譯命令:register
  RMAN-03023:正在執行命令:register
  RMAN-08006:注冊在恢復目錄中的數據庫
  RMAN-03023:正在執行命令:full resync
  RMAN-08002:正在啟動全部恢復目錄的resync
  RMAN-08004:完成全部resync
  好了,到此為止前面的預備工作都做好了,下面就可以使用RMAN 來進行備份和恢復了。
  
  四、使用RMAN
  下面通過具體的例子來說明RMAN 的使用,這里會涉及到除了恢復以外的所有RMAN 操作,關于使用RMAN 進行恢復的內容請參考我以前寫的另外一篇文章:RMAN 恢復實踐。
  1、備份整個數據庫
  RMAN>run {
  2> allocate channel c1 type disk;
  3> backup database format 'e:/dbbackup/2db.dmp';
  4> }
  2、復制數據文件
  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、查看備份及復制的信息
  RMAN>list backup;
  RMAN-03022:正在編譯命令:list
  備份集列表
  要害字Recid 標記LV 集合標記集合計數完成時間
  ------- ---------- ---------- -- ---------- ---------- ----------------------
  216 1 417347013 0 417346992 1 26-12 月-00
  備份段列表
  要害字Pc# Cp# 狀態完成時間段名
  ------- --- --- ----------- ---------------------- ------------------------
  217 1 1 AVAILABLE 26-12 月-00 E:/DBBACKUP/2DB.DMP
  數據文件包括列表
  文件名稱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
  數據文件備份列表
  要害字文件狀態完成時間檢查點SCN 檢查點時間名稱
  ------- ---- - --------------- ---------- --------------- ------
  226 3 A 26-12 月-00 33226 26-12 月-00 E:/DBBACKUP/U.DBF
  4、在備份是設置相關參數
  format --文件輸出格式,
  %d--database name,
  %s--backup sets sequence number,
  %p--backup pieces sequence number
  filesperset --每個備份集中所包括的文件數
  更多參數請參考本文開始時列出的書。
  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:正在執行命令:allocate
  RMAN-08030:分配的通道:c1
  RMAN-08500:通道c1:sid=9 devtype=DISK
  RMAN-03022:正在編譯命令:set limit
  RMAN-03023:正在執行命令:set limit
  RMAN-03022:正在編譯命令:backup
  RMAN-03023:正在執行命令:backup
  RMAN-08008:通道c1:正在啟動full 數據文件備份集
  RMAN-08502:set_count=6 set_stamp=417351064 creation_time=26-12 月-00
  RMAN-08010:通道c1:正在指定備份集中的數據文件
  RMAN-08522:輸入數據文件fno=00003 name=C:/ORACLE/ORADATA/RMAN/USERS01.DBF
  RMAN-08522:輸入數據文件fno=00005 name=C:/ORACLE/ORADATA/RMAN/TOOLS01.DBF
  RMAN-08013:通道c1:已創建1 段
  RMAN-08503:段handle=E:/DBBACKUP/DB_RMAN_6_1.BCK comment=NONE
  RMAN-08525:備份集完成,
經過時間:00:00:03
  RMAN-08008:通道c1:正在啟動full 數據文件備份集
  RMAN-08502:set_count=7 set_stamp=417351067 creation_time=26-12 月-00
  RMAN-08010:通道c1:正在指定備份集中的數據文件
  RMAN-08522:輸入數據文件fno=00002 name=C:/ORACLE/ORADATA/RMAN/RBS01.DBF
  RMAN-08522:輸入數據文件fno=00006 name=C:/ORACLE/ORADATA/RMAN/INDX01.DBF
  RMAN-08013:通道c1:已創建1 段
  RMAN-08503:段handle=E:/DBBACKUP/DB_RMAN_7_1.BCK comment=NONE
  RMAN-08525:備份集完成,經過時間:00:00:04
  RMAN-08008:通道c1:正在啟動full 數據文件備份集
  RMAN-08502:set_count=8 set_stamp=417351071 creation_time=26-12 月-00
  RMAN-08010:通道c1:正在指定備份集中的數據文件
  RMAN-08522:輸入

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 时尚| 荔波县| 鄢陵县| 通海县| 锡林郭勒盟| 巴南区| 天门市| 清新县| 辛集市| 洪湖市| 含山县| 博罗县| 屯昌县| 芦山县| 安龙县| 石屏县| 安图县| 西乌珠穆沁旗| 千阳县| 大竹县| 密云县| 平定县| 高要市| 靖江市| 晋宁县| 阳曲县| 高淳县| 汉寿县| 申扎县| 仪征市| 庆云县| 宜宾市| 察雅县| 随州市| 澄迈县| 仙游县| 贵南县| 杭锦后旗| 巴塘县| 若羌县| 阳高县|