RMAN> Recover datafile 7;
from dba_tablespaces ts, dba_data_files df, dba_temp_files tf
and ts.tablespace_name = tf.tablespace_name(+)
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0 .1.0 - Production on 星期三 7 月 18 10:17:44 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn jss/jss
已连接。
SQL> create table tmp3(col varchar2(50));
###### 创建一个临时表并插入一些数据
表已创建。
SQL> insert into tmp3 values ('test1');
已创建 1 行。
SQL> insert into tmp3 values ('test2');
已创建 1 行。
SQL> insert into tmp3 values ('test3');
已创建 1 行。
SQL> select *from tmp3;
COL
--------------------------------------------------
test1
test2
test3
SQL> commit;
提交完成。
SQL> conn / as sysdba #### 已 dba 用户连接并关闭数据库
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del F:\OraHome1\oradata\jssweb\jweb.ora
###### 手动删除数据文件
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 143727516 bytes
Fixed Size 453532 bytes
Variable Size 109051904 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识 / 锁定数据文件 10 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 10: 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA'
####### 看看,启动报错了吧
SQL> select instance_name,status from v$instance;
####### 看看当前数据库状态,应该是处于 mount
INSTANCE_NAME STATUS
---------------- ------------
jssweb MOUNTED
OK, 下面该 RMAN 出马了。
SQL>exit
C:\Documents and Settings\Administrator>set oracle_sid=jssweb
C:\Documents and Settings\Administrator>rman target /
恢复管理器 : 版本 9.2.0 .1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库 : JSSWEB (DBID=3391142503)
RMAN> restore datafile 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA';
#### 首先修复数据文件。 是不是有疑问,为什么不像上面第三节讲的那样先将该数据文件置为脱机,笨啊你,数据库都没打开,脱什么机啊,整个数据库现在都是脱机的。
启动 restore 于 18-7 月 -07
正在使用目标数据库控制文件替代恢复目录
分配的通道 : ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件 00010 恢复到 F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:\BACKUP\1AIN4JU5_1_1 tag=TAG20070718T092837 params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 18-7 月 -07
RMAN> recover datafile 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA';
######## 恢复数据文件
启动 recover 于 18-7 月 -07
使用通道 ORA_DISK_1
正在开始介质的恢复
完成介质的恢复
完成 recover 于 18-7 月 -07
RMAN> alter database open; ######## 看起来很顺利,打开数据库看看
数据库已打开
RMAN> host;
Microsoft Windows [ 版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus jss/jss #### 连到该用户
SQL*Plus: Release 9.2.0 .1.0 - Production on 星期三 7 月 18 10:33:50 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到 :
Oracle9i Enterprise Edition Release 9.2.0 .1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0 .1.0 - Production
SQL> select *from tmp3; ######查询我们备份后创建的表
COL
--------------------------------------------------
test1
test2
test3
#######yeah, 成功恢复,没有数据丢失。