database compatibility assessment

ORACLE FLASHBACK 查询(AS OF SCN/TIMESTAMP、VERSIONS BETWEEN) 迁移 opengauss 6.0 A 模式 怎么改

迁衡基于规则 ora.syntax.flashback_query 分析 ORACLE FLASHBACK 查询(AS OF SCN/TIMESTAMP、VERSIONS BETWEEN) 到 opengauss 6.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:opengauss 6.0.5 · 有闪回查询能力但语法不同(TIMECAPSULE)且依赖 Ustore 存储引擎;AS OF SCN/TIMESTAMP 写法需改造 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容
支持度none
严重度major
置信度high
依据规则ora.syntax.flashback_query

怎么改

需按命中位置逐条评估改写

判定说明

有闪回查询能力但语法不同(TIMECAPSULE)且依赖 Ustore 存储引擎;AS OF SCN/TIMESTAMP 写法需改造 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容

库侧 / 应用侧路径

库侧改造

可行:按用途改历史表/审计日志方案(触发器或 CDC 落历史)

应用侧改造

可行:对账/恢复流程改应用层快照或备份恢复流程

推荐路线:case_by_case。验证建议:判定条件:业务用途是误删恢复还是审计对账;替代方案能回放同一历史时点数据

规则样例

SELECT * FROM acct AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR) WHERE id = 1
SELECT ver_num, amt FROM bill VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE id = 9
SELECT * FROM acct WHERE id = 1