RMAN 非常有意思,做为一个专业的备份工具,它几乎考虑到了备份及恢复过程中可能遇到的各种操作,由此它也提供了各种各样的命令来为这些操作提供便利。
在RMAN中执行关闭和启动数据库的命令与sql环境下一模一样。当然,在执行之前,你需要先连接到目标数据库,如例:
C:\DocumentsandSettings\Administrator>rmantarget/ 恢复管理器:版本9.2.0.1.0-Production Copyright(c)1995,2002,OracleCorporation.Allrightsreserved. 连接到目标数据库:JSSWEB(DBID=3391142503) RMAN>shutdownimmediate 正在使用目标数据库控制文件替代恢复目录 数据库已关闭 数据库已卸载 Oracle 例程已关闭 RMAN>startup 已连接到目标数据库(未启动) Oracle 例程已启动 数据库已加载 数据库已打开 系统全局区域总计143727516字节 FixedSize453532 字节 VariableSize109051904 字节 DatabaseBuffers33554432 字节 RedoBuffers667648 字节 RMAN>
当然,你也可以执行startupmount,然后再利用alterdatabaSEOpen命令打开数据库以及shutdownnormal,shutdownabort等。总之启动和关闭的命令跟sql环境下相比,完全一模一样。
二、执行操作系统命令
Rman 支持通过执行host命令暂时退出rman的命令提示符而进入到操作系统的命令环境,如下例:
RMAN>host; MicrosoftWindows[ 版本5.2.3790] (C) 版权所有1985-2003MicrosoftCorp. C:\DocumentsandSettings\Administrator>cd\ C:\>exit 主机命令完成 RMAN>
执行完系统命令后可以再通过执行exit退出到rman命令提示符下。
三、执行sql语句
在rman中执行sql语句稍嫌复杂。
在RMAN的命令提示符后输入sql命令,然后在一对单引号(双引号亦可)中输入要执行的sql语句,例如:
RMAN> sql¨ALTERSYSTEMARCHIVELOGALL¨ ;
需要注意的一点是,rman 中的sql环境不能执行SELECT语句,或者说执行不报错,但你也看不到结果。
其实我们完全可以通过更取巧的方式来实现更强大的sql操作,比如利用第二项介绍的内容,如下:
RMAN>host; MicrosoftWindows[ 版本5.2.3790] (C) 版权所有1985-2003MicrosoftCorp. C:\DocumentsandSettings\Administrator>sqlplus/nolog sql*Plus:Release9.2.0.1.0-Productionon 星期四6月2817:40:242007 Copyright(c)1982,OracleCorporation.Allrightsreserved. sql>conn/assysdba 已连接。 sql>selectsysdatefromdual; SYSDATE ---------- 28-6 月-07 sql>exit 从Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production WiththePartitioning,OLAPandOracleDataMiningoptions JServerRelease9.2.0.1.0-Production 中断开 C:\DocumentsandSettings\Administrator>exit 主机命令完成 RMAN>
四、定义RMAN配置
RMAN 中具有一系列的默认配置,这些配置决定了备份和恢复时的一些选项(此节内容枯燥,眼神不好的同学请自觉跳过),比如:
修改配置是通过 CONFIGURE 命令 ,具体用法非常简单,但由于可供configure的配置非常之多,这里不做详细介绍,在后续实际演练章节中会有体现。当然,有心的朋友也可以通过google搜索一下,更有耐心的新友就等着看俺写的外传。
五、显示RMAN默认配置
Rman 中可以利用show命令来显示当前的配置参数。例如,通过SHOW ALL显示当前所有的配置。
RMAN>showall; RMAN 配置参数为: CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF3DAYS; CONFIGUREBACKUPOPTIMIZATIONOFF;#default CONFIGUREDEFAULTDEVICETYPETODISK;#default CONFIGURECONTROLFILEAUTOBACKUPON; CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO¨d:/backup/%F¨; CONFIGUREDEVICETYPEDISKPARALLELISM1;#default CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default CONFIGUREMAXSETSIZETOUNLIMITED;#default CONFIGURESNAPSHOTCONTROLFILENAMETO¨F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA¨;# default RMAN>
注:配置项后面跟了#default的表示该项仍是初始配置,未被修改过。
该命令使用也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:
SHOWCHANNEL; SHOWDEVICETYPE; SHOWDEFAULTDEVICETYPE;
六、列出备份信息
LIST 命令用来查看通过RMAN生成的备份信息,照我看来,这个应用应该会非常少,大家了解即可。例如:
RMAN> LISTBACKUPOFDATABASE;
列出指定表空间的备份信息:
RMAN> LISTCOPYOFTABLESPACE¨SYSTEM¨;
列出指定数据文件的备份信息:
RMAN> LISTBACKUPOFDATAFILE¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;
七、删除备份
用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RMAN资料库中生成RMAN备份记录,并且RMAN备份记录被存放在目标数据库的控制文件中,如果配置了恢复目录,那么该备份记录也会被存放到恢复目录中。
1 、删除陈旧备份
当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。
RMAN> deleteobsolete ;
2 、删除EXPIRED备份
执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行deleteexpiredbackup命令。
RMAN> deleteexpiredbacku p;
3 、删除EXPIRED副本
RMAN> deleteexpiredcopy ;
4 、删除特定备份集
RMAN> deletebackupset19 ;
5 、删除特定备份片
RMAN> deletebackuppiece¨d:\backup\DEMO_19.bak¨ ;
6 、删除所有备份集
RMAN> deletebackup ;
7 、删除特定映像副本
RMAN> deletedatafilecopy¨d:\backup\DEMO_19.bak¨ ;
8 、删除所有映像副本
RMAN> delete copy;
9 、在备份后删除输入对象
RMAN> deletearchivelogalldeleteinput ; RMAN>deletebackupset22format=¨¨d:\backup\%u.bak¨¨deleteinput;