一步一步学 RMAN
http://blog.csdn.net/junsisi/MyArticles.aspx
创建 RMAN 恢复目录 ................................................................................................................................................2
第一篇 进入 RMAN ...................................................................................................................................................4
一、连接本地数据库 ..........................................................................................................................................4
二、连接远程数据库 ..........................................................................................................................................4
三、退出 RMAN.....................................................................................................................................................4
第二篇 RMAN 命令知多少 .......................................................................................................................................5
一、启动、关闭数据库 ......................................................................................................................................5
二、执行操作系统命令 ......................................................................................................................................5
三、执行 SQL 语句 ..............................................................................................................................................6
四、定义 RMAN 配置 ............................................................................................................................................6
五、显示 RMAN 默认配置 ....................................................................................................................................7
六、列出备份信息 ..............................................................................................................................................7
七、删除备份 ......................................................................................................................................................7
八、批处理命令 RUN...........................................................................................................................................8
第三篇 RMAN 备份演练初级篇 ...............................................................................................................................8
一、RMAN 备份形式 .............................................................................................................................................8
二、RMAN 命令执行方式 .....................................................................................................................................9
三、对数据库进行全备 ......................................................................................................................................9
四、备份表空间 ................................................................................................................................................10
五、备份指定数据文件 ....................................................................................................................................10
六、备份控制文件 ............................................................................................................................................10
七、备份归档日志文件 ....................................................................................................................................11
第四篇 RMAN 备份演练进阶篇 .............................................................................................................................12
一、建立增量备份 ............................................................................................................................................12
二、建立镜像复制 ............................................................................................................................................12
三、建立冗余备份 ............................................................................................................................................12
四、设置 RMAN 备份的保存策略 ......................................................................................................................13
五、备份优化 ....................................................................................................................................................14
第五篇 RMAN 基础知识补充 一...........................................................................................................................15
一、FORMAT 字符串替代变量...........................................................................................................................15
二、CONFIGURE 配置项介绍.............................................................................................................................15
1、CONFIGURE RETENTION POLICY 配置备份保留策略 ........................................................................ 16
2、CONFIGURE BACKUP OPTIMIZATION 配置备份优化 .......................................................................... 16
3、CONFIGURE DEFAULT DEVICE TYPE 配置 IO 设备类型 ................................................................... 16
4、CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自动备份 ....................................................16
5、CONFIGURE DEVICE TYPE 设置并行备份 ......................................................................................... 17
6、CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度 .......................................................17
7、CONFIGURE MAXSETSIZE 配置备份集的最大尺寸 ........................................................................... 17
三、RMAN 备份相关的动态性能表 ...................................................................................................................17
第六篇 实战 RMAN 备份 ........................................................................................................................................18
1、编写 rman 批处理文件 ................................................................................................................................18
2、编写 dos 批处理..........................................................................................................................................19
3、设定执行计划 ..............................................................................................................................................19
第七篇 RMAN 基础知识补充 二...........................................................................................................................19
一、RMAN 通道 ...................................................................................................................................................19
1、手工分配通道 ......................................................................................................................................19
2、自动分配通道 ......................................................................................................................................20
二、RMAN 备份类型 ...........................................................................................................................................20
三、增量备份的工作机制 ................................................................................................................................20
1、差异备份 Differential.....................................................................................................................20
2、累积增量备份 Cumulative................................................................................................................ 21
四、备份集概述 ................................................................................................................................................21
五、RMAN 恢复目录(CATALOG).........................................................................................................................21
第八篇 演练 rman 恢复 ......................................................................................................................................... 22
一、对数据库进行完全介质恢复 ....................................................................................................................22
二、恢复表空间 ................................................................................................................................................22
三、恢复数据文件 ............................................................................................................................................23
四、示例:归档模式下,假设某数据文件丢失,恢复该数据文件。 .......................................................23
第九篇 实战 rman 恢复(1)丢失控制文件的恢复...............................................................................................25
===========================================================================================
创建 RMAN 恢复目录
注意,恢复目录不要与目标数据库在同一个数据库中,而且一般应用中恢复目录大概 150M 就足够。
1、在目录数据库(ora9rc)中创建恢复目录所用表空间
SQL> create tablespace ts_rman datafile 'd:\ora9\oradata\ts_rman.dbf' size 150M;
表空间已创建。
2、在目录数据库中创建 RMAN 用户并授权
SQL> create user rman_user
identified by rman_user
default tablespace ts_rman
temporary tablespace temp
quota unlimited on ts_rman;
用户已创建。
SQL> grant recovery_catalog_owner to rman_user ;
授权成功。
SQL> grant connect, resource to rman_user ;
授权成功。
3、在目录数据库中创建恢复目录
C:\>rman catalog rman_user/rman_user@ora9rc
恢复管理器:版本 9.2.0.1.0 - Production
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目
RMAN>create catalog tablespace ts_rman;
RMAN-06431:恢复目录已创建
注意:虽然使用 RMAN 不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以
通过控制文件来记载,RMAN 在恢复数据库时使用这些信息。
不使用恢复目录
恢复目录可以:
将会对备份恢复操作有限制。
可以存储脚本;
记载较长时间的备份恢复操作;
4、注册目标数据库到恢复目录
注意哦,这里我的目标数据库使用的服务名称是 ora9,意思为要使用 RMAN 进行备份的数据库,
而目录数据库使用的服务名称是 ora9rc。
C:\>rman target sys/panda@ora9
恢复管理器:版本 9.2.0.1.0 - Production
RMAN-06005:连接到目标数据库:ORA9 (DBID=1303772234)
RMAN>connect catalog rman_user/rman_user@ora9rc
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 使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要 STARTED
(unmount),否则 RMAN 会返回一个错误,目标数据库必须置于归档模式下。
恢复目录可以采用如下命令升级与删除
RMAN> UPGRADE CATALOG;
RMAN> DROP CATALOG;
恢复目录支持如下的命令
{CREATE|UPGRADE|DROP} CATALOG
{CREATE|DELETE|REPLACE|PRINT} SCRIPT
LIST INCARNATION
REGISTER DATABASE
REPORT SCHEMA AT TIME
RESET DATABASE
RESYNC CATALOG
==========================================================================================================
第一篇 进入 RMAN
通过 RMAN 的方式不论要备份还是要恢复,都必须先启动实例并加载数据库。
RMAN 有两种操作方式,一种是类似 dos,通过键盘操作的命令方式,第二种是类似 windows 通过鼠标
操作的图形化界面方式。图形化方式操作简单但也因此省略了一些具体过程,你可能成功操作但却不知道
oracle 究竟做了什么,怎么做的。本篇后续内容所做的各项操作也都将以命令方式进行。
一、连接本地数据库
通过 rman 连接本地数据库非常简单,以 windows 平台为例,进入到命令提示符界面:
C:\Documents and Settings\Administrator>set oracle_sid=jssweb
C:\Documents and Settings\Administrator>rman target username/password
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: JSSWEB (DBID=3391142503)
RMAN>
注:如果本地库只有一个实例,则不需要指定 oracle_sid。Rman 会自动连接到默认实例。
当然,你也可以先启动 rman,然后再通过 connect 来连接目标数据库,如下:
C:\Documents and Settings\Administrator>set oracle_sid=jssweb
C:\Documents and Settings\Administrator>rman
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
RMAN> connect target /
连接到目标数据库: JSSWEB (DBID=3391142503)
RMAN>
二、连接远程数据库
如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同
时你本地的 tnsname.ora 文件中也必须已经建立了该网络服务名的正确配置。示例如下:
C:\Documents and Settings\Administrator>rman target sys/change_on_install@testdb
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: TESTDB (DBID=2220262593)
RMAN>
当然,在这里你也可以同样先启动 rman,再通过 connect 创建连接。具体示例与上类似。
三、退出 RMAN
哈哈,退出就太简单啦,敲个 EXIT 试试~~~~~~
还有一点各位新友也了解一下,对于以后写 rman 批处理会有帮助。在启动 rman 时可以指定日志输出,
之前的示例中均没有指定,rman 就将执行结果直接打印到屏幕了,如果我们以后写了一堆超长的 rman 批
处理放在后台执行,可能会希望能够把执行日志记录下来备查,这个时候日志输出功能就用上了。这个功
能也非常简单,如下:
C:\Documents and Settings\Administrator>rman target / log d:\logs\rman_log.txt
RMAN>
rman 会将执行的结果直接输出到指定的 d:\logs\rman_log.txt 文件,一旦脚本放入后台执行出现问
题,我们可以根据 rman_log 文件来辅助分析。
==========================================================================================================
第二篇 RMAN 命令知多少
RMAN 非常有意思,做为一个专业的备份工具,它几乎考虑到了备份及恢复过程中可能遇到的各种操作,
由此它也提供了各种各样的命令来为这些操作提供便利。
一、启动、关闭数据库
在 RMAN 中执行关闭和启动数据库的命令与 SQL 环境下一模一样。当然,在执行之前,你需要先连
接到目标数据库,如例:
C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: JSSWEB (DBID=3391142503)
RMAN> shutdown immediate
正在使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 例程已关闭
RMAN> startup
已连接到目标数据库 (未启动)
Oracle 例程已启动
数据库已加载
数据库已打开
系统全局区域总计 143727516 字节
Fixed Size
Variable Size
Database Buffers
Redo Buffers
453532 字节
109051904 字节
33554432 字节
667648 字节
RMAN>
当然,你也可以执行 startup mount,然后再利用 alter database open 命令打开数据库以及
shutdown normal,shutdown abort 等。总之启动和关闭的命令跟 SQL 环境下完全一模一样。
二、执行操作系统命令
Rman 支持通过执行 host 命令暂时退出 rman 的命令提示符而进入到操作系统的命令环境,如下例:
RMAN> host;
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>cd \
C:\>exit
主机命令完成
RMAN>
执行完系统命令后可以再通过执行 exit 退出到 rman 命令提示符下。
三、执行 SQL 语句
在 rman 中执行 sql 语句稍嫌复杂。
在 RMAN 的命令提示符后输入 SQL 命令,然后在一对单引号(双引号亦可)中输入要执行的 SQL 语句,
例如:
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG ALL';
需要注意的一点是,rman 中的 sql 环境不能执行 SELECT 语句,或者说执行不报错,但你也看不到
结果。
其实我们完全可以通过更取巧的方式来实现更强大的 SQL 操作,比如利用第二项介绍的内容,如
下:
RMAN> host;
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 28 17:40:24 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> select sysdate from dual;
SYSDATE
----------
28-6月 -07
SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开
C:\Documents and Settings\Administrator>exit
主机命令完成
RMAN>
四、定义 RMAN 配置
RMAN 中具有一系列的默认配置,这些配置决定了备份和恢复时的一些选项,比如:
* 自动分配通道的配置;
* 备份保留时间的配置;
* 备份集大小的限制;
* 启用或禁用备份优化功能;
* 镜像复制的备份数量;
* 是否将某个表空间排队在备份之外。
修改配置是通过 CONFIGURE 命令,具体用法非常简单,但由于可供 configure 的配置非常之多,
这里不做详细介绍,在后续实际演练章节中会有体现。
五、显示 RMAN 默认配置
Rman 中可以利用 show 命令来显示当前的配置参数。例如,通过 SHOW ALL 显示当前所有的配置。
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA'; #
default
RMAN>
注:配置项后面跟了# default 的表示该项仍是初始配置,未被修改过。
该命令使用也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:
SHOW CHANNEL;
SHOW DEVICE TYPE;
SHOW DEFAULT DEVICE TYPE;
六、列出备份信息
LIST 命令用来查看通过 RMAN 生成的备份信息,例如:
列出数据库中所有文件的备份信息:
RMAN>LIST BACKUP OF DATABASE;
列出指定表空间的备份信息:
RMAN>LIST COPY OF TABLESPACE 'SYSTEM';
列出指定数据文件的备份信息:
RMAN>LIST BACKUP OF DATAFILE 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.BAK';
七、删除备份
用于删除 RMAN 备份记录及相应的物理文件。当使用 RMAN 执行备份操作时,会在 RMAN 资料库中生
成 RMAN 备份记录,并且 RMAN 备份记录被存放在目标数据库的控制文件中,如果配置了恢复目录,那
么该备份记录也会被存放到恢复目录中。
1、删除陈旧备份
当使用 RMAN 执行备份操作时,RMAN 会根据备份冗余策略确定陈旧备份。
RMAN> delete obsolete;
2、删除 EXPIRED 备份
执行 crosscheck 命令核对备份集,那么会将该备份集标记为 EXPIRED 状态。为了删除相应的备份
记录,可以执行 delete expired backup 命令。
RMAN> delete expired backup;
3、删除 EXPIRED 副本
RMAN> delete expired copy;
4、删除特定备份集
RMAN> delete backupset 19;
5、删除特定备份片
RMAN> delete backuppiece 'd:\backup\DEMO_19.bak';
6、删除所有备份集
RMAN> delete backup;
7、删除特定映像副本
RMAN> delete datafilecopy 'd:\backup\DEMO_19.bak';
8、删除所有映像副本
RMAN> delete copy;
9、在备份后删除输入对象
RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input;
八、批处理命令 RUN
重头戏来了,大家鼓掌。谢谢大家的掌声,RUN 的用法虽然很简单,但 run 太重要了,是我们后面
几乎经常都要遇到的,也正因此我不敢贸然下笔,于是我准备。。。。。。。。
================================================================================
第三篇 RMAN 备份演练初级篇
前面我们已经知道了如何进入 rman,以及 rman 的一些基本命令,相信大家定会觉着 rman 操作的
简单,事实也确实如此,但万不要因此小视 rman 的强大,简单往往意味着灵活,灵活对于那些有心人
则意味着主动权尽在掌握。
一、RMAN 备份形式
1、镜像复制(Image Copies)
镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文
件复制实质一样,只不过 RMAN 是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系
统命令。所以镜像复制的方式体现不出 RMAN 的优势,也并非我们讨论的重点,大家了解一下即可。
2、备份集(Backup Sets)
备份集是通过 RMAN 创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档
文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。