【问题标题】:Does redo logs store all the changes applied to database buffer cache?重做日志是否存储应用于数据库缓冲区缓存的所有更改?
【发布时间】:2020-06-02 02:04:46
【问题描述】:

我知道重做日志条目是在发生插入/更新/删除/创建/删除/更改时创建的。哪些信息存储在重做日志中?在实例失败的情况下,重做日志文件用于恢复数据库,它是否包含有关更改应用数据库缓冲区缓存的信息?

【问题讨论】:

    标签: oracle database-performance sqlperformance sql-tuning


    【解决方案1】:

    如果进行重做日志挖掘(以准确查看重做日志中的内容),则有一个视图可以告诉您他们存储的内容:V$LOGMNR_CONTENTS。

    这通常显示:

    - Operation: INSERT, UPDATE, DELETE, or DDL
    - SCN - system change number - very important for recovery
    - The transaction to which a change belongs
    - The table and schema name of the modified object
    - The name of the user who issued the DDL or DML
    - the SQL needed to redo and/or undo your changes.
    

    所以是的,重做日志包含提交脏缓冲区时所做的更改。它们用于在发生故障时重建数据库。它们还保护回滚数据,因为用于重做和撤消的 SQL 都被存储并在恢复期间被回放。

    V$LOG 和 V$LOGFILE 显示您的重做数据文件是如何分配的。您通常需要成对使用它们,因为您有备份以防丢失。您还希望至少有 3 个组(对),因为有些是活动的,有些是最新的,有些正在写入存档日志,这对于恢复也很重要。

    【讨论】:

      猜你喜欢
      • 2020-06-05
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多