dbms_transaction.local_transaction_id 是否重复值?
Does dbms_transaction.local_transaction_id duplicate values?
我编写了 oracle DML 触发器来审核多个表的更改并将更改保存在日志表中,每个 DML 操作都有一个触发器。我想保存 dbms_transaction.local_transaction_id 以对一起发生的不同 DML 操作进行分组。
如果数据库重新启动或发生意外情况,此函数是否可以 return 重复值?
如果是,是否有更好的解决方案来将同一事务中发生的 DML 操作分组为一个 id。
谢谢你,并致以最诚挚的问候。
发件人:https://docs.oracle.com/database/121/ARPLS/d_transa.htm#ARPLS062
LOCAL_TRANSACTION_ID 函数
Returns 本地(实例)唯一当前交易的标识符
所以在单实例数据库的情况下,oracle 保证它是唯一的,但在 RAC(集群)或分布式 XA 事务的情况下则不然。
我编写了 oracle DML 触发器来审核多个表的更改并将更改保存在日志表中,每个 DML 操作都有一个触发器。我想保存 dbms_transaction.local_transaction_id 以对一起发生的不同 DML 操作进行分组。
如果数据库重新启动或发生意外情况,此函数是否可以 return 重复值?
如果是,是否有更好的解决方案来将同一事务中发生的 DML 操作分组为一个 id。
谢谢你,并致以最诚挚的问候。
发件人:https://docs.oracle.com/database/121/ARPLS/d_transa.htm#ARPLS062 LOCAL_TRANSACTION_ID 函数 Returns 本地(实例)唯一当前交易的标识符
所以在单实例数据库的情况下,oracle 保证它是唯一的,但在 RAC(集群)或分布式 XA 事务的情况下则不然。