`
peter.lee
  • 浏览: 11595 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

转:RMAN常用命令

 
阅读更多
该文对RMAN的命令写得很精华,故转.

转自:http://space.itpub.net/24558279/viewspace-734740

常用的命令和操作:
1、backup和COPY
2、list
3、delete 和crosscheck
4、change
5、rman>report schema; --查看数据库有哪些表空间和数据文件
6、备份脚本
7、执行SQL语句(rman中的sql环境不能执行SELECT语句)
8、RMAN备份相关的动态性能表

1、backup和copy
backup 逻辑物理备,基于块级别的备份,已经使用过的块--热点块
备份格式
backup spfile;
backup current controlfile;
backup datafile 4;
backup tablespace users,sysaux;
backup archivelog sequence between ## and ##;
backup archivelog sequence between ## and ## delete input;
backup archivelog all;
-------------------------------------------------------
BACKUP DATABASE PLUS ARCHIVELOG;
  则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:
  1>.运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档。
  2>.执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。
  3>.执行BACKUP命令对指定项进行备份。
  4>.再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档。
  5>.对新生成的尚未备份的归档文件进行备份。
------------------------------------------------------
backup archivelog all delete input;   备份之后删除归档目录下的所有归档日志。
backup full database plus archivelog  全库加归档日志备份
backup database skip readonly   还可以跳过不备份readonly的文件,同样可以跳过OFFLINE 等等
backup database;  备份参数文件,控制文件,所有数据文件,不备份联机日志,归档日志可以备份。
全库备份时候,要注意数据文件必须是online 和read write的,不然会提示不能备份
backup as compressed backupset full database; 备份时压缩备份集
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
(备份system表空间或者备份database时,备份成功后回将控制文件也自动备份出来)
sql>show parameter db_rec 定义闪回区的目录
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                 /oracle//flash_recovery_area
db_recovery_file_dest_size           big integer            2G
db_recycle_cache_size                big integer            0

压缩备份集:
backup as compressed backupset tablespace users;
backup as compressed backupset database plus archivelog;
增量备份:(0 ~ 4)
backup incremental level 0 tablespace users;
backup incremental level 1 tablespace users;
backup incremental level 2 tablespace users;
backup incremental level 2 cumulative tablespace users;
-----------------------------------------------------------------------
补充点内容:
块跟踪(10g):记录自从上一次备份以来数据块的变化,相关后台进程CTWR(Change Tracking Writer)
改善增量备份性能,RMAN可以不再扫描整个文件以查找变更数据
查询是否启用块跟踪
col FILENAME for a40
select filename,status,bytes from v$block_change_tracking;
启用块跟踪
alter database enable block change tracking using '/home/oracle/block_track/orcl_block_track.log';
禁用块跟踪
alter database disable block change tracking;
修改块修改跟踪文件路径:
mount
目标文件要存在
alter database rename file '' to '';
并行备份:(使用rman语句块)
backup datafile 4,5;
-----------------------------------------------------------------------
copy 物理备
copy current controlfile to '';    物理备份   一般不用
copy datafile 4 to '';

2、list
list backup
list backup of database summary;
查看镜像拷贝:
list copy;
list copy of datafile 4;
list copy of controlfile;
查看创建的脚本:list script. names;


3、delete 和crosscheck
  1、删除陈旧备份
  当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。    
  RMAN> delete obsolete;
  
  2、删除EXPIRED备份
  执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete expired backup命令。    
  RMAN> delete expired backup;
  
  3、删除EXPIRED副本
  RMAN> delete expired copy;
  
  4、删除特定备份集
  RMAN> delete backupset 19;
  
  5、删除特定备份片
  RMAN> delete backuppiece 'd:backupDEMO_19.bak';
  
  6、删除所有备份集
  RMAN> delete backup;
  
  7、删除特定映像副本
  RMAN> delete datafilecopy 'd:backupDEMO_19.bak';
  
  8、删除所有映像副本
  RMAN> delete copy;
  
  9、在备份后删除输入对象
  RMAN> delete archivelog all delete input;
  RMAN> delete backupset 22 format = ''d:backup%u.bak'' delete input;
检测备份存在、正常否:  正常的是available  不存在的显示:expired 过期
crosscheck copy;
crosscheck archivelog all;
crosscheck backup;
删除不可用的备份集
delete expired backup,配合crosscheck backup;使用
delete noprompt expired backup   不需要交互模式
删除拷贝:
delete copy;
delete datafilecopy '/home/oracle/rmanbk/users01.dbf';
删除备份集:
delete backupset 1,2,3;
delete backup;
删除陈旧的备份:(由备份保留策略参数决定) 比如定义为10天,
delete obsolete;和report obsolete 配合使用
  如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。
  如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。
delete obsolete redundance=3;
参数定义:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;  建议用保留的时间
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 这个冗余度参数,不建议用

校验备份和还原的可行行:
backup validate database;
validate backupset 10;
restore tablespace users validate;

4、change
change backupset 140 unavilable;

6、备份脚本:
run{
allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
backup
(datafile 4 channel c1)
(datafile 5 channel c2);
delete noprompt obsolete;
}
控制备份片大小:
run{
allocate channel c1 type disk maxpiecesize=50m;
backup tablespace users format '/home/oracle/rmanbk/%s_%p.bkp';
}
控制备份集数量:控制
run{
allocate channel c1 type disk maxpiecesize=100m;
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
backup format '/backup/%d_%I_%e_%s_%p_%T_%t.bkp' archivelog all delete input;
delete noprompt obsolete;
}
backup database not backed up format '';

backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;

创建脚本:  查看本地脚本:list script. names;必需要有catalog库
create script. r1{
allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
backup
(datafile 4 channel c1)
(datafile 5 channel c2);
delete noprompt obsolete;
}
执行脚本,必需放在run{} 里面:
rman>run{
rman>excute script. r1;
rman>}
删除脚本,rman>delete script. r1;
打印命令:rman>print script. r1;
编辑脚本:先保存rman>print script. r1 to '/oracle/..txt';
编辑之后再替换:rman>replace script. r1 from '/oracle/...txt'

全局脚本: 可以适合任何target数据库
create global script. r1{
。。。。。。。
}
执行:
rman>run{
rman>excute global script. r1;
rman>}
RMAN命令执行方式:
  在进入演练之前,大家还有必要了解运行rman命令的方式,就目前已知的情况,共有4种运行方式。
  1、单个执行(没啥说的,之前的示例都是这种方式)
  RMAN>backup database;
  
  2、批处理(呵呵,跳票的补上)
  RMAN>RUN{
  .......................
  .......................
  }
  批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行,即失败命令后的其它命令都不会再被执行。这种方式是最常使用的方式,特别对于后台执行。
  3、运行脚本(又能细分为几种方式如下:)
  C:>rman TARGET / @backup_db.rman
  RMAN> @backup_db.rman
  RMAN> RUN { @backup_db.rman }
  运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录)
  RMAN> RUN { EXECUTE SCRIPT. backup_whole_db };
  看看,够灵活吧。
  4、操作系统脚本(linux,windows环境下小有差异,但只是操作系统命令的不同)
  C:>rman cmdfile=backup_db.rman
明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。

7、执行SQL语句(rman中的sql环境不能执行SELECT语句)
  RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG ALL';


8、RMAN备份相关的动态性能表
  V$ARCHIVED_LOG:本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。
  V$BACKUP_CORRUPTION:这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。
  V$COPY_CORRUPTIO:本视图显示了哪些镜像复制备份文件已经被损坏。
  V$BACKUP_DATAFILE:本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。
  V$BACKUP_REDOLOG:本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。
  V$BACKUP_SET:本视图显示了已经创建的备份集的信息。
  V$BACKUP_PIECT:本视图显示了已经创建的备份片段的信息。
可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息:
Select sid,
       serial#,
       context,
       sofar,
       totalwork,
       round(sofar / totalwork * 100, 2) "% Complete"
  From v$session_longops
where opname like 'RMAN:%'
   and opname not like 'RMAN:aggregate%'
通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息:
Select sid,spid,client_info from v$process p,v$session s where p.addr=s.paddr and client_info like '%id=rman%'
分享到:
评论

相关推荐

    RMAN常用命令

    RMAN常用命令

    RMAN常用命令集合

    学习RMAN的朋友们知道,有各种命令,很难记住,有时就忘了!有了这个我总结的文档,当您忘了的话,打开它就能快速找到您需要的命令!

    RMAN常用命令维护

    本文讲诉了 RMAN特点 RMAN命令 配置RMAN环境等等内容

    ORACLE RMAN常用操作命令指导手册

    ORACLE RMAN 常用 操作 命令 指导 维护 管理手册

    rman官方常用命令

    共享ORACEL大师相公的心血精华,整理了平常用的RAMN所有命信,对一些工作上可以直接拿过来就用的

    详解rman常用的命令及日常维护

    详解rman常用的命令及日常维护,包括rman的作用,rman的体系架构,nocatalog和catalog介绍与catalog配置,catalog恢复目录的配置过程,在恢复目录中添加rman 备份,升级的问题,rman全备案例

    RMAN 维护命令.doc

    RMAN 维护命令.doc 还不错! 常用的 下吧 下吧

    RMAN备份与恢复

    第二篇 RMAN常用命令 1 2.1 启动、关闭数据库 1 2.2 执行操作系统命令 2 2.3 执行SQL语句 2 2.4 显示RMAN默认配置 2 2.5 列出备份信息 3 2.6 删除备份 3 第三篇 RMAN备份基础 4 3.1 RMAN备份形式 4 3.2 RMAN命令执行...

    rman配置及rman常用命令操作

    主要介绍了rman配置及rman常用命令操作,包括校验备份信息、查看备份、删除备份等,需要的朋友可以参考下

    使用RMAN进行备份和恢复的常用命令介绍

    本文介绍了使用RMAN进行备份和恢复的常用命令。

    RMAN参考手册.pdf

    介绍RMAN配置,RMAN备份恢复,控制文件备份恢复,数据文件备份恢复,参数文件备份恢复,日志文件备份恢复,RMAN常用命令

    rman常用参数及命令详解.docx

    详细的介绍了Oracle Rman的参数,包括登陆、备份、恢复等

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    RMAN测试演练即讲解

    备注:常用的查看权限视图 select * from dba_users where username='SYSTEM' select * from dba_role_privs where grantee='SYSTEM'; select * from v$pwfile_users; ii 用sys用户授予system用户sysdba权限(其实是...

    rman恢复管理器学习笔记

    rman恢复管理器学习笔记,欢迎下载学习。笔记包含理论知识和常用恢复管理命令。

    RMAN 提示符下执行SQL语句

    本文描述了RMAN提示符下的一些常用命令及其用法。  1、RMAN提示符下执行SQL语句  语法: SQL '<command>' ;  语法比较简单,是提示符下输入SQL,后接SQL命令,命令用单引号括起来  command 通常为可执行...

    oracle_rman增量备份脚本

    Oracle增量备份,最常用的技术,用于数据库性能提高,很多厂家都需要。这是一项DBA最基本的技术,阅读此文档需要掌握shell的基础知识,oracle的基本命令

    Oracle_RMAN_详解与实例

    Oracle_RMAN_详解与实例 1. 检查数据库模式: 2.连接到target数据库 3.用list backupset 命令查看有没有备份的东西 4. 常用备份命令: .......

    Oracle RMAN快速入门指南

    前言: 这篇文章主要介绍RMAN的常用方法,其中包含了作者一些自己的经验,里面的实验也基本全在WIN 2K和ORACLE 8.1.6环境下测试成功(因为这个环境比较容易实现)。 本文借鉴了网上一些高手的相关文章,希望大侠们...

Global site tag (gtag.js) - Google Analytics