一、运行要求
1、进程与内存要求
更多的进程的需要
大池的分配
2、基本环境变量需求
ORACLE_SID, ORACLE_HOME, PATH, NLS_LANG, 如果用到了基于时间的备份与恢复,需要另外设置NLS_DATE_FORMAT
3、权限要求
需要SYSDBA系统权限
如果是本地,可以采用OS认证,远程需要采用密码文件认证
4、版本要求
RMAN 工具版本与目标数据库必须是同一个版本,如果使用了恢复目录,还需要注意
·创建RMAN 恢复目录的脚本版本必须等于或大于恢复目录所在数据库的版本
·创建RMAN 恢复目录的脚本版本必须等于或大于目标数据库的版本
二、基本运行方法
9i默认是nocatalog,不使用恢复目录,使用命令rman即可进入RMAN 的命令行界面,如
[oracle@db oracle]$ $ORACLE_HOME/bin/rman Recovery Manager: Release 9.2.0.4.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. RMAN>
连接目标数据库,可以用如下类似命令
RMAN>Connect target /
三、如何运行RMAN 命令
1、单个执行
RMAN>backup database;
2、运行一个命令块
RMAN> run { 2> copy datafile 10 to 3> '/oracle/prod/backup/prod_10.dbf'; 4> }
3、运行脚本
$ rman TARGET / @backup_db.rman RMAN> @backup_db.rman RMAN> RUN { @backup_db.rman }
运行存储在恢复目录中的脚本
RMAN> RUN { EXECUTE SCRIPT backup_whole_db };
4、SHELL脚本,如果在cron中执行,注意设置正确的环境变量在脚本中
[oracle@db worksh]$ more rmanback.sh #!/bin/ksh #set env export ORACLE_HOME=/opt/oracle/product/9.2 export ORACLE_SID=test export NLS_LANG="AMERICAN_AMERICA.zhs16gbk" export PATH=$PATH:$ORACLE_HOME/bin echo "-----------------------------start-----------------------------";date #backup start $ORACLE_HOME/bin/rman < connect target delete noprompt obsolete; backup database format '/netappdata1/rmanback/tbdb2/%U_%s.bak' filesperset = 2; exit; EOF echo "------------------------------end------------------------------";date
推荐Oracle技术资料:《Oracle 9i RMAN参考使用手册》、《ORACLE10G备份与恢复》、《Oracle Database 10gRMAN备份与恢复》