一、rman相关配置
1、进入rman:CMD下rman target/
2、查看是否处于归档模式:SQL>archive log list;(rman需运行在归档模式下)
3、开启归档模式:
复制代码 代码如下:
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;(关闭归档模式:alter database noarchivelog;)
SQL>alter database open;
SQL>archive log start;
3、全局参数设置(RMAN>show all;)
①configure retention policy to redundancy 1:
是用来决定那些备份不再需要了,它一共有三种可选项,分别是
复制代码 代码如下:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO NONE;
第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。
第三种不需要保持策略,clear将恢复回默认的保持策略。
一般最安全的方法是采用第二种保持策略。
②CONFIGURE BACKUP OPTIMIZATION OFF
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
③Configure default device type to disk:
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;
④CONFIGURE CONTROLFILE AUTOBACKUP OFF
强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。
⑤CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'
是配置控制文件的备份路径和备份格式
⑥CONFIGURE DEVICE TYPE DISK PARALLELISM 1;
是配置数据库设备类型的并行度,并行的数目决定了开启通道的个数。
⑦CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1
是否启动复合备份,向指定的i/o设备中指定的位置生成指定的份数。缺省为1.这个配置仅用于数据文件和归档文件,并且,只有在自动分配通道时才会生效!
⑧CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA'
是配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。
⑨CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
是配置备份文件的备份路径和备份格式
⑩CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];
此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。二、rman相关操作
1、校验备份信息
复制代码 代码如下:
crosscheck backup;
crosscheck backup of database;
crosscheck backup of tablespacesystem;
crosscheck backup of controlfile;
crosscheck backup of spfile;
crosscheck archivelog all;
2、查看备份
复制代码 代码如下:
list backup;
list backup of database;
list backup of tablespacetable_name;
list backup of controlfile;
list backup of spfile;
list backupset id; 这里ID指的是备份集的ID号 比如2、3.
3、删除备份
复制代码 代码如下:
report obsolete; 报告陈旧备份
delete obsolete; -- 删除陈旧备份
delete expired backup;
delete expired copy ; 删除EXPIRED副本
delete backupset 9;删除备份集编号9的
delete backuppiece ¨F:/backup/DEMO_9.bak¨; 删除特定备份片
delete backup; -- 删除所有备份
delete copy;删除映象副本
delete datafilecopy ¨F:/backup/DEMO_9.bak¨删除特定映象副本
注意:
注意这里oracle对于obsolete和expired的定义与我们常规理解是相反的。Oracle的定义是这样的,对于手工删除的文件,物理上已经 不存在了的,在执行了crosscheck之后,oracle将其标记为expired,而对于那些超出了备份保留策略的备份集备份片,则标记为 obsolete。
4、RMAN提供VALIDATE的命令,可以用于校验备份集的有效性,常用命令如下:
restore validate controlfile;
restore validate database;
5、format格式详解
%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的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式,执行不同备份操作时,生成的规则也不同,如下所示:
生成备份片段时,%U=%u_%p_%c;
生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;
生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;
生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u。
%Y:当前时间中的年,格式为YYYY。
注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。