0

我有很多小额交易。我使用 Oracle RAC 中的 XA JDBC 驱动程序以某种顺序逐一执行它们。是否可以保证他们按照我所说的相同顺序提交?

更新:一切都发生在一个数据库会话中。

4

1 回答 1

1

对,他们是。

在 RAC 或非 RAC 环境中,当您成功执行提交时,意味着已保证将数据库更改记录在磁盘上(在 REDO 日志中)。当日志写入器写入重做日志时,它会增加 RAC 中所有实例的全局 SCN(系统更改编号)。您可以通过查询select current_scn from v$database;是否有足够的权限来查看数据库当前的 SCN。

提交有一些非默认选项,它不一定要等到重做日志写入完成才能返回成功。如果您使用它们,那么可能多个事务可以在同一个 SCN 中进行批处理。这将允许在为批处理发布一个 SCN 之前,在不同的实例上提交一个 SCN。避免这些选项,你会没事的。

于 2016-09-26T04:00:13.460 回答