1.RMAN的登陆退出命令:

方法一:$rman nocatalog     直接进入rman,以非 catalog 方式进行备份,也可以不要nocatalog
rman〉 connect target /     连接到 target database 需要配置ORACLE的操作系统登陆认证

方法二:rmantarget /       rman target / nocatalog

方法三:rmantarget sys/oraclesys@bys 登陆远程数据库  或登陆本机的非操作系统验证库

方法四:rmantarget sys/oraclesys   登陆到默认本机数据库

方法五: rman target​​  sys/oraclesys@192.168.0.181:1521/orcl​​

方法六: rmantarget sys/oraclesys@xporacle:1521/orcl

退出:exit

可以在RMAN中执行SHUTDOWN IMMEDIATE,STARTUP MOUNT等SQL命令

执行操作系统 命令需要加 host

执行SQL命令需要加 sql   ,不能执行查询语句

 

2.RMAN内部查询命令

Show all 查看RMAN全局配置

 RMAN>show channel;

RMAN> show device type;

RMAN> show default device type;

report schema 查看目标数据库物理结果,能显示出表空间及对应数据文件的信息

将配置重置为系统默认的命令是:CLEAR;关键字

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;

old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN configuration parameters are successfully reset to default value

列出备份信息:

RMAN> list backup;

RMAN> list backup of database;

RMAN> list backup of tablespacetable_name;

RMAN> list backup of controlfile;

RMAN> list backup of spfile;

RMAN> list backupset id;  这里ID指的是备份集的ID号 比如2、3.

校验备份信息:

RMAN> crosscheck backup;

RMAN> crosscheck backup of database;

RMAN> crosscheck backup of tablespacesystem;

RMAN> crosscheck backup of controlfile;

RMAN> crosscheck backup of spfile;

RMAN> crosscheck archivelog all;

删除备份

在执行删除命令时有两点需要了解:

  • 如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。
  • 如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。

提示:

注意这里oracle对于obsolete和expired的定义与我们常规理解是相反的。Oracle的定义是这样的,对于手工删除的文件,物理上已经 不存在了的,在执行了crosscheck之后,oracle将其标记为expired,而对于那些超出了备份保留策略的备份集备份片,则标记为 obsolete。

 delete noprompt backupset 8 ;     --noprompt参数,直接删除,不提示让输入YES/NO

RMAN> report obsolete; 报告陈旧备份

RMAN> delete obsolete; -- 删除陈旧备份

RMAN> delete expired backup;

RMAN>  delete expired copy ; 删除EXPIRED副本

RMAN> delete backupset 9;删除备份集编号9的

RMAN> delete backuppiece ¨F:\backup\DEMO_9.bak¨; 删除特定备份片

RMAN> delete backup; -- 删除所有备份

RMAN>   delete  copy;删除映象副本

RMAN>  delete datafilecopy ¨F:\backup\DEMO_9.bak¨删除特定映象副本

 RMAN> delete datafilecopy 1;   删除指定编号的COPY。。    RMAN> backup as copy tablespace 'USERS';

同时删除多个指定的备份集,用逗号隔开

RMAN> delete backupset 62,62,63,64,65,66,67;

using channel ORA_DISK_1

List of Backup Pieces

BP Key BS Key  Pc# Cp# Status      Device Type Piece Name

------- ------- --- --- ---------------------- ----------

62     62      1  1   AVAILABLE   DISK       /backup/ctl_c-2041679290-20130618-05

62     62      1   1  AVAILABLE   DISK        /backup/ctl_c-2041679290-20130618-05

63     63      1   1  AVAILABLE   DISK       /u01/app/oracle/flash_recovery_area/BYS001/backupset/2013_06_18/o1_mf_nnndf_TAG20130618T170650_8w08sc14_.bkp

64     64      1   1  AVAILABLE   DISK        /backup/ctl_c-2041679290-20130618-06

65     65      1   1  AVAILABLE   DISK       /u01/app/oracle/flash_recovery_area/BYS001/backupset/2013_06_18/o1_mf_nnndf_TAG20130618T171003_8w08zcpq_.bkp

66     66      1   1  AVAILABLE   DISK        /backup/ctl_c-2041679290-20130618-07

67     67      1   1  AVAILABLE   DISK       /backup/full/bys001arch_BYS001_818443809_72

 

Do you really want to delete the aboveobjects (enter YES or NO)?

删除归档日志:

RMAN> deletearchivelog all;  删除所有归档

RMAN> delete archivelog until time'sysdate-1' ;  删除当天之前的归档。-7是7天前。

