RMAN命令详解和常用汇总
转摘汇集,日后使用
本文链接:https://blog.csdn.net/EVISWANG/article/details/50448370
http://blog.itpub.net/25904686/viewspace-742701/
https://blog.csdn.net/zq9017197/article/details/6869579
https://www.cnblogs.com/polestar/archive/2013/02/06/2902598.html
--HQ_显示RMAN备份信息及日志
http://blog.itpub.net/30126024/viewspace-2128114/

【输出日志】
[oracle@tiger script]$ cat rman_db.sh
exportORACLE_HOME=/u01/oracle/product/11.2.0.4
export ORACLE_SID=TIGER
rman target / cmdfile=/u01/rman/script/rman_db.rcv msglog=/u01/rman/script/rman_full_`date+%Y-%m-%d`.log
[oracle@tiger script]$

【Catalog】
1、注册副本
catalog datafilecopy 'c:\user01.bak';
2、注册备份片
catalog backuppiece 'c:\demo_10.dbf' ;
3、注册特定目录的所有备份文件
catalog start with 'c:\bak';
4、注销备份记录
change datafilecopy 'c:\user01.bak' uncatalog;
change controlfilecopy 'c:\demo.ctl' uncatalog;
change backuppiece 'c:\demo_10.bak' uncatalog;
5、注册归档日志
catalog archivelog '/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423';
cataloged archived log
archived log file name=/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423 RECID=9578 STAMP=900068071

【Crosscheck】
crosscheck backup 核对所有备份集;
crosscheck backup of database 核对所有数据文件的备份集;
crosscheck backup of tablespace users 核对特定表空间的备份集;
crosscheck backup of datafile 4 核对特定数据文件的备份集;
crosscheck backup of controlfile 核对控制文件的备份集;
crosscheck backup of spfile 核对SPFILE的备份集;
crosscheck backup of archivelog sequence 3 核对归档日志的备份集;
crosscheck copy 核对所有映像副本;
crosscheck copy of database 核对所有数据文件的映像副本;
crosscheck copy of tablespace users 核对特定表空间的映像副本;
crosscheck copy of datafile 6 核对特定数据文件的映像副本;
crosscheck copy of archivelog sequence 4 核对归档日志的映像副本;
crosscheck copy of controlfile 核对控制文件的映像副本;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sBT;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522;

expired: 对象不存在于磁盘或磁带。当一个备份集处于expired状态,则该备份集中所有的备份片同样处于expired状态
available: 对象处于可用状态。当一个备份集可用,则该备份集内的所有备份片同样可用
unavailabe: 对象处于不可用状态。当一个备份集不可用,则该备份集内的所有备份片同样不可用
注:expired不等同于obsolette。两者的差异请参考:文档

【Delete】
1、删除陈旧备份
delete obsolete; #提示
delete noprompt obsolete; #不提示
2、删除EXPIRED备份集
delete noprompt expired backup;
3、删除EXPIRED副本
delete noprompt expired copy ;
4、删除特定备份集
delete noprompt backupset 19;
5、删除特定备份片
delete noprompt backuppiece 'c:\test\demo1.bak';
6、删除所有备份集
delete noprompt backup ; 或者
delete noprompt backupset;
7、删除特定映像副本
delete noprompt datafilecopy 'c:\test\demo.bak'; 删除数据文件
delete noprompt controlfilecopy 'c:\test\controlfile_bak.ctl'; 删除控制文件
delete noprompt archivelog 'c:\test\arc.bak'; 删除归档日志
delete noprompt ?force archivelog all completed before 'sysdate - 7';
8、删除所有映像副本
delete noprompt copy;
9、在备份后删除输入对象
backup archivelog all delete input ;
backup backupset 22 format='c:\test\%u.bak' delete input ;
10、delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息。

