RMAN详细教程(一):基本命令代码

RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份、检查、维护、恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操做    html

1、target——链接数据库

一、本地:

[oracle@oracle ~]$ rman target /

二、远程:

[oracle@oracle ~]$ rman target sys/oracle@orcl

    

2、show——查看配置

RMAN> show all //总配置参数,具体看configure模块算法

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; #default
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‘C:ORACLE..SNCFTEST.ORA’; #default

RMAN> show channel; // 通道分配 RMAN> show device type; // IO 设备类型 RMAN> show retention policy; // 保存策略 RMAN> show datafile backup copies; // 多个备份的拷贝数目 RMAN> show maxsetsize; // 备份集大小的最大值 RMAN> show exclude; // 没必要备份的表空间 RMAN> show backup optimization; // 备份的优化    数据库

3、configure——调整配置

一、configure retention policy to redundancy 1; 舍弃备份原则,共三种,分别是: (1)CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 保持全部足够的备份,能够将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。 (2)CONFIGURE RETENTION POLICY TO REDUNDANCY 5; 保持能够恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。通常采用的方法,默认值为1,能够设置为5。
(3)CONFIGURE RETENTION POLICY TO NONE;
不须要保持策略,clear将恢复回默认的保持策略。   二、CONFIGURE BACKUP OPTIMIZATION OFF; 默认为关闭,若是打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。   三、Configure default device type to disk; 默认值是硬盘,是指定全部I/O操做的设备类型是硬盘或者磁带(SBT)。   四、CONFIGURE CONTROLFILE AUTOBACKUP OFF; 强制数据库在备份文件或者执行改变数据库结构的命令以后将控制文件自动备份,默认值为关闭。这样在控制文件和catalog丢失后,控制文件仍然能够恢复。
  五、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; 配置控制文件的备份路径和备份格式
  六、CONFIGURE DEVICE TYPE DISK PARALLELISM 1; 配置数据库设备类型的并行度,默认为1。
  7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 配置每次备份的copy数量。
  八、CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 配置归档日志存放的设备类型。   九、configure maxsetsize 大小; 配置备份集的最大尺寸,默认值是unlimited,单位bytes,K,M,G;   十、CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA'; 配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。
  十一、CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p'; 配置备份文件的备份路径和备份格式。   十二、CONFIGURE CHANNEL DISK CLEAR; 用于清除上面的信道配置。   1三、CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR]; 不备份指定的表空间到备份集中,对只读表空间是很是有用的。   1四、configure channel device type disk format 'e:\backupb%d_db_%u'; 将备份文件存储到e:\backupb,后面的%d_db_%u是存储格式。   1五、configure controlfile autobackup format for device type disk to 'e:\backupcontrol%F'; 指定control file存储在另外一个路径: e:\backupcontrol,后面的%F是存储格式。    oracle

4、List—— 列出备份集和数据文件镜像

一、list incarnation; 汇总查询,多备份文件时,能够对备份文件有个整体了解。   二、list backup; 列出备份详细信息。   三、list backup summary; 简述可用的备份(TY: B表明备份, LV: F表明全备fullbackup, A表示 Archivelog, 0,1,2 表示备份级别, S表示状态, A表示available可用, X表示expried过时)。app

备份列表
===============
关键字     TY LV S 设备类型 完成时间   段数 副本数 压缩标记
------- -- -- - ----------- ---------- ------- ------- ---------- ---
11      B  F  A DISK        02-7月 -13 1       1       NO         TAG20130702T162726
12      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
13      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
14      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
15      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
16      B  A  A DISK        24-2月 -14 1       1       NO         TAG20140224T125128

  四、list backup by file; 按照文件类型列出如下四种类型列表: 数据文件备份列表、已存档的日志备份列表、控制文件备份列表、SPFILE 备份的列表。   五、list backup of database summary;   六、list backup of tablespace users;   七、list backup of archivelog all; 查看已经备份的 archive log 状况。   八、list archivelog all; 查看目前全部的archivelog文件 (可能包含已经备份的, 除非你在备份时有参数 delete input file 删除了)。   九、list backup of spfile;   十、list backup of controlfile;   十一、list backup verbose;   十二、list backup of datafile 1 [n | <dir>];   1三、list backup of archivelog from sequence 1000 until sequence 1020;   1四、list backupset tag=TAG20140317T155753;   1五、list expried backup; 列出过去的备份文件。    优化

5、Report——显示存储仓库(Repository)中详细的分析信息

一、report schema; 报告目标数据库的物理结构。   二、report need backup; 报告须要备份的数据文件(根据条件不一样)。   三、report need backup days 3; 最近三天没有备份的数据文件(若是出问题的话,这些数据文件将须要最近3天的归档日志才能恢复)。   四、report need backup redundancy 3; 报告出冗余次数小于3的数据文件。   五、report need backup recovery window of 3 days; 报告出恢复须要3天归档日志的数据文件。   六、report obsolete; 报告已经丢弃的备份(前提是设置了备份策略)。   七、report unrecoverable; 报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已通过期)。   八、report schema at time ‘sysdate – 7’;   九、report need backup days 2 tablespace system;    spa

