【问题标题】:oracle rman simple backuporacle rman 简单备份
【发布时间】:2019-05-22 17:44:58
【问题描述】:

我想尽可能简单地备份一个 Oracle 10G。 它处于 NOARCHIVELOG 模式,我可以关闭以进行备份(它只是一个开发服务器)。

在阅读了大量关于 rman 的文档后,我在 rman 中尝试了这种方式:

shutdown immediate;
startup mount
backup database;
sql 'alter database open';

我认为它运行良好,list backup 显示备份。

然后我做了一些修改(删除一些表,添加数据)并尝试恢复备份:

shutdown immediate;
startup mount
restore database;
recover database;
sql 'alter database open';

它似乎也可以正常工作,但我无法恢复数据库的先前状态。我不明白为什么。我也不明白为什么需要使用recover。

谢谢

胡必比

【问题讨论】:

    标签: oracle backup oracle10g


    【解决方案1】:

    “恢复数据库;”命令将从备份媒体介质中读取备份,以便您的数据库文件与上次备份时完全相同。它不恢复控制文件。

    “恢复数据库”;命令将应用增量备份(不适用 - 您的示例只有完整备份)并应用存档日志(也不适用,您处于“NOARCHIVELOG”模式。)它也可能写入控制文件 - 如果是,您可以看到为什么需要它。

    在您在问题中发出的 restore/recover/open 命令之后,您的数据库与备份时的状态相同。备份后提交的任何事务都将丢失并且无法恢复,因为您处于“NOARCHIVELOG”模式。您需要处于“ARCHIVELOG”模式才能进行完整的“时间点”恢复。

    顺便说一句,您删除、重命名或移动了哪些文件以真正模拟真正的媒体故障?我敢打赌你没有删除你的控制文件之一。你需要练习那个场景。

    【讨论】:

    • 什么是“控制文件”?其实,我真的不需要知道!我只是想使用一个简单的 Oracle Express 数据库来学习我正在学习的 SQL 课程。我想简单地将所有数据库从我的一台计算机复制到另一台计算机。我不想了解 Oracle 数据库的工作原理!是否有可能有一个“只需备份所有内容并停止问我问题并给我一个我可以带到另一台机器上的文件”脚本? :-)
    猜你喜欢
    • 2016-03-13
    • 2014-05-28
    • 2020-02-12
    • 2012-07-29
    • 2020-12-08
    • 2012-04-29
    • 2017-08-29
    • 2020-02-25
    相关资源
    最近更新 更多