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

RMAN详细教程(二):备份、检查、维护、恢复

RMAN详细教程(三):备份脚本的组件和注释

RMAN详细教程(四):备份脚本实战操作

 

 

一、target——连接数据库

1、本地:

  1. [oracle@oracle ~]$ rman target /

2、远程:

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

  

 

二、show——查看配置

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

  1. CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
  2. CONFIGURE BACKUP OPTIMIZATION OFF; # default
  3. CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
  4. CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
  5. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; #default
  6. CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
  7. CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
  8. CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
  9. CONFIGURE MAXSETSIZE TO UNLIMITED; # default
  10. CONFIGURE SNAPSHOT CONTROLFILE NAME TOC: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; // 备份的优化

 

 

三、configure——调整配置

1、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将恢复回默认的保持策略。

 

2、CONFIGURE BACKUP OPTIMIZATION OFF;

默认为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。

 

3、Configure default device type to disk;

默认值是硬盘,是指定所有I/O操作的设备类型是硬盘或者磁带(SBT)。

 

4、CONFIGURE CONTROLFILE AUTOBACKUP OFF;

强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样在控制文件和catalog丢失后,控制文件仍然可以恢复。

 

5、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

配置控制文件的备份路径和备份格式

 

6、CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

配置数据库设备类型的并行度,默认为1。

 

7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;

配置每次备份的copy数量。

 

8、CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;

配置归档日志存放的设备类型。

 

9、configure maxsetsize 大小;

配置备份集的最大尺寸,默认值是unlimited,单位bytes,K,M,G;

 

10、CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA';

配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。

 

11、CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';

配置备份文件的备份路径和备份格式。

 

12、CONFIGURE CHANNEL DISK CLEAR;

用于清除上面的信道配置。

 

13、CONFIGURE EXCLUDE FOR TABLESPACE [CLEAR];

不备份指定的表空间到备份集中,对只读表空间是非常有用的。

 

14、configure channel device type disk format 'e:\backupb%d_db_%u';

将备份文件存储到e:\backupb,后面的%d_db_%u是存储格式。

 

15、configure controlfile autobackup format for device type disk to 'e:\backupcontrol%F';

指定control file存储在另一个路径: e:\backupcontrol,后面的%F是存储格式。

 

 

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

1、list incarnation;

汇总查询,多备份文件时,可以对备份文件有个总体了解。

 

2、list backup;

列出备份详细信息。

 

3、list backup summary;

简述可用的备份(TY: B代表备份, LV: F代表全备fullbackup, A表示 Archivelog, 0,1,2 表示备份级别, S表示状态, A表示available可用, X表示expried过期)。

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

 

4、list backup by file;

按照文件类型列出以下四种类型列表:

数据文件备份列表、已存档的日志备份列表、控制文件备份列表、SPFILE 备份的列表。

 

5、list backup of database summary;

 

6、list backup of tablespace users;

 

7、list backup of archivelog all;

查看已经备份的 archive log 情况。

 

8、list archivelog all;

查看目前所有的archivelog文件 (可能包含已经备份的, 除非你在备份时有参数 delete input file 删除了)。

 

9、list backup of spfile;

 

10、list backup of controlfile;

 

11、list backup verbose;

 

12、list backup of datafile 1 [n | <dir>];

 

13、list backup of archivelog from sequence 1000 until sequence 1020;

 

14、list backupset tag=TAG20140317T155753;

 

15、list expried backup;

列出过去的备份文件。

 

 

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

1、report schema;

报告目标数据库的物理结构。

 

2、report need backup;

报告需要备份的数据文件(根据条件不同)。

 

3、report need backup days 3;

最近三天没有备份的数据文件(如果出问题的话,这些数据文件将需要最近3天的归档日志才能恢复)。

 

4、report need backup redundancy 3;

报告出冗余次数小于3的数据文件。

 

5、report need backup recovery window of 3 days;

报告出恢复需要3天归档日志的数据文件。

 

6、report obsolete;

报告已经丢弃的备份(前提是设置了备份策略)。

 

7、report unrecoverable;

报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)。

 

8、report schema at time ‘sysdate – 7’;

 

9、report need backup days 2 tablespace system;

 

 

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

  1. delete backupset;
  2. delete backupset n;
  3. delete obsolete; -- 删除荒废
  4. delete noprompt obsolete; -- 不提示, 删除荒废
  5. delete noprompt expired backup; -- 不提示, 删除不在磁盘上的备份集(可以先用crosscheck同步确认一下)
  6. delete obsolete redundancy 2;
  7. delete noprompt copy
  8. delete noprompt backupset tag TAG20140317T14432;
  9. delete obsolete recovery window of 7 days;
  10. delete expired backupset;
  11. delete expired copy;
  12. delete expired archivelog all;

 

 

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

执行crosscheck时,RMAN检查目录中列出的每个备份集或副本并且判断他们是否存在与备份介质上。

如果备份集或副本不存在与备份介质上,它就会被标记为expired, 并且不能用于任何还原操作;

如果备份集或副本存在与备份介质上,它就会维持available状态。

如果以前被标记为expired 的备份集或副本再次存在于备份介质上,crosscheck 命令就会将它标记回available。

 

1、RMAN 备份检验的几种状态:

expired: 对象不存在于磁盘或磁带。

available: 对象处于可用状态。

unavailabe: 对象处于不可用状态。

 

2、expired 与 obsolette 的区别:

(1)对于EXPIRED状态,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上, 如果不存在,则状态由AVAILABLE改为EXPIRED。

(2)对于obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。

 

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

 

 

八、backup常用命令

1、将备份集放到快速恢复区中:

1)归档模式下:

  1. backup database plus archivelog;

2)非归档模式下:

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

 

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

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

 

3、备份成镜像文件:

  1. backup as copy

 

4、设置备份标记(每个标记必须唯一,相同的标记可以用于多个备份只还原最新的备份)。

  1. backup database tag='full_bak1';

 

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

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

 

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

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

PS:

可以在allocate子句中设定每个备份片的大小,以达到磁带或系统限制。

也可以在configure中设置备份片大小。

  1. Configure channel device type disk maxpiecesize 100 m
  2. Configure channel device type disk clear;

 

7、备份集的保存策略

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

 

8、重写configure exclude命令

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

 

9、检查数据库错误

  1. backup validate database;

使用RMAN来扫描数据库的物理/逻辑错误,并不执行实际备份。

 

10、跳过脱机,不可存取或只读文件

  1. backup database skip readonly;
  2. backup database skip offline;
  3. backup database skip inaccessible;
  4. backup database ship readonly skip offline ship inaccessible;

 

11、强制备份

  1. backup database force;

 

12、基于上次备份时间备份数据文件

(1)只备份添加的新数据文件:

  1. backup database not backed up;

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

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

 

13、备份操作期间检查逻辑错误

  1. backup check logical database;
  2. backup validate check logical database;

 

14、生成备份副本

  1. backup database copies=2;

 

15、备份控制文件

  1. backup database device type disk includ current controlfile;

 

 

九、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的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式。执行不同备份操作时,生成的规则也不同,如下所示:

  1. 生成备份片段时,%U=%u_%p_%c
  2. 生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u
  3. 生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u
  4. 生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u

%Y:当前时间中的年,格式为YYYY。

PS:

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

Oracle中RMAN基本命令教程的更多相关文章

  1. 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?

    真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...

  2. RMAN详细教程(二):备份、检查、维护、恢复

    RMAN详细教程(一):基本命令代码 一.创建增量备份 增量备份级别为0-4,但为方便备份管理,oracle建议只限于0级和1级. 1.差异增量备份(differential incremental ...

  3. RMAN详细教程(四):备份脚本实战操作

    RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份.检查.维护.恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操作 1.为了安全起见,先将数据 ...

  4. RMAN详细教程(三):备份脚本的组件和注释

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

  5. Oracle中三种循环(For、While、Loop)

    1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_ ...

  6. ORACLE 查看RMAN的备份信息总结

    关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它方式检查RMAN备份的成功与失败呢?其实我们可以通过下面SQL脚本来检查某个时间段备份失败的记录: SELECT * FROM V$RM ...

  7. 在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程

    在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程 本教程提供PDF格式下载: 在RedHat.Enterprise.Linux_v6.3系统中安装Ora ...

  8. oracle中drop、delete和truncate的区别

    oracle中drop.delete和truncate的区别 oracle中可以使用drop.delete和truncate三个命令来删除数据库中的表,网上有许多文章和教程专门讲解了它们之间的异同,我 ...

  9. ORACLE的RMAN

    1.什么是RMAN? RMAN可以用来备份和还原数据库文件.归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. 注意:RMAN不能用于备份初始化参数文件和口令文件. RMAN启动数据库上的 ...

随机推荐

  1. SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构(上)

    在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念.多module有一个父maven工程,多个子工程 ...

  2. jquery validate常用方法及注意问题

    1. required: true 值是必须的.required: "#aa:checked" 表达式的值为真,则需要验证.required: function(){} 返回为真, ...

  3. 全球DEM数据资源下载

    想找有海底地形的全球DEM数据作为三维地球展示用,发现很多都是只有陆地DEM而不带海底的,而且还需要通过Web页面进行选择然后数据下载. 找到一个学校的Ftp可以直接下载数据集,特别是这篇文章几乎汇集 ...

  4. excel表格导出之后身份证号列变成了科学计数法

    excel表格导出之后身份证号列变成了科学计数法 解决:写sql查询出所有数据,并在身份证列添加字符,然后导出,将要复制的excel表格设置单元格格式问文本类型,然后复制粘贴,再把加入的字符删除,搞定 ...

  5. unity_小功能实现(敌人追踪主角)

    1.敌人发现主角有两种形式: a.看见主角(主角出现在敌人的视野之内) b.听见主角(听见主角走路声或者是跑步声) a:看(see) 首先判断主角是否在敌人视野角度内,那么我们只需要判断B<0. ...

  6. 前端项目升级到React-router5中遇到的问题解决方案以及思路

    我胡汉三有日子没回来写写文章了,最近一直再忙着将老项目升级,所以没时间来搞文章,今天突然感觉开了挂一样,爱因斯坦附体,把之前的bug都搞定了,在这里特意把升级中遇到的问题,记录下来,算是把这个坑填上. ...

  7. Node开发知识概括

    一. javascript高级话题(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使 ...

  8. BZOJ3170 [Tjoi2013]松鼠聚会 切比雪夫距离 - 曼哈顿距离 - 前缀和

    BZOJ3170 题意: 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最 ...

  9. hdu6219 Empty Convex Polygons (最大空凸包板子

    https://vjudge.net/contest/324256#problem/L 题意:给一堆点,求最大空凸包面积. 思路:枚举凸包左下角点O,dp找出以这个点为起始位置能构成的最大空凸包面积, ...

  10. HDU-6437 Videos

    HDU-6437 题意:一天有n个小时,现在有m场电影,每场电影有一个愉悦值,有k个人,电影分2种类型A, B, 并且每一场电影只能一个人看, 一个人可以看无数次电影, 只要时间足够, 但是连续看同一 ...