6、Delete——删除相关的备份集或镜像副本的物理文件, 同时将删除标记 delete 更新到控制文件。

delete backupset;
delete backupset n;
delete obsolete;   -- 删除荒废
delete noprompt obsolete;  -- 不提示, 删除荒废
delete noprompt expired backup;  -- 不提示, 删除不在磁盘上的备份集(能够先用crosscheck同步确认一下)
delete obsolete redundancy 2;
delete noprompt copy
delete noprompt backupset tag TAG20140317T14432;
delete obsolete recovery window of 7 days;
delete expired backupset;
delete expired copy;
delete expired archivelog all;

   

7、Crosscheck——设置状态为AVAILABLE(可用)或者EXPIRED(不可用)

执行crosscheck时,RMAN检查目录中列出的每一个备份集或副本而且判断他们是否存在与备份介质上。 若是备份集或副本不存在与备份介质上,它就会被标记为expired, 而且不能用于任何还原操做; 若是备份集或副本存在与备份介质上,它就会维持available状态。 若是之前被标记为expired 的备份集或副本再次存在于备份介质上,crosscheck 命令就会将它标记回available。   一、RMAN 备份检验的几种状态: expired: 对象不存在于磁盘或磁带。 available: 对象处于可用状态。 unavailabe: 对象处于不可用状态。   二、expired 与 obsolette 的区别: (1)对于EXPIRED状态,与crosscheck命令是密切相关的,RMAN经过crosscheck命令检查备份是否存在于备份介质上, 若是不存在,则状态由AVAILABLE改成EXPIRED。 (2)对于obsolete状态,是针对MAN备份保留策略来讲的,超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE,咱们可使用report obsolete来查看已废弃的备份。  线程

RMAN>crosscheck backup; --校验备份片(???)
RMAN> crosscheck backupset; --校验备份集
RMAN> crosscheck copy; --校验镜像副本
RMAN> crosscheck backup of controlfile; --校验备份的控制文件
RMAN> crosscheck backup of archivelog all; --校验全部备份的归档日志
RMAN> crosscheck backup of datafile 1,2; --校验datafile 1,2
RMAN> crosscheck backup of tablespace sysaux,system; --校验表空间sysaux,system
RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10'; --校验时间段,时间段格式由NLS_DATE_FORMAT设置
RMAN> crosscheck backupset 1067,1068; --校验指定的备份集

   

8、backup经常使用命令

一、将备份集放到快速恢复区中: 1)归档模式下:日志

backup database plus archivelog;

2)非归档模式下:code

shutdown immediate;   # 关闭一致性后,打开到mount状态
backup database

  二、指定备份片断的存放路径和命名规则:

backup format '/u01/app/oracle/oradata/enmo1/AL_%d/%t/%s/%p' archivelog like '%arc_dest%';

  三、备份成镜像文件:

backup as copy

  四、设置备份标记(每一个标记必须惟一,相同的标记能够用于多个备份只还原最新的备份)。

backup database tag='full_bak1';

  五、设置备份集大小(必须大于数据库总数据文件的大小,不然会报错)。

backup database maxsetsize=100m tag='datafile1';

  六、设置备份片大小(磁带或文件系统限制)

run {
    allocate channel c1 type disk maxpicecsize 100m format '/data/backup/full_0_%U_%T';        
    backup database tag='full_0';        
    release channel c1;        
}

PS: 能够在allocate子句中设定每一个备份片的大小,以达到磁带或系统限制。
也能够在configure中设置备份片大小。

Configure channel device type disk maxpiecesize 100 m        
Configure channel device type disk clear;

  七、备份集的保存策略

backup database keep forever;  --永久保留备份文件, 这种须要有恢复目录的支持
backup database keep until time='sysdate+30'; --保存备份30天

  八、重写configure exclude命令

backup databas noexclude keep forever tag='test backup';

  九、检查数据库错误

backup validate database;

使用RMAN来扫描数据库的物理/逻辑错误,并不执行实际备份。   十、跳过脱机,不可存取或只读文件

backup database skip readonly;
backup database skip offline;
backup database skip inaccessible;
backup database ship readonly skip offline ship inaccessible;

  十一、强制备份

backup database force;

  十二、基于上次备份时间备份数据文件 (1)只备份添加的新数据文件:

backup database not backed up;

(2)备份"在限定时间周期内"没有被备份的数据文件:

backup database not backed up since time='sysdate-2';

  1三、备份操做期间检查逻辑错误

backup check logical database;
backup validate check logical database;

  1四、生成备份副本

backup database copies=2;

  1五、备份控制文件

backup database device type disk includ current controlfile;

   

9、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。 %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。 PS: 若是在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片断命名。

原文出处:https://www.cnblogs.com/WoLykos/p/11585744.html

相关文章
相关标签/搜索