【问题标题】:Oracle 12c database NOLOGGINGOracle 12c 数据库 NOLOGGING
【发布时间】:2020-02-18 08:52:08
【问题描述】:

我们的数据库是 Oracle 12c,我们有一些使用 NOLOGGING 选项创建的临时表。

我关心的是在数据库恢复的情况下,我们能否恢复那些表(当然我只对 DDL 结构感兴趣,没有数据)?

谢谢。

【问题讨论】:

    标签: database oracle recovery


    【解决方案1】:

    当您将表或索引创建为NOLOGGING 时,数据库不会为该操作生成重做日志记录。因此,您无法恢复使用NOLOGGING 创建的对象,即使您在ARCHIVELOG 模式下运行,也只会将一小部分元数据写入重做日志。

    请查看this,其中提供了当nologging 模式设置为开启时如何检索数据的过程。

    【讨论】:

    • 好的,但是假设我有以下情况。 1.创建没有日志记录的表 2.次日备份数据库。我可以在备份后的时间间隔内恢复表结构吗?
    • 当您使用nologging in 子句创建表/索引时,会将实际的创建语句发送到重做日志(数据字典中需要此信息),但在此期间将所有行加载到表中该操作发送到重做日志。所以你可以从那里得到表结构的信息。但是请注意,你必须在所有nologging操作之前和之后进行备份
    猜你喜欢
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    相关资源
    最近更新 更多