天天看点

RMAN介绍

<b>常用备份方式</b>

<a href="http://blog.51cto.com/attachment/201005/171308949.png" target="_blank"></a>

<b>Restore</b><b>与recovery</b>

<a href="http://blog.51cto.com/attachment/201005/171322716.png" target="_blank"></a>

<b>RMAN</b><b>组件</b>

<a href="http://blog.51cto.com/attachment/201005/171339486.png" target="_blank"></a>

<b>元数据</b>:RMAN 资料档案库:RMAN 在执行备份、还原和恢复操作时使用的数据称为RMAN 元数据。这些元数据存储在目标数据库的控制文件和可选的恢复目录数据库中。

<b>RMAN </b><b>资料档案库:</b>RMAN 在RMAN 资料档案库中存储有关目标数据库及其备份和恢复操作的信息。目标数据库控制文件可用作专门存储该信息的位置。存储的信息量会根据备份频率、生成的归档重做日志文件的数量以及RMAN 记录的保留时间而增长。

<b>设置CONTROL_FILE_RECORD_KEEP_TIME:</b>CONTROL_FILE_RECORD_KEEP_TIME 参数指定RMAN 信息至少要在控制文件中存储多少天后才会被覆盖。该值越小,信息就会越频繁地被覆盖,从而尽可能减少控制文件的增长。如果使用恢复目录,则应选择较小的数值。缺省值为7 天。如果控制文件太小,不能存储由CONTROL_FILE_RECORD_KEEP_TIME 指定的时间段内的所有信息,那么控制文件将会增长。在控制文件增长之前,将执行以下的特定步骤:

1. 使用控制文件中的空闲空间。

2. 覆盖早于CONTROL_FILE_RECORD_KEEP_TIME 的条目。

3. 如果没有更多空间可用,控制文件将按需增长,直到达到操作文件大小的系统限制。

<b>通道分配(Channel Allocation):</b>

<a href="http://blog.51cto.com/attachment/201005/171357715.png" target="_blank"></a>

sbt:system backup to tap。

每个通道代表通向某一类型设备的一个数据流。通常每个通道对应一个输出设备,除非您的MML (介质管理库)具有硬件多路复用功能。

在执行备份和恢复命令前,必须先分配通道。每个已分配的通道建立从RMAN 可执行文件到目标或辅助数据库例程的连接,方法是在例程上启动服务器会话。该服务器会话执行备份和恢复操作。只有一个RMAN 会话可与已分配的服务器会话通信。

可以手动分配通道,也可以使用自动通道分配功能预先配置要在所有RMAN 会话中使用的通道。

• BACKUP、COPY、RESTORE 和RECOVER 命令至少需要一个通道。

•分配一个通道会在目标数据库上启动一个服务器进程。

•通道数就是恢复期间的并行度。

•通道可写入不同的介质类型。查询V$BACKUP_DEVICE 视图可以确定支持哪些设备类型。

•通道可用于施加限制。

自动分配通道:

•更改缺省设备类型:RMAN&gt; CONFIGURE DEVICE TYPE DISK PARALLELISM 3;

•配置自动通道的并行性:RMAN&gt; CONFIGURE DEFAULT DEVICE TYPE TO sbt;

•配置自动通道选项:

RMAN&gt; CONFIGURE CHANNEL DEVICE TYPE DISK

2&gt; FORMAT = ‘/BACKUP/RMAN/%U';

2&gt; MAXPIECESIZE 2G;

手动分配通道示例:

• ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;

此命令为DELETE 命令分配通道,因为将从磁盘删除一个文件。维护通道不能用于任何其它I/O 操作,如备份或复制。

• RMAN&gt; RUN {

2&gt; ALLOCATE CHANNEL d1 DEVICE TYPE disk

3&gt; FORMAT = ’/db01/BACKUP/%U’;

4&gt; BACKUP DATAFILE ’/…/u03/users01.dbf’;}

第二个示例分配一个名为d1 的通道,由该通道创建的所有文件都具有格式’/db01/BACKUP/%U’。该通道备份一个数据文件/db01/ORADATA/u03/users01.dbf。

<b>本地连接</b>

$ rman target /

或 $ rman target / nocatalog

NOCATALOG 是缺省模式。

<b>远程连接</b>

使用tnsname,

$ rman target sys/target_pwd@DB01

<b>连接进程(NOCATALOG模式下)</b>

键入RMAN 连接命令后,将发生如下事件:

•为RMAN创建一个用户进程。

•该用户进程创建两个Oracle 服务器进程:

–一个是连接到目标数据库的缺省进程,用于执行SQL 命令、重新同步控制文件和恢复前滚

–一个是连接到目标数据库的轮询进程,用于确定远程过程调用(RPC) 的完成情况(每个例程仅限一个)。

•备份和恢复信息是从控制文件中检索的。

<b>其他命令行参数</b>

•将RMAN 输出写入到一个日志文件:

$ rman target sys/oracle

log $HOME/ORADATA/u03/rman.log append

•调用RMAN 时执行命令文件:

@’$HOME/STUDENT/LABS/my_rman_script.rcv’

LOG = 'filename' 参数指定用于记录RMAN 输出的文件。如果未指定该参数,RMAN 将把其消息日志文件写入到标准输出。如果无法打开指定的文件,RMAN 不会中止,而是将输出内容写入到标准输出设备。

APPEND 关键字指定新的输出应附加在消息日志文件的末尾。如果未指定该参数,一旦存在与消息日志文件同名的文件,RMAN 将覆盖该文件。

您可使用CMDFILE = 'filename'或@'filename' 运行包含RMAN 命令的文件。如果文件名的第一个字符是字母,则可不必将文件名放在引号内。RMAN 将在运行命令文件后终止。

<b>批处理模式</b>

1、脚本:

$ rman target / log tbs.log @tbsbk.rcv

2、here document技术

例:

$ vi rman.sh

#!/bin/bash

rman target / &lt;&lt;!

show all;

exit;

!

$ sh rman.sh

Recovery Manager: Release 9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

connected to target database: LTY (DBID=1195723035)

RMAN&gt;

using target database controlfile instead of recovery catalog

。。。 。。。

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_lty.f'; # default

Recovery Manager complete.

本文转自 d185740815 51CTO博客,原文链接:http://blog.51cto.com/luotaoyang/319391,如需转载请自行联系原作者