表空间被用户删除,但之前有完整备份;同时数据库中存在只读表空间。这种情况下如何恢复呢?
不完全恢复事例一
——恢复被删除表空间
表空间TEST被删除,利用控制文件的备份进行恢复,因数据库中存在只读表空间,所以在进行恢复前,要将只读表空间OFFLINE。
下面是ALERT查看到的表空间被删除的时间记录
Mon Sep 24 13:11:33 2007
Completed: drop tablespace test including contents
基于上面情况,对数据库进行恢复。用RMAN连接目标、恢复数据库
RMAN> run
2> {
3> set until time '2007/09/24 13:10:49';
4> sql 'alter tablespace wyj offline';
5> shutdown immediate;
6> startup nomount;
7> restore controlfile;
8> sql 'alter database mount';
9> restore database ;
10> recover database;
11> sql 'alter database open resetlogs';
12> }
下面是恢复过程
正在执行命令: SET until clause
正在启动全部恢复目录的 resync
完成全部 resync
sql 语句: alter tablespace wyj offline
数据库已关闭
数据库已卸载
Oracle 实例已关闭
已连接到目标数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 524288000 字节
Fixed Size 1249968 字节
Variable Size 188747088 字节
Database Buffers 331350016 字节
Redo Buffers 2940928 字节
启动 restore 于 2007/09/24 13:15:00
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=156 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=155 devtype=DISK
分配的通道: ORA_DISK_4
通道 ORA_DISK_4: sid=154 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 正在读取备份段 F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
DBBACKUPSET2007_09_24O1_MF_NCNNF_TAG20070924T130749_3HGKMJWC_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_2
O1_MF_NCNNF_TAG20070924T130749_3HGKMJWC_.BKP 标记 = TAG20070924T130749
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
输出文件名=F:ORACLEPRODUCT10.2.0ORADATAORCDBCONTROL03.CTL
输出文件名=F:ORACLEPRODUCT10.2.0ORADATAORCDBCONTROL01.CTL
输出文件名=F:ORACLEPRODUCT10.2.0ORADATAORCDBCONTROL02.CTL
完成 restore 于 2007/09/24 13:15:07
sql 语句: alter database mount
释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
释放的通道: ORA_DISK_3
释放的通道: ORA_DISK_4
启动 restore 于 2007/09/24 13:15:50
启动 implicit crosscheck backup 于 2007/09/24 13:15:50
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=154 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=155 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=156 devtype=DISK
分配的通道: ORA_DISK_4
通道 ORA_DISK_4: sid=157 devtype=DISK
已交叉检验的 17 对象
已交叉检验的 7 对象
完成 implicit crosscheck backup 于 2007/09/24 13:16:12
启动 implicit crosscheck copy 于 2007/09/24 13:16:12
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
使用通道 ORA_DISK_4
完成 implicit crosscheck copy 于 2007/09/24 13:16:24
搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_24
O1_MF_NCNNF_TAG20070924T130749_3HGKMJWC_.BKP
文件名: F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_24
O1_MF_NNNDF_TAG20070924T130749_3HGKK86Y_.BKP
文件名: F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_24
O1_MF_NNNDF_TAG20070924T130749_3HGKKJXK_.BKP
文件名: F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_24
O1_MF_NNNDF_TAG20070924T130749_3HGKKR1F_.BKP
文件名: F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_24
O1_MF_NNSNF_TAG20070924T130749_3HGKMM18_.BKP
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
使用通道 ORA_DISK_4
未处理数据文件 7, 因为文件是只读的
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBUSERS_A.DBF
正将数据文件00006恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBMYUNDOA.DBF
通道 ORA_DISK_1: 正在读取备份段 F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
DBBACKUPSET2007_09_24O1_MF_NNNDF_TAG20070924T130749_3HGKKC80_.BKP
通道 ORA_DISK_2: 正在开始恢复数据文件备份集
通道 ORA_DISK_2: 正在指定从备份集恢复的数据文件
正将数据文件00003恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBSYSAUX01.DBF
通道 ORA_DISK_2: 正在读取备份段 F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
DBBACKUPSET2007_09_24O1_MF_NNNDF_TAG20070924T130749_3HGKKJXK_.BKP
通道 ORA_DISK_3: 正在开始恢复数据文件备份集
通道 ORA_DISK_3: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBUNDOTBS2A.DBF
正将数据文件00005恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBEXAMPLE01.DBF
通道 ORA_DISK_3: 正在读取备份段 F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
DBBACKUPSET2007_09_24O1_MF_NNNDF_TAG20070924T130749_3HGKKR1F_.BKP
通道 ORA_DISK_4: 正在开始恢复数据文件备份集
通道 ORA_DISK_4: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBSYSTEM01.DBF
正将数据文件00008恢复到F:ORACLEPRODUCT10.2.0ORADATAORCDBTESTA.DBF
通道 ORA_DISK_4: 正在读取备份段 F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
DBBACKUPSET2007_09_24O1_MF_NNNDF_TAG20070924T130749_3HGKK86Y_.BKP
通道 ORA_DISK_3: 已恢复备份段 1
段句柄 = F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_2
O1_MF_NNNDF_TAG20070924T130749_3HGKKR1F_.BKP 标记 = TAG20070924T130749
通道 ORA_DISK_3: 恢复完成, 用时: 00:01:19
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_2
O1_MF_NNNDF_TAG20070924T130749_3HGKKC80_.BKP 标记 = TAG20070924T130749
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:29
通道 ORA_DISK_2: 已恢复备份段 1
段句柄 = F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_2
O1_MF_NNNDF_TAG20070924T130749_3HGKKJXK_.BKP 标记 = TAG20070924T130749
通道 ORA_DISK_2: 恢复完成, 用时: 00:01:28
通道 ORA_DISK_4: 已恢复备份段 1
段句柄 = F:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCDBBACKUPSET2007_09_2
O1_MF_NNNDF_TAG20070924T130749_3HGKK86Y_.BKP 标记 = TAG20070924T130749
通道 ORA_DISK_4: 恢复完成, 用时: 00:02:12
完成 restore 于 2007/09/24 13:19:09
启动 recover 于 2007/09/24 13:19:14
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
使用通道 ORA_DISK_4
未处理数据文件 7, 因为文件是只读的
正在开始介质的恢复
存档日志线程 1 序列 1 已作为文件 F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B
LOG 存在于磁盘上
存档日志文件名 =F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG 线程 =1 序列
=1
介质恢复完成, 用时: 00:00:04
完成 recover 于 2007/09/24 13:19:33
sql 语句: alter database open resetlogs
下面验证恢复过程
WYJ @ orcdb > select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
UNDOTBS2 ONLINE
EXAMPLE ONLINE
MYUNDO ONLINE
WYJ READ ONLY
TEST ONLINE
看到被删除的表空间已恢复成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/526592/viewspace-236754/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/526592/viewspace-236754/