【Report】
RMAN> report schema 报告目标数据库的物理结构;
RMAN> report need backup days=3; 报告最近3天没有被备份的数据文件;
RMAN> report need backup days 3 tablespace users; 在USERS表空间上3天未备份的数据文件;
RMAN> report need backup incremental 3; 报告恢复数据文件需要的增量备份个数超过3次的数据文件;
RMAN> report need backup redundancy 2 database; 报告备份文件低于2份的所有数据文件;
RMAN> report need backup redundancy=2;
RMAN> report need backup recovery window of 6 days; 报告文件报表的恢复需要超过6天的归档日志的数据文件;
RMAN> report unrecoverable; 报告数据库所有不可恢复的数据文件;
RMAN> report obsolete redunndancy 2; 报告备份次数超过2次的陈旧备份;
RMAN> report obsolete; 报告多余的备份;

【List】
列出数据文件备份集
RMAN> list backup 列出详细备份;
RMAN> list expired backup; 列出过期备份;
RMAN> list backup of database; 列出所有数据文件的备份集;
RMAN> list backup of tablespace user01; 列出特定表空间的所有数据文件备份集;
RMAN> list backup of controlfile 列出控制文件备份集;
RMAN> list backup of archivelog all 列出归档日志备份集详细信息;
RMAN> list archivelog all;      列出归档日志备份集简要信息
RMAN> list backup of spfile 列出SPFILE备份集;
RMAN> list copy of datafile 5 列出数据文件映像副本;
RMAN> list copy of controlfile 列出控制文件映像副本;
RMAN> list copy of archivelog all 列出归档日志映像副本;
RMAN> list incarnation of database 列出对应物/列出数据库副本;
RMAN> list backup summary; 概述可用的备份;

RMAN> list backup of datafile { n | <dir>}
RMAN> list copy of archive from time = 'sysdate - 7';
RMAN> list backup of archivelog from sequence 1000 until sequence 1020;
RMAN> list backupset tag=TAG20101014T155753;
表示backup
表示FULL
表示archive log
表示incremental backup
说明备份状态(A AVAILABLE   X EXPIRED )
MAN> list backup by file 按备份类型列出备份;
按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出

【Show】
RMAN> show all;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
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 BACKUP TYPE TO BACKUPSET; # 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 ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFORCL.ORA'; # default

RMAN configuration parameters for database with db_unique_name PRODS are:
注释:#default表示该配置仍然是初始的默认值。回到默认配置configure..clear。
1.CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
是用来决定那些备份不再需要了,它一共有三种可选项,分别是
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将恢复回默认的保持策略。
一般最安全的方法是采用第二种保持策略
其中前两种是互斥关系

2.CONFIGURE BACKUP OPTIMIZATION OFF; # default
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
理论上,备份优化仅对于只读表空间或offline表空间起作用。当然,对于已经备份过的归档日志文件也会跳过。

3.CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘DISK
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;

4.CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。
当autobackup设置为on时,rman做任何备份操作,都会自动对控制文件进行备份。

5.CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
是配置控制文件的备份路径和备份格式
比如:configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F'

6.CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
配置数据库设备类型的并行度。并行度决定通道数。

7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。
是否启动复合备份,向指定的i/o设备中指定的位置生成指定的份数。缺省为1.
这个配置仅用于数据文件和归档文件,并且,只有在自动分配通道时才会生效!

8.CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是设置数据库的归档日志的存放设备类型

9.CONFIGURE MAXSETSIZE TO UNLIMITED; # default
备份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
配置备份集的大小。一般是配置maxpiecesize,对备份片进行限制。

10.CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
配置加密备份集。可以具体到某个表空间:
configure encryption for tablespace users on;
如果我们执行set encryption on indentified by think only,紧接其后所创建的备份就需要该密码才能进行正常的恢复

11.CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
指定加密算法,还有一个是 ‘AES256'

12.CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
13.CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
指定归档文件的删除策略,缺省是none,即:归档备份完之后就可以被删除
但是,在DG环境,DBA要保证归档文件在standby端成功接收并且应用之前,primary端始终保存该文件
so,DG环境当设为:applied on standby
14.CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/CCBPROD/oracle/product/11.2.0.4/dbs/snapcf_PROD.f'; # default
配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性
另外,CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。

