通过RMAN的方式不论要备份还是要恢复,都必须先启动实例并加载数据库。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
C:\Users\sunxfb>set oracle_sid=thrs
C:\Users\sunxfb>rman target dw/*
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 9月 21 21:25:39 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
一、连接本地数据库
C:\Users\sunxfb>set oracle_sid=thrs
C:\Users\sunxfb>rman target dw/*
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 9月 21 21:31:53 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: THRS (DBID=4230982961)
注:如果本地库只有一个实例,则不需要指定oracle_sid。Rman会自动连接到默认实例。
当然,你也可以先启动rman,然后再通过connect来连接目标数据库,如下:
C:\Users\sunxfb>rman
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 9月 21 21:33:35 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target dw/*
连接到目标数据库: THRS (DBID=4230982961)
二、连接远程数据库
如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。示例如下:
C:\Documents and Settings\Administrator>rman target sys/change_on_install@testdb
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: TESTDB (DBID=2220262593)
RMAN>
当然,在这里你也可以同样先启动rman,再通过connect创建连接。具体示例与上类似,如果再做演示那这个环节不仅是弱,而是超弱,即使坚定如我也承受不了如此强烈的呕吐加鄙视的欲望,所以还是做罢吧。
三、退出RMAN
命令行键入exit
启动rman时可以指定日志输出,之前的示例中均没有指定,rman就将执行结果直接打印到屏幕了,如果我们以后写了一堆超长的rman批处理放在后台执行,可能会希望能够把执行日志记录下来备查,这个时候日志输出功能就用上了。这个功能也非常简单,如下:
C:\Documents and Settings\Administrator>rman target / log d:\logs\rman_log.txt
RMAN>
rman会将执行的结果直接输出到指定的d:\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。