我正在学习 Oracle 12c 中的闪回事务查询。我执行了一些 DDL 和 DML 语句。最后,我在 FLASHBACK_TRANSACTION_QUERY 视图上执行了一条 select 语句以查看 UNDO_SQL 值,但它没有返回任何行。我很想知道为什么它没有给我任何行。我研究并发现必须首先启用补充日志记录 ( SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
)。该值为 YES。
查询如下:-
CREATE TABLE TestAgain
(
Fld1 VARCHAR2(3),
Fld2 NUMBER(3)
);
INSERT INTO TestAgain values ('XYZ', 1);
INSERT INTO TestAgain VALUES ('PQR', 2);
COMMIT;
DELETE FROM TestAgain;
SELECT UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY
WHERE XID = (SELECT DISTINCT(RAWTOHEX(VERSIONS_XID))
FROM TestAgain VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE);
最后一个查询不返回任何行。请帮我弄清楚我在这里缺少什么。PS:我只是一个新手SQL学习者。