`
liuguxing
  • 浏览: 94916 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ORACLE RMAN

阅读更多
RMAN 是ORACLE 提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、归档日志和控制文件。它也可以用来执行完全或不完全的数据库恢复。RMAN 可以由命令行接口或者OEM的Backup Manager GUI来控制。个人认为DBA最重要的工作之一就是备份,当出现数据丢失或损坏的情况时,之前可用的备份的价值就能立竿见影的体现出来,因此很有必要把rman学习研究透(在此先感谢网友飞翔分享的rman文档和boobooke小布老师的视频讲座),下面先来简要介绍下rman的基本概念和常见备份方法;

1:RMAN 主要包括以下组件:
Target Database: (目标数据库)就是需要RMAN 对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志,spfile。(注意:RMAN 不能用于备份联机日志、初始化参数文件和口令文件);

Server Session: (服务器会话) RMAN 启动数据库上的Oracle 服务器进程,将建立一个与目标数据库的会话。由目标数据库上的服务器进程进行备份、还原、恢复的实际操作;

服务器进程:RMAN 的服务进程是一个后台进程,用于与RMAN 工具与数据库之间的通信,也用于RMAN 工具与磁盘/磁带等I/O 设置之间的通信,服务进程负责备份与恢复的所有工作;

Channel: (通道) 一个通道是RMAN 和目标数据库之间的一个连接,"allocate channel"命令在目标数据库,启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O类型;
通道控制命令可以用来:
控制RMAN 使用的O/S资源,影响并行度
指定I/O带宽的限制值(设置limit read rate 参数)
定义备份片大小的限制(设置limit kbytes)
指定当前打开文件的限制值(设置limit maxopenfiles)

recovery catalog: (恢复目录)用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上。RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。如果不采用恢复目录,备份信息可以存在于目标数据库的control file中;

2:概念述语
Backup Sets (备份集合):备份集合的特性:包括一个或多个数据文件或归档日志,以oracle 专有的格式保存,有一个完全的所有的备份片集合构成,构成一个完全备份或增量备份;

Backup Pieces (备份片):一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制, 备份集就只由一个备份片构成。备份片的大小不能大于使用的文件系统所支持的文件长度的最大值;

Image Copies镜像备份:镜像备份是独立文件(数据文件、归档日志、控制文件)的备份。它很类似操作系统级的文件备份。它不是备份集或备份片,也没有被压缩;

Full backup Sets全备份集合:全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle 进行备份集合的压缩;

Incremental backup sets增量备份集合:增量备份是指备份一个或多个数据文件的自从上一次同一级别的或更低级别的备份以来被修改过的数据块。与完全备份相同,增量备份也进行压缩;

File multiplexing:多个数据文件可以在一个备份集中;


1:备份整个数据库:
[oracle@jsb-ylw-5024 ~]$ rman target / nocatalog //nocatalog 表示不使用恢复目录

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Oct 4 16:10:12 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: YANG (DBID=3449196592)
using target database control file instead of recovery catalog


RMAN> list backup; //查看当前备份信息

specification does not match any backup in the repository


RMAN> backup database format '/u01/oracle/backup/bleach_%U'; //其中%U代表的是唯一的文件名

Starting backup at 04-OCT-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=96 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00009 name=/u01/oradata/yang/rman_ts01.dbf
input datafile file number=00001 name=/u01/oradata/yang/system01.dbf
input datafile file number=00010 name=/u01/oradata/yang/system02.dbf
input datafile file number=00011 name=/u01/oradata/yang/sysaux02.dbf
input datafile file number=00002 name=/u01/oradata/yang/sysaux01.dbf
input datafile file number=00003 name=/u01/oradata/yang/undotbs01.dbf
input datafile file number=00007 name=/u01/oradata/yang/bleach01.dbf
input datafile file number=00005 name=/u01/oradata/yang/test.dbf
input datafile file number=00006 name=/u01/oradata/yang/test01.dbf
input datafile file number=00008 name=/u01/oradata/yang/bleach02.dbf
input datafile file number=00004 name=/u01/oradata/yang/users01.dbf
channel ORA_DISK_1: starting piece 1 at 04-OCT-10
channel ORA_DISK_1: finished piece 1 at 04-OCT-10
piece handle=/u01/oracle/backup/bleach_08lpk7kf_1_1 tag=TAG20101004T161055 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:56
Finished backup at 04-OCT-10

Starting Control File and SPFILE Autobackup at 04-OCT-10
piece handle=/u01/flash_recovery_area/YANG/autobackup/2010_10_04/o1_mf_s_731520711_6bm327d8_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 04-OCT-10



引用
RMAN> list backup;


List of Backup Sets
===================


BS Key Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7       Full    1.13G      DISK        00:00:49     04-OCT-10     
        BP Key: 7   Status: AVAILABLE Compressed: NO Tag: TAG20101004T161055
        Piece Name: /u01/oracle/backup/bleach_08lpk7kf_1_1
List of Datafiles in backup set 7
File LV Type Ckp SCN    Ckp Time Name
---- -- ---- ---------- --------- ----
1       Full 2379309    04-OCT-10 /u01/oradata/yang/system01.dbf
2       Full 2379309    04-OCT-10 /u01/oradata/yang/sysaux01.dbf
3       Full 2379309    04-OCT-10 /u01/oradata/yang/undotbs01.dbf
4       Full 2379309    04-OCT-10 /u01/oradata/yang/users01.dbf
5       Full 2379309    04-OCT-10 /u01/oradata/yang/test.dbf
6       Full 2379309    04-OCT-10 /u01/oradata/yang/test01.dbf
7       Full 2379309    04-OCT-10 /u01/oradata/yang/bleach01.dbf
8       Full 2379309    04-OCT-10 /u01/oradata/yang/bleach02.dbf
9       Full 2379309    04-OCT-10 /u01/oradata/yang/rman_ts01.dbf
10      Full 2379309    04-OCT-10 /u01/oradata/yang/system02.dbf
11      Full 2379309    04-OCT-10 /u01/oradata/yang/sysaux02.dbf

BS Key Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8       Full    9.45M      DISK        00:00:00     04-OCT-10     
        BP Key: 8   Status: AVAILABLE Compressed: NO Tag: TAG20101004T161151
        Piece Name: /u01/flash_recovery_area/YANG/autobackup/2010_10_04/o1_mf_s_731520711_6bm327d8_.bkp
SPFILE Included: Modification time: 04-OCT-10
SPFILE db_unique_name: YANG
Control File Included: Ckp SCN: 2379354      Ckp time: 04-OCT-10



RMAN> show controlfile autobackup; //可以使用“show all;”命令来查看rman的一些默认参数配置,例如备份并发,备份副本数等;可以使用configrue或者set命令来修改,set命令只在当前的rman session中有效,也可以在末尾使用clear参数来恢复初始值


RMAN configuration parameters for database with db_unique_name YANG are:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

[oracle@jsb-ylw-5024 ~]$ ls -lh /u01/oracle/backup/
总计 1.2G
-rw-r----- 1 oracle oinstall 1.2G 10-04 16:11 bleach_08lpk7kf_1_1


2: 删除备份集:
RMAN> delete backupset 7,8; //7和8代表的是备份集的编号,该命令同时删除文件系统上的备份文件

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=96 device type=DISK

List of Backup Pieces
BP Key BS Key Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
7       7       1   1   AVAILABLE   DISK        /u01/oracle/backup/bleach_08lpk7kf_1_1
8       8       1   1   AVAILABLE   DISK        /u01/flash_recovery_area/YANG/autobackup/2010_10_04/o1_mf_s_731520711_6bm327d8_.bkp

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/oracle/backup/bleach_08lpk7kf_1_1 RECID=7 STAMP=731520655
deleted backup piece
backup piece handle=/u01/flash_recovery_area/YANG/autobackup/2010_10_04/o1_mf_s_731520711_6bm327d8_.bkp RECID=8 STAMP=731520711

[oracle@jsb-ylw-5024 ~]$ ls -lh /u01/oracle/backup/
总计 0
Deleted 2 objects

指定备份片的大小和每个backupset 的最大文件数
RMAN> run {
2> allocate channel backup1 device type disk format '/u01/oracle/backup/yang_%U' maxpiecesize=100M;
3> backup database filesperset 3;
4> }
………………………………输出省略………………………………
Starting Control File and SPFILE Autobackup at 04-OCT-10
piece handle=/u01/flash_recovery_area/YANG/autobackup/2010_10_04/o1_mf_s_731521419_6bm3rd5p_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 04-OCT-10
released channel: backup1


[oracle@jsb-ylw-5024 ~]$ ls -lh /u01/oracle/backup/
总计 1.2G
-rw-r----- 1 oracle oinstall 6.3M 10-04 16:22 yang_0alpk8ad_1_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:22 yang_0blpk8ae_1_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:22 yang_0blpk8ae_2_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:22 yang_0blpk8ae_3_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:22 yang_0blpk8ae_4_1
-rw-r----- 1 oracle oinstall 69M 10-04 16:22 yang_0blpk8ae_5_1
-rw-r----- 1 oracle oinstall 85M 10-04 16:22 yang_0clpk8b1_1_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_1_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_2_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_3_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_4_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_5_1
-rw-r----- 1 oracle oinstall 100M 10-04 16:23 yang_0dlpk8b8_6_1
-rw-r----- 1 oracle oinstall 1.3M 10-04 16:23 yang_0dlpk8b8_7_1


3: 备份单个数据文件:
SQL> select file_id,file_name from dba_data_files;

   FILE_ID FILE_NAME
---------- ----------------------------------------
         4 /u01/oradata/yang/users01.dbf
         3 /u01/oradata/yang/undotbs01.dbf
         2 /u01/oradata/yang/sysaux01.dbf
         1 /u01/oradata/yang/system01.dbf
         5 /u01/oradata/yang/test.dbf
         6 /u01/oradata/yang/test01.dbf
         7 /u01/oradata/yang/bleach01.dbf
         8 /u01/oradata/yang/bleach02.dbf
        10 /u01/oradata/yang/system02.dbf
        11 /u01/oradata/yang/sysaux02.dbf
         9 /u01/oradata/yang/rman_ts01.dbf

11 rows selected.

RMAN> backup datafile 4,9 format '/u01/oracle/backup/data_%U'; //4和9代表的是file_id

[oracle@jsb-ylw-5024 ~]$ ls -lh /u01/oracle/backup/data_*
-rw-r----- 1 oracle oinstall 6.3M 10-04 16:32 /u01/oracle/backup/data_0flpk8tb_1_1


4: 备份表空间:
RMAN> report schema;

Report of database schema for database with db_unique_name YANG

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    680      SYSTEM               ***     /u01/oradata/yang/system01.dbf
2    560      SYSAUX               ***     /u01/oradata/yang/sysaux01.dbf
3    75       UNDOTBS1             ***     /u01/oradata/yang/undotbs01.dbf
4    5        USERS                ***     /u01/oradata/yang/users01.dbf
5    20       TEST                 ***     /u01/oradata/yang/test.dbf
6    20       TEST                 ***     /u01/oradata/yang/test01.dbf
7    50       BLEACH               ***     /u01/oradata/yang/bleach01.dbf
8    10       BLEACH               ***     /u01/oradata/yang/bleach02.dbf
9    2048     RMAN_TS1             ***     /u01/oradata/yang/rman_ts01.dbf
10   600      SYSTEM               ***     /u01/oradata/yang/system02.dbf
11   600      SYSAUX               ***     /u01/oradata/yang/sysaux02.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /u01/oradata/yang/temp01.dbf


RMAN> backup tablespace bleach,system format '/u01/oracle/backup/ts_%U';


5: 备份控制文件和spfile的四种方法:

使用configure命令开启rman自动备份控制文件和spfile

RMAN> backup current controlfile; //单独备份当前的控制文件和spfile

RMAN> backup tablespace bleach,system format '/u01/oracle/backup/ts_%U' include current controlfile;

RMAN> sql "alter database backup controlfile to ''/tmp/contrl.ctl''";


6: 备份arichivelog,只备份归档完毕的redo日志文件,而且是全备份,"delete all input"表示备份完毕后,删除归档日志文件

RMAN> backup archivelog all format '/u01/oracle/backup/archived/ac_%U' delete all input;

也可以在backup语句后面加上“plus archivelog"来备份归档完毕的redo日志文件
RMAN> backup database plus archivelog format '/u01/oracle/backup/full_%U' tag 'full backup';

RMAN> list backup tag "full backup";


List of Backup Sets
===================


BS Key Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
24      45.63M     DISK        00:00:01     06-OCT-10     
        BP Key: 34   Status: AVAILABLE Compressed: NO Tag: FULL BACKUP
        Piece Name: /u01/oracle/backup/full_0qlpooko_1_1

List of Archived Logs in backup set 24
Thrd Seq     Low SCN    Low Time Next SCN   Next Time
---- ------- ---------- --------- ---------- ---------
1    83      2385551    04-OCT-10 2397425    06-OCT-10
1    84      2397425    06-OCT-10 2397648    06-OCT-10

BS Key Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
26      47.00K     DISK        00:00:01     06-OCT-10     
        BP Key: 36   Status: AVAILABLE Compressed: NO Tag: FULL BACKUP
        Piece Name: /u01/oracle/backup/full_0slpoomd_1_1

List of Archived Logs in backup set 26
Thrd Seq     Low SCN    Low Time Next SCN   Next Time
---- ------- ---------- --------- ---------- ---------
1    85      2397648    06-OCT-10 2397701    06-OCT-10


7: 增量备份,增量备份的等级分为0-4,5个等级,其中0代表的是全备份,0级备份是其他级别备份的基石:

RMAN> run {
2> allocate channel d1 type disk;
3> backup incremental level 0 database format '/u01/oracle/backup/level0_%U';
4> }


RMAN> run {
2> allocate channel d2 type disk;
3> backup incremental level 1 database format '/u01/oracle/backup/level1_%U';
4> }

[oracle@jsb-ylw-5024 ~]$ ll -h /u01/oracle/backup/
总计 1.2G
drwxr-xr-x 2 oracle oinstall 4.0K 10-06 09:30 archived
-rw-r----- 1 oracle oinstall 1.2G 10-06 09:34 level0_0ulpop2v_1_1
-rw-r----- 1 oracle oinstall 2.5M 10-06 09:37 level1_10lpop75_1_1


8:镜像拷贝,可以看出镜像拷贝和操作系统层面上的复制命令是一样的:

RMAN> copy datafile 7 to '/u01/oracle/backup/b01.dbf';
RMAN> backup as copy datafile 8 format '/u01/oracle/backup/b02.dbf';

[oracle@jsb-ylw-5024 ~]$ ll -h /u01/oradata/yang/bleach0*
-rw-r----- 1 oracle oinstall 51M 10-06 09:47 /u01/oradata/yang/bleach01.dbf
-rw-r----- 1 oracle oinstall 11M 10-06 09:48 /u01/oradata/yang/bleach02.dbf

[oracle@jsb-ylw-5024 ~]$ ll -h /u01/oracle/backup/b*
-rw-r----- 1 oracle oinstall 51M 10-06 09:47 /u01/oracle/backup/b01.dbf
-rw-r----- 1 oracle oinstall 11M 10-06 09:48 /u01/oracle/backup/b02.dbf
分享到:
评论

相关推荐

    手把手教你ORACLE RMAN异地备份

    "手把手教你ORACLE RMAN异地备份" 该教程旨在教你如何使用ORACLE RMAN实现异地备份,解决了由于数据量急剧增加、备份和恢复的困难问题。通过使用RMAN和EXP/IMP工具,用户可以实现本地数据库的异地备份,避免服务器...

    顶级DBA漫谈Oracle Rman备份与恢复

    Oracle RMAN 备份与恢复概述 Oracle RMAN(Recovery Manager)是一种强大的备份和恢复工具,旨在帮助DBA管理员更好地管理和保护Oracle数据库。以下是Oracle RMAN备份与恢复的相关知识点: 备份恢复概述 备份恢复...

    oracle RMAN 功能介绍 ppt

    Oracle Recovery Manager (RMAN) 是Oracle数据库管理系统中的一个重要工具,主要负责数据库的备份、恢复以及相关的维护工作。在“Oracle RMAN 功能介绍 ppt”中,我们深入探讨了RMAN的关键特性和操作流程。 首先,...

    Oracle RMAN快速入门指南

    oracle rman 的使用介绍,对rman一些场景恢复进行案例分析

    Oracle rman 文档

    ### Oracle RMAN 备份与恢复详解 #### 一、为何选择 RMAN RMAN (Recovery Manager) 是 Oracle 数据库内置的一种强大的备份与恢复工具。相比于传统的用户管理备份方式,RMAN 提供了更多自动化功能及高级特性,极大...

    Oracle Rman命令详解

    ### Oracle Rman命令详解 #### 一、RMAN命令类型及使用场景 ##### 1.1 独立命令(Standalone Command) 独立命令是指在RMAN中可以直接执行的命令,这类命令通常不依赖于其他命令,能够独立完成某个功能。例如备份表...

    一个完整的Oracle rman备份恢复参考示例

    Oracle RMAN(Recovery Manager)是Oracle数据库管理系统中用于数据备份和恢复的重要工具。它提供了全面的数据保护功能,包括完整数据库备份、增量备份、表空间备份以及数据文件级别的备份。以下是一个详细的Oracle ...

    傻瓜式实战OracleRMAN数据库备份和恢复视频

    教程名称:傻瓜式实战Oracle RMAN数据库备份和恢复视频课程目录:【】数据库备份和恢复系列].ITBOBA_RMAN_1【】数据库备份和恢复系列].ITBOBA_RMAN_10【】数据库备份和恢复系列].ITBOBA_RMAN_2【】数据库备份和恢复...

    超经典的Oraclerman增量备份恢复策略.pdf

    RMAN(Recovery Manager)是Oracle数据库提供的一个用于备份、恢复和迁移数据库的工具。增量备份是数据库备份的一种方式,它只备份自上一次备份(无论全备份还是增量备份)以来有变化的数据块,这样可以节省存储空间...

    Oracle RMAN

    旧版Oracle Rman 备份!

    oracle RMAN 备份恢复总结

    Oracle Recovery Manager(RMAN)是Oracle数据库管理系统中的一个重要组件,专为数据库的备份、恢复和维护设计。RMAN 自从Oracle 8版本开始引入,并在后续版本中不断加强和完善,尤其在Oracle 9i中展现出更为强大的...

    ORACLE RMAN备份脚本

    ### ORACLE RMAN备份脚本知识点解析 #### 一、RMAN简介 RMAN(Recovery Manager)是Oracle数据库提供的一种强大的数据恢复管理工具。它主要用于执行物理备份、恢复操作及灾难恢复等任务。通过RMAN可以实现对数据库...

    oraclerman备份原理[参照].pdf

    Oracle 数据库在线备份原理 Oracle 数据库在线备份原理是指在 Oracle 数据库中对数据库进行在线备份的基本原理和方法。该原理是基于 Oracle 数据库的基本概念和机制,包括表、数据查询语句、DML 语句和 DDL 语句等...

    windows下oracle rman备份 计划任务

    在Windows环境下,Oracle数据库的RMAN(Recovery Manager)备份是一项关键的任务,它能确保数据的安全性和可恢复性。RMAN是Oracle数据库提供的一种强大的工具,用于执行数据库备份、恢复和维护操作。以下是对...

    window oracle rman 增量备份脚本

    window oracle rman 增量备份脚本

    oracle rman自动备份

    ### Oracle RMAN 自动备份详解 #### 一、概述 Oracle RMAN(Recovery Manager)是一种功能强大的工具,用于管理数据库备份、恢复以及灾难恢复。本文档旨在介绍如何通过RMAN实现Oracle数据库的自动备份,并提供了...

    Oracle Rman Active Database Duplicate 迁移方案V1.1.pdf

    Oracle Rman Active Database Duplicate 迁移方案 本文档主要介绍 Oracle Rman Active Database Duplicate 迁移方案,适用于 Oracle 11g/12c 版本。该方案旨在帮助数据库管理员快速迁移数据库,减少迁移时间和风险...

Global site tag (gtag.js) - Google Analytics