【问题标题】:Oracle: Finding rowIds of records modified by a particular transactionOracle:查找特定事务修改的记录的rowId
【发布时间】:2017-07-11 14:04:23
【问题描述】:

在我们的生产系统中,我们使用的是Oracle 11g 企业版。我目前面临的情况是,我拥有修改特定表的某些记录的事务的事务 ID。我需要找到这些修改过的记录。

经过大量谷歌搜索,我唯一的线索与闪回数据有关。即修改表的闪回版本的FLASHBACK_TRANSACTION_QUERY表或VERSIONS_XID。问题是这些事务 ID 不匹配。例如,我获得的交易 ID 的格式为“11.18.823626”,VERSIONS_XID 中的交易 ID 的格式为“29001E00697F0000

有没有什么方法可以找到给定事务修改的行的rowids(或其他列数据)给定事务id?

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    使用hextoraw() 函数将VERSIONS_XID 标识符转换为FLASHBACK_TRANSACTION_QUERY.XID

    【讨论】:

    • 感谢您的提示。但这似乎对我不起作用。例如如果我在'05001B0027510300'上调用hextoraw(),它会给我与输出相同的字符串。我得到的交易 ID 是“5.27.217383”,而 VERSIONS_XID 中的交易 ID 是“05001B0027510300”。我无法将一个转换为另一个。
    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 2013-06-04
    • 1970-01-01
    • 2021-01-04
    • 2023-01-19
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多