这个情况平时很难见到,不会全部丢失掉。现在我们来模拟一下,该怎么恢复。
1)先对非归档模式下的数据库做一个全备份,这里就不在演示了,具体参见前文。
2)创建一个表并插入数据
SQL> create table test123 as select * from dba_segments;
表已创建
3)下面来模拟丢失数据文件的恢复
我将user01.dbf文件剪切到另一个目录,启动数据库就会报错,如下:
SQL> startup;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。
Total System Global Area 1670221824 bytes
Fixed Size 2176328 bytes
Variable Size 1291848376 bytes
Database Buffers 369098752 bytes
Redo Buffers 7098368 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'D:\APP\CHJAYHSX\ORADATA\ORCL\USERS01.DBF'
4)此时,数据库处于MOUNT 状态,使用RMAN恢复该数据文件
C:\Users\chjayhsx>rman target rman/rman
恢复管理器: Release 11.2.0.1.0 - Production on 星期四 9月 10 22:33:40 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1403596886, 未打开)
RMAN> restore datafile 4;
启动 restore 于 10-9月 -15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\CHJAYHSX\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\APP\CHJAYHSX\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2015_09_10\O1_M
F_NNNDF_TAG20150910T221025_BZ33TKQR_.BKP
通道 ORA_DISK_1: 段句柄 = D:\APP\CHJAYHSX\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2015_09_10\O1_MF_NNNDF_
TAG20150910T221025_BZ33TKQR_.BKP 标记 = TAG20150910T221025
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 10-9月 -15
5)恢复数据文件
RMAN> recover datafile 4;
启动 recover 于 10-9月 -15
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 10-9月 -15
注意:如果重做日志组被覆盖,那么recovery datafile 命令可能会失败,那么可用以下命令实现不完全恢复
SQL>RECOVER DATAFILE 4 UNTIL CALCEL
6)启动数据库
SQL> alter database open;
数据库已更改。
1)先对非归档模式下的数据库做一个全备份,这里就不在演示了,具体参见前文。
2)创建一个表并插入数据
SQL> create table test123 as select * from dba_segments;
表已创建
3)下面来模拟丢失数据文件的恢复
我将user01.dbf文件剪切到另一个目录,启动数据库就会报错,如下:
SQL> startup;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。
Total System Global Area 1670221824 bytes
Fixed Size 2176328 bytes
Variable Size 1291848376 bytes
Database Buffers 369098752 bytes
Redo Buffers 7098368 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'D:\APP\CHJAYHSX\ORADATA\ORCL\USERS01.DBF'
4)此时,数据库处于MOUNT 状态,使用RMAN恢复该数据文件
C:\Users\chjayhsx>rman target rman/rman
恢复管理器: Release 11.2.0.1.0 - Production on 星期四 9月 10 22:33:40 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1403596886, 未打开)
RMAN> restore datafile 4;
启动 restore 于 10-9月 -15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\CHJAYHSX\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\APP\CHJAYHSX\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2015_09_10\O1_M
F_NNNDF_TAG20150910T221025_BZ33TKQR_.BKP
通道 ORA_DISK_1: 段句柄 = D:\APP\CHJAYHSX\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2015_09_10\O1_MF_NNNDF_
TAG20150910T221025_BZ33TKQR_.BKP 标记 = TAG20150910T221025
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 10-9月 -15
5)恢复数据文件
RMAN> recover datafile 4;
启动 recover 于 10-9月 -15
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 10-9月 -15
注意:如果重做日志组被覆盖,那么recovery datafile 命令可能会失败,那么可用以下命令实现不完全恢复
SQL>RECOVER DATAFILE 4 UNTIL CALCEL
6)启动数据库
数据库已更改。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30430420/viewspace-1796812/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30430420/viewspace-1796812/