高可用性灾难恢复 (HADR) 使用数据库日志将数据从主数据库复制到备用数据库。在备用数据库上重放日志时,某些活动可能会导致备用数据库落后于主数据库。某些活动要进行大量记录,它们生成的大量日志文件可能会导致存储问题。虽然使用日志将数据复制到备用数据库是可用性策略的核心,但记录本身可能会对解决方案的可用性产生负面影响。合理设计维护策略,配置系统以尽可能降低日志记录的负面影响,并允许日志记录保护您的事务数据。
数据定义语言(DDL)
数据操作语言(DML)
缓冲池操作
表空间操作
联机重组 详细记录所有操作
脱机重组 通常按几百或几千个受影响的行来记录操作
存储过程和用户定义的函数(UDF)的元数据(但不是相关对象或库文件)
联机重组过程中,详细记录所有操作。结果,HADR 可以复制操作,而不会使备用数据库比它在进行更多典型数据库更新时更加远远地落在后面。但是,由于生成大量日志记录,所以此行为可能对系统产生较大影响。
如果未如联机重组那样大量地记录脱机重组,通常按几百或几千个受影响的行来记录操作。这意味着备用数据库将落后,因为它等待每个日志记录,然后立刻重放许多更新。如果脱机重组是非集群的,那么在整个重组操作之后生成单一日志记录。此方式在最大程度上影响备用数据库与主数据库保持同步的功能。备用数据库从主数据库接收日志记录之后,将执行整个重组过程。
HADR 不复制存储过程、UDF 对象和库文件。必须在主数据库和备用数据库中相同路径上创建文件。如果备用数据库无法找到引用的对象或库文件,那么备用数据库上的存储过程或 UDF 调用将失败
高可用性灾难恢复 (HADR) 使用数据库日志将数据从主数据库复制到备用数据库。主数据库允许不进行日志记录的操作,但不会将此类操作复制到备用数据库。如果要在备用数据库中反映未日志记录的操作(例如,对历史记录文件的更新),那么必须执行额外的步骤来实现此目的。
以下是一些情况示例,在这些情况下,不会将主数据库上的操作复制到备用数据库:
在指定了 NOT LOGGED INITIALLY 选项的情况下创建的表不会被复制。在 HADR 备用数据库接管主数据库后尝试访问这样的表将导致错误。
将复制所有已进行日志记录的 LOB 列。将不会复制未进行日志记录的 LOB 列。但是,在备用数据库上将为它们分配空间,将二进制的零作为该列的值。
不复制使用 UPDATE DATABASE CONFIGURATION(更新数据库配置) 和 UPDATE DATABASE MANAGER CONFIGURATION(更新数据库管理配置) 命令对数据库配置所作的更新。
不复制数据库配置参数和数据库管理器配置参数。
对于用户定义的函数(UDF)来说,不复制对数据库外部的对象(例如相关的对象和库文件)所作的更改。您需要通过其他方法在备用数据库上对它们进行设置。
不会自动地将恢复历史记录文件(db2rhist.asc)以及对其所作的更改从主数据库复制到备用数据库。
通过发出具有 REPLACE HISTORY FILE 选项的 RESTORE DATABASE 命令,可以将历史记录文件的原始副本(从主数据库的备份映像中获取)放到备用数据库上:
RESTORE DB KELLY REPLACE HISTORY FILE
初始化 HADR 并接着对主数据库执行备份活动后,备用数据库上的历史记录文件就已过期。但是,每个备份映像中都存储了历史记录文件的一个副本。通过使用以下命令从备份映像中抽取历史记录文件,可以更新备用数据库上的历史记录文件:
RESTORE DB KELLY HISTORY FILE
请不要使用正规操作系统命令将数据库目录中的历史记录文件从主数据库复制到备用数据库。进行复制时,如果主数据库正在更新历史记录文件,那些文件就会损坏。
如果执行接管操作并且备用数据库有最新的历史记录文件,那么对新的主数据库执行的备份和复原操作将在历史记录文件中生成新记录,并且与原始主数据库上生成的记录完全混合。如果历史记录文件过期或者缺少条目,那么可能无法进行自动增量复原;而是,您将需要执行手动增量复原操作。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。