暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 在无备份noarchivelog模式下还原和恢复

askTom 2017-06-01
225

问题描述

嗨,团队,

我有一个没有archivelog模式的数据库,也没有rman和冷备份之类的备份可用。只有逻辑备份 (导出架构) 可用。并且假设一个数据文件像rm一样被损坏或丢弃,那么如何仅使用导出架构备份来还原和恢复数据库或数据文件。


请让我知道,根据我的理解,只创建一个完整的新数据库,然后导入导出的备份,但是任何其他方法可以减少相同的关闭时间,请让我知道。


谢谢

专家解答

“我有一个没有archivelog模式的数据库,并且没有rman和冷备份之类的备份可用”

这句话就像一个声明,说 “我不在乎我是否真的丢失了所有数据”,所以这也许是你工作场所要解决的第一个困境。

如果数据文件已损坏,则需要计算出该数据文件中存在的内容。您可以查询DBA_EXTENTS来获取该数据文件中包含某些内容的每个段的名称。

然后,您可以只删除数据库中的这些段,并从转储文件中导入它们。

但是,当然,您很可能最终会出现 * 逻辑 * 损坏,因为您的一些数据库表处于当前时间点,并且您的一些表将处于导出转储的时间点。逻辑上的腐败是令人讨厌的,因为它们可能是 “睡眠” 问题,即,您可能会在事实发生后数小时,几天或几周发现它们。

假设您导入这些表-然后在2周内发现应用程序存在故障。它 * 真的 * 应用程序中的错误吗?只是半恢复后的坏数据吗?那里有很多头痛。

也许最好的前进方式是

a) 恢复整个转储文件,以便您具有更好的一致性,
b) 采取一些措施以确保不再发生。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论