2009-09-08 64 views
3

如果我们在Oracle中禁用表空间的“重做日志”,它们是否会影响Hibernate的事务? 这些都是一个表空间级目前在Oracle EM的选项:在Hibernate事务中禁用Oracle中的重做日志有什么影响?

启用日志记录 是 生成重做日志用于创建表,索引和分区,并为后续插入。可恢复 否 重做日志条目较小,上述操作不会被记录并且不可恢复。

此外,Oracle的提交/回滚功能取决于这些重做日志?

回答

8

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

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

+0

好的,但我们如何禁用事务日志? – 2009-09-09 19:06:34

+0

为什么要禁用事务日志记录? – APC 2009-09-09 20:00:56

+0

我不想,但很高兴知道这个选项。另外,我怀疑它们可能会单独禁用:) – 2009-09-10 02:37:38

7

重做日志是Oracle RDBMS的一个组成部分,你可以在只有少数特殊的情况下禁用它们:

  • 数据的批量加载,
  • 创建/指标的再创造

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

对于简单事务,您无法禁用重做生成。不管怎样,因为它们允许数据库在崩溃的实例(联机重做日志,即使在NOARCHIVELOG中)之后恢复,并允许在崩溃的磁盘之后进行介质恢复(例如归档重做日志,仅在ARCHIVELOG中) 。

相关问题