15.CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
是配置备份文件的备份路径和备份格式
CONFIGURE CHANNEL DISK CLEAR;用于清除上面的信道配置
CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。
1.将备份文件存储到指定路径,如e:\backupb
configure channel device type disk format 'e:\backupb\%d_db_%u';
后面的%d_db_%u是存储格式
2.我们也可以单独指定control file存储在另一个路径:如e:\backupcontrol
configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F';
后面的%F是存储格式

进入RMAN:
$ rman target sys/oracle@orcl?? --远程连接到rman
$ rman target sys/oracle@orcl @backup_db.ram?? --远程连接到rman并执行指定脚本
$ rman target sys/oracle@orcl cmdfile=backup_db.ram?? --远程连接到rman并执行指定脚本
$ rman target / log rman.log?? --记录rman的输出
RMAN> @backup_db.ram?? --rman里面执行脚本
或者
/u01/oracle/product/10/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

备份命令:
RMAN> backup database format '.../%d_%U';?? --备份数据库并指定备份路径
RMAN> backup database;?? --备份数据库
RMAN> backup database include current controlfile plus archivelog delete all input;? --备份数据文件、控制文件、归档日志
RMAN> backup incremental level 0 database;?? --差异增量备份数据库
RMAN> backup incremental level 0 cumulative database;?? --累积增量备份数据库
RMAN> backup as compressed backupset database;?? --压缩备份数据库
RMAN> backup database include current controlfile;?? --备份数据库并备份控制文件
RMAN> backup tablespace users;?? --备份表空间
RMAN> backup datafile n;?? --备份数据文件
RMAN> backup datafiel '/opt/oracle/oradata/orcl/users01.dbf';?? --备份数据文件
RMAN> backup current controlfile;?? --备份控制文件
RMAN> backup current controlfile plus archivelog;?? --备份控制文件并归档然后备份归档日志
RMAN> backup archivelog all;?? --备份归档日志
RMAN> backup archivelog all delete all input;?? --备份归档日志并删除
RMAN> backup spfile;?? --备份参数文件
RMAN> backup backupset all;?? --备份全部备份集
RMAN> backup backupset n;?? --备份指定备份集

还原、恢复命令:
RMAN> restore database;?? --还原数据库
RMAN> restore tablespace users;?? --还原表空间
RMAN> restore datafile n;?? --还原数据文件
RMAN> restore archivelog sequence between 10 and 20;?? --还原归档日志
RMAN> restore controlfile from autobackup;?? --还原控制文件
RMAN> restore spfile to '/tmp/spfile.ora' from autobackup;?? --还原参数文件
RMAN> recover database;?? --恢复数据库
RMAN> recover tablespace users;?? --恢复表空间
RMAN> recover datafile n;?? --恢复数据文件
RMAN> restore validate database;????? --验证数据库可恢复性
RMAN> restore validate controlfile;?? --验证控制文件可恢复性
RMAN> restore validate spfile;??????? --验证参数文件可恢复性

查看备份集命令:
RMAN> list backup;?? --列出数据库中所有的备份集
RMAN> list backup of database;?? --查看数据库备份集
RMAN> list backup of tablespace users;?? --查看表空间备份集
RMAN> list backup of datafile n;?? --查看备份的数据文件
RMAN> list backup of controlfile;?? --查看控制文件备份集
RMAN> list backup of archivelog all;?? --查看归档日志备份集
RMAN> list archivelog all;?? --查看当前所有归档日志
RMAN>?list expired backup;?? --列出所有无效备份

