Oracle推荐的备份和恢复工具是RMAN(Recovery
Manager)。并不是必须要使用RMAN,但其有着其他产品无法提供的功能。对于RMAN可以即开即用,但大部分dba需要更高级的功能,因此将对RMAN进行大量的配置使其更易于使用。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更强大的备份与恢复的管理功能。通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷与完美。
登录RMAN
[oracle@cc-PC ~]$ rman target
/
配置RMAN默认值
RMAN> show all;
CONFIGURERETENTION POLICY
TO REDUNDANCY 1; # default--有效备份的冗余数
默认为1
CONFIGURE BACKUP OPTIMIZATION OFF; #
default ---
off都备,
on原来的文件备份过并且没有变化就不许要备份
CONFIGURE DEFAULT DEVICE TYPE TO DISK; #
default ----to
sbt到磁带机 现在一般不用
CONFIGURE CONTROLFILE AUTOBACKUP OFF; #
default ----控制文件自动备份数据库结构发生了结构变化on备份off不自动备份
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE
DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO
BACKUPSET; #
default
------并行备份 每个进程 备份几个
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO
1; #
default
--压缩备份30%-70%使用时自动解压
只能压缩数据文件
CONFIGUR EARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO
1; #
default
CONFIGURE MAXSETSIZE TO UNLIMITED; #
default ---单文件的大小限制
CONFIGURE ENCRYPTION FOR DATABASE OFF; #
default --加密备份要不要打开
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; #
default --加密算法
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; #
default归档删除策略
不删
CONFIGURESNAPSHOT CONTROLFILE NAME TO
'/u01/app/oracle/product/10gR2.1/dbs/snapcf_orcl.f'; # default--成功执行列rman就会备份控制文件
RMAN备份片
“备份片”是存储备份信息的二进制文件;“备份集”是备份片的集合,是一个逻辑名称。
备份片命名参数(红色标注为常用参数):
%a:Oracle数据库的activation
ID即RESETLOG_ID。
%c:备份片段的复制数(从1开始编号,最大不超过256)。
%d:Oracle数据库名称。
%D:当前时间中的日,格式为DD。
%e:归档序号。
%f:绝对文件编号。
%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为日期,QQ是一个1~256的序列。
%h:归档日志线程号。
%I:Oracle数据库的DBID。
%M:当前时间中的月,格式为MM。
%N:表空间名称。
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx。
%p:备份集中备份片段的编号,从1开始。
%s:备份集号。
%t:备份集时间戳。
%T:当前时间的年月日格式(YYYYMMDD)。
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称。
%U:默认是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用
常用show命令
显示快照控制文件
RMAN>show snapshot controlfile
name;
显示备份集的大小
RMAN>show maxsetsize;
显示默认分配的通道大小
RMAN>show channel for device type
disk;
显示目前的冗余策略
RMAN>show
retention policy;
保持默认配置的方法:
RMAN>CONFIGURE DEFAULT DEVICE TYPE
clear;
备份
RMAN> backup
database format
'/u01/app/oracle/rmanbak/whole_%d_%U'; --备份整个数据库
RMAN> backup as compressed
backupset--备份整个数据库并压缩备份集
RMAN> run{
2> allocate
channel ch1 type disk
//手动分配一个通道
3> maxpiecesize=2g;
//指定备份片的大小为g
4> backupas
compressed backupset
//压缩备份集
5> format '/u01/app/oracle/rmanbak/whole_%d_%U'
filesperset=3
//指定备份集中允许容纳的文件数为个
6> database;
7> release
channel ch1;}
//释放通道
RMAN> configure
device type disk parallelism 3;
--将并行度改为
RMAN> backupas compressed
backupset
--并行度改为之后,自动启用了个通道
2> format'/u01/app/oracle/rmanbak/whole_%d_%U'
filesperset=3
3> database;
RMAN> run{
2> allocate channel ch1 type
disk
3> maxpiecesize=100m;
--备份片大小设置为m,则一个备份集包含多个备份片,且每个备份片大小为m
4> backup
5> format
'/u01/app/oracle/rmanbak/whole_%d_%U'
6> database;
7> release
channel ch1;}
RMAN> backupas copy
datafile 4--备份类型为镜像备份
2> format'/u01/app/oracle/rmanbak/df_%d_%U';
RMAN> listcopy;
RMAN> backup
datafile 4,5,6 format
'/u01/app/oracle/rmanbak/df_%d_%U';
--备份类型为备份集
RMAN> backup tablespace
users,example format
='/u01/app/oracle/rmanbak/tb_%d_%U';
RMAN> backup tablespace
temp; --临时表空间不需要备份
RMAN> configure
controlfile autobackup on;
--自动备份控制文件置为on状态,将自动备份控制文件和参数文件
RMAN> backup
current controlfile;
--单独备份控制文件及参数文件
RMAN> backup datafile 4
include current controlfile;
--备份数据文件时包含控制文件
RMAN> backup spfile format
'/u01/app/oracle/rmanbak/sp_%d_%U';--单独备份spfile
RMAN>backup
2>
format'/u01/app/oracle/rmanbak/lf_%d_%U'
3>archivelog all
delete input; --delete
input删除所有已经备份过的归档日志
RMAN>backup
--此种写法实现了上述相同的功能
2>archivelog
all delete input
3>format='/u01/app/oracle/rmanbak/lf_%d_%U';
RMAN>backup recovery area;
使用backuprecovery
area时,将备份位于闪回区且未进行过备份的所有文件,这些文件包括完整、增量备份集、自动备份的控制文件(假定使用闪回区作为备份路径时)、归档日志、数据文件的镜像副本等。闪回日志,当前的控制文件。联机重做日志不会被备份
RMAN>backup
recovery files;
使用backup
recovery
files时,将备份磁盘上未进行过备份的所有恢复文件,而不论是否位于闪回区。