【发布时间】:2019-09-03 16:18:08
【问题描述】:
我有用于测试人员的 oracle DB 11g,一名初级 DBA 错误地从操作系统中删除了一个系统表空间文件,并且数据库处于非归档模式,我尝试在挂载模式下重新创建文件并恢复数据库,但由于没有归档日志。 如果我有数据文件和控制文件的文件系统备份,我可以从中恢复数据库。或者只是使用旧的控制文件将数据库恢复到创建该删除的系统数据文件之前的较早点?
我尝试先使其脱机,然后尝试重新创建它,但第一步它告诉我文件已脱机并且数据库无法启动,而对于第二种方法,它要求我恢复我无法恢复的数据文件,因为无存档模式 .
1-更改数据库数据文件'/data/oradata/umiasdb/users55.dbf' 离线删除;
ORA-01147: SYSTEM 表空间文件 139 处于脱机状态 ORA-01110: 数据文件 139: '/data/oradata/umiasdb/users55.dbf'
2- ALTER DATABASE CREATE DATAFILE '/data/oradata/umiasdb/users55.dbf' AS '/data/oradata/umiasdb/users55.dbf'; ORA-01113: 文件 139 需要媒体恢复 ORA-01110: 数据文件 139: '/data/oradata/umiasdb/users55.dbf'
【问题讨论】:
-
数据库是否在文件系统备份之前关闭(或者这是由某种时间点一致的 SAN 技术完成的备份)?如果要依赖文件系统备份,通常需要在数据库关闭的情况下进行冷备份。也可以使用一些 SAN 快照技术对运行的数据库进行热备份,但这将特定于您的特定 SAN。
-
没有数据库,所以我想我不能使用文件系统备份。有什么方法可以在新创建的数据库中使用表空间数据文件,因为我无法恢复系统表空间丢失的文件? .或者您对如何使用数据文件将重要模式提取到任何新数据库有任何建议?
-
听起来你可能不走运,除非你想在紧急恢复工具上投入大量现金。恐怕是需要备份的痛苦教训。
标签: sql oracle11g operating-system restore database-administration