管理备份集命令:
RMAN> crosscheck backup;?? --检查所有备份集
RMAN> crosscheck archivelog all;?? --检查所有归档文件
RMAN> delete [noprompt] obsolete;?? --删除过期备份
RMAN> delete expired backup;?? --删除无效备份
RMAN> delete expired archivelog all;? --删除所有无效归档文件
RMAN> delete backupset 1;?? --删除指定备份
RMAN> delete backup;?? --删除所有备份
RMAN> change backupset 3 unavailable;?? --更改备份集3为无效
RMAN> change backupset 3 available;???? --更改备份集3为有效
RMAN> change backup of controlfile unavailable;?? --更改控制文件为无效
RMAN> change backup of controlfile available;???? --更改控制文件为有效
RMAN> report schema;?? --查看数据库备份结构
RMAN> report need backup;?? --查看所以需要备份的文件
RMAN> report need backup tablespace system;?? --查看指定表空间是否需要备份
RMAN> report obsolete;?? --查看过期备份

RMAN命令详解和常用汇总的更多相关文章

  1. Git 命令详解及常用命令

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...

  2. Oracle rman 命令详解

    一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation;    list ba ...

  3. mount命令详解及常见问题汇总

    一 .mount命令(用来挂载硬盘或镜像等) 用法:mount [-t vfstype] [-o options] device dir1.-t vfstype 指定文件系统的类型,通常不必指定.mo ...

  4. rman命令详解(三)

    1. Report 命令用户判断数据库的当前可恢复状态和提供数据库备份的特定信息1.1 指定最近没有备份的数据文件查询3天内没有备份过的表空间,可以用如下命令:RMAN> report need ...

  5. Linux perf命令详解及常用参数解析

    perf 相关命令:暂无相关命令 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找. Perf List利用perf剖析程序性能时,需要指定当前测试的性能时间.性能事件是指在 ...

  6. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  7. hbase shell基础和常用命令详解(转)

    HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...

  8. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  9. samtools常用命令详解(转)

    转自:samtools常用命令详解 samtools的说明文档:http://samtools.sourceforge.net/samtools.shtml samtools是一个用于操作sam和ba ...

随机推荐

  1. git 使用详解 (1)——历史

    版本控制系统(VCS) 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态.你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报 ...

  2. MacOS下制作linux启动盘

    在Windows下,我们经常使用软碟通来制作各种系统的启动盘,那么在MacOS下,如何做到呢?MacOS跟Linux的做法基本一致.如果你只想快速地制作好启动盘,请看下面的快速版 首先,你需要以下两样 ...

  3. python爬虫学习---爬取微软必应翻译(中英互译)

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:OSinooO 本人属于python新手,刚学习的 python爬虫基础 ...

  4. 探究 Nginx 中 reload 流程的真相

    今天这篇文章主要来介绍下 Nginx 的 reload 流程.实际上在之前文章中,在更改了 nginx 配置文件时,我们都会执行 nginx -s reload 命令,我们执行这条命令的原因是希望 n ...

  5. Bootstrap响应式栅格系统设计

    为了方便起见,我们通过1200px宽的屏幕来讲解bootstrap中container.row.col的css属性值为何这样设置的原理 在1200px屏幕中为何container的宽度设置为1170p ...

  6. JS操作document对象

    找到对象: document.getElementById():返回对拥有指定 id 的第一个对象的引用. document.getElementsByName():返回带有指定名称的对象集合. do ...

  7. C#实现在foreach遍历中删除集合中的元素(方法总结)

    目录 方法一:采用for循环,并且从尾到头遍历 方法二:使用递归 方法三:通过泛型类实现IEnumerator 在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致 ...

  8. Django 06

    目录 注意 聚合查询 分组查询 F与Q查询 orm字段和参数 自定义字段类型 事务 ACID 三大范式 开启事务 注意 只要和数据库相关的功能, 基本在 django.db.models 里面 聚合查 ...

  9. Newman

    目录 简介 安装 使用 简介 Newman是为postman而生,专门用来运行postman编写好的脚本 使用Newman,你可以很方便的用命令行来执行postman collections Newm ...

  10. IPV6技术笔记(剖析IPv4toIPv6)

    IPV6技术笔记 IPv6地址入门概念 什么是IPv6? IPv6,全称Internet Protocol version 6,即网际协议版本6,也叫互联网通信协议第六版.是互联网工程任务组(IETF ...