在Hibernate事务中禁用Oracle中的重做日志有什么影响?

Mon*_*bal 3 oracle hibernate transactions redo-logs

如果我们在Oracle中禁用表空间的"重做日志",它们会影响Hibernate的事务吗?这些是表空间级别上Oracle EM中存在的选项:

启用日志记录是生成重做日志以创建表,索引和分区以及后续插入.可恢复否重做日志条目较小,上述操作未记录且无法恢复.

此外,Oracle的提交/回滚功能是否依赖于这些重做日志?

APC*_*APC 8

重做日志与事务无关.它们用于在发生崩溃或操作系统文件损坏时恢复数据库.如果您没有重做日志记录,那么如果数据库出现任何问题,您的用户将丢失自上次备份以来的所有工作.

通常,我们只希望在批量数据加载之前禁用对表空间的日志记录.该负载之后的第一个操作是进行备份,然后重新启用日志记录.不登录事务系统是一个非常糟糕的主意.


Vin*_*rat 7

重做日志是Oracle RDBMS的集成部分,您可以在以下几种特殊情况下禁用它们:

  • 批量加载数据,
  • 创建/重新创建索引

如果您为其中一个操作禁用了重做日志的生成,则在此之后您将无法完全恢复数据库(即:您应该在这些批处理作业完成后立即备份数据库).

您无法为简单事务禁用重做生成.您不会想要,因为它们允许数据库在崩溃的实例(在线重做日志,即使您在NOARCHIVELOG中)后恢复,并允许在崩溃的磁盘后恢复介质(归档重做日志,仅在ARCHIVELOG中) .