RMAN命令详解和常用汇总
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命令详解和常用汇总的更多相关文章
- Git 命令详解及常用命令
Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...
- Oracle rman 命令详解
一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation; list ba ...
- mount命令详解及常见问题汇总
一 .mount命令(用来挂载硬盘或镜像等) 用法:mount [-t vfstype] [-o options] device dir1.-t vfstype 指定文件系统的类型,通常不必指定.mo ...
- rman命令详解(三)
1. Report 命令用户判断数据库的当前可恢复状态和提供数据库备份的特定信息1.1 指定最近没有备份的数据文件查询3天内没有备份过的表空间,可以用如下命令:RMAN> report need ...
- Linux perf命令详解及常用参数解析
perf 相关命令:暂无相关命令 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找. Perf List利用perf剖析程序性能时,需要指定当前测试的性能时间.性能事件是指在 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- hbase shell基础和常用命令详解(转)
HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...
- Git 常用命令详解(二)
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- samtools常用命令详解(转)
转自:samtools常用命令详解 samtools的说明文档:http://samtools.sourceforge.net/samtools.shtml samtools是一个用于操作sam和ba ...
随机推荐
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
一.什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...
- Java修炼——FileInputStream和FileOutputStream
文件字节流FileInputStream是读文件内容 有一下五个方法 1) abstract int read( ); 2) int read( byte b[ ] ); 3) int read( b ...
- Orleans 配置端口的一些坑
Orleans的配置有点乱的 整理了下 .Configure<EndpointOptions>(options => { //这里的IP决定了是本机 还是内网 还是公网 option ...
- .net core 在服务端限制文件下载速度(传输速度)
public IActionResult GetFile() { MyFileStream readStream = new MyFileStream(@"XXX/A.XX", F ...
- C语言每日一练——第5题
一.题目要求 选出大于100小于1000的所有个位数与十位数字之和被10除所得余数恰好是百位数字的所有数字(如293).计算并输出上述这些素数的个数cnt以及这些素数值得sum,最后把结果cnt和su ...
- php使用phpqrcode生成二维码
前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/2.PHP环境必须开启支持GD2扩展库支持(一般情况下都是 ...
- python同步IO编程——基本概念和文件的读写
IO——Input/Output,即输入输出.对于计算机来说,程序运行时候数据是在内存中的,涉及到数据交换的地方,通常是磁盘.网络等.比如通过浏览器访问一个网站,浏览器首先把请求数据发送给网站服务器, ...
- Idea集成及使用svn插件
1 idea集成svn 1.1 svn是什么? SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资 ...
- C#开发微信小程序(四)
导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...
- c代码中while循环的一个死机问题引发的思考
前记 c语言已经是一门经常吃饭的本领,本来是要有种看一眼,就知道哪儿出问题了才行,没想到,遇到实际问题的时候,才知道自己的修为不到家.还没有达到那种炉火纯青的境界.看来,不是这个世界没有机会,是自 ...