## 一、運行要求
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社區:[http://www.pdmcn.com/bbs](http://www.pdmcn.com/bbs),? oracle QQ群:60632593、60618621
推薦Oracle技術資料:《Oracle 9i RMAN參考使用手冊》、《ORACLE10G備份與恢復》、《Oracle Database 10gRMAN備份與恢復》