RMAN>  delete archivelog all delete input ;

RMAN> delete backupset 22 format = ¨¨d:\backup\%u.bak¨¨ delete input; 

备份后删除输入对象

改变备份集的状态

RMAN> change backupset id unavailable;-- available

RMAN> change backupset id keep foreverlogs; 改为长期备份

RMAN> change backupset id keep untiltime 'sysdate+60' logs;

RMAN> change backupset id nokeep;

RMAN> report unrecoverable; 报告不可恢复的数据文件

 

3.3.RMAN内部配置语句解读

Show all 命令查询的全局配置:

1、CONFIGURE RETENTION POLICY配置备份保留策略

两种保留策略:

基于时间:

CONFIGURE RETENTION POLICY TO RECOVERYWINDOW OF 3 DAYS;

基于冗余数量:

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

也可以取消备份保留策略:

CONFIGURE RETENTION POLICY TO NONE;

 

2、CONFIGURE BACKUP OPTIMIZATION配置备份优化

备份优化,包括OFF和ON两个状态

打开备份优化:

CONFIGURE BACKUP OPTIMIZATION ON;

关闭备份优化:

CONFIGURE BACKUP OPTIMIZATION ON;

RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备 份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表空间或offline 表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过。

 

3、CONFIGURE DEFAULT DEVICE TYPE 配置IO设备类型

RMAN支持的IO设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。

使用磁盘设备:

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

使用磁带设置:

CONFIGURE DEFAULT DEVICE TYPE TO SBT;

在这里需要注意的一点是:如果IO设备发生变化,相关配置项也需要修改。例如:

RMAN> CONFIGURE DEVICE TYPE DISKPARALLELISM 2;

 

4、CONFIGURE CONTROLFILE AUTOBACKUP配置控制文件自动备份

是否自动备份,包含两个状态:OFF和ON

打开自动备份,如果使用了闪回区,控制文件自动备份会存储在闪回区。

CONFIGURE CONTROLFILE AUTOBACKUP ON

禁止自动备份

CONFIGURE CONTROLFILE AUTOBACKUP OFF

同时可以通过如下配置指定备份的控制格式,路径。例如:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO 'd:/backup/%F';

在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置:

CONFIGURE SNAPSHOT CONTROLFILE NAME TO'D:/BACKUP/SNCFJSSWEB.ORA';

自动备份控制文件入SPFILE文件缺省格式及命名规则,
如:C-IIIIIIII-YYYYMMDD-QQ     其中:C  控制文件;IIIIIIII DBID;YYYYMMDD 时间戳;QQ 序号00-FF。十六进制表示。

是否设置自动备份控制文件的查看 :

在数据库中设置是否设置了自动备份控制文件
BYS|HELLO>select * from v$rman_configuration;
在数据库中通过视图查看自动备份的参数文件或控制文件。
BYS|HELLO>select * from v$backup_spfile;
在RMAN中查看 使用 rman target / 登陆并使用 list backup of spfile;

5、CONFIGURE DEVICE TYPE 设置并行备份

RMAN支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如:

CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

指定在以后的备份与恢复中,将采用并行度为2,同时开启2个通道进行备份与恢复,当然也可以在run中指定通道来决定备份与恢复的并行程度。

并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。

默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在run块中,如果你没有单独通过ALLOCATE CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE CHANNEL,那么rman在执行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每个备份集中所能包含的备份片段(即磁盘文件)的最大数,该参数默认值为64,如果在执行backup命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道将处于空闲状态。关于通道数与FILESPERSET值之间也有一个大小关系,逻辑稍显复杂这些就不多废话了,总之一条,filesperset值不要小于你设定的通道数。

 

6、CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度

7、CONFIGURE MAXSETSIZE 配置备份集的最大尺寸

该配置限制通道上备份集的最大尺寸。单位支持bytes,K,M,G。默认值是unlimited。

4. FORMAT字符串替代变量

configure channel 1 device type disk format  '/home/oracle/%U';

备份集默认存放在/home/oracle/下,文件名格式为:%U

使用FORMAT参数时可使用的各种替换变量,如下:

%c:备份片的拷贝数(从1开始编号);

%d:数据库名称;

%D:位于该月中的天数 (DD);

%M:位于该年中的月份 (MM);

%F:一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列;

%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;

%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称;

%p:表示备份集中备份片段的编号,从1 开始编号;

%U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式;

%s:备份集的号;

%t:备份集时间戳;

%T:年月日格式(YYYYMMDD);s

注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

如:format 'f:\backup\orclfullback_%d_%t_%s'