Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SCN保留查询存档数据的最大天数_Sql_Database_Oracle_Oracle12c_Flashback - Fatal编程技术网

Sql SCN保留查询存档数据的最大天数

Sql SCN保留查询存档数据的最大天数,sql,database,oracle,oracle12c,flashback,Sql,Database,Oracle,Oracle12c,Flashback,我有一张启用了闪回功能的桌子。我想使用截至子句查询数据,如下所示: SELECT * FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2019-09-11 00:00:00', 'YYYY-MM-DD HH24:MI:SS'); 闪回存档的保留期为14天 从今天起,2019年10月16日,我可以回到2019年9月11日。如果我在上述查询中将9月10日(即2019-09-10 00:00:00转换为TO_TIMESTAMP),我将获得ORA-08180

我有一张启用了闪回功能的桌子。我想使用
截至
子句查询数据,如下所示:

SELECT * 
FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2019-09-11 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
闪回存档的保留期为14天

从今天起,2019年10月16日,我可以回到2019年9月11日。如果我在上述查询中将9月10日(即
2019-09-10 00:00:00
转换为
TO_TIMESTAMP
),我将获得
ORA-08180:根据指定时间未找到快照

那么,我怎样才能找到SCN保留的确切时间呢?我浏览了OraDocs,发现了以下信息:

当生成SCN时,SCN和时间戳之间的关联由数据库在有限的时间段内记住。如果数据库以自动撤消管理模式运行,则此时间段是自动调整的撤消保留时间段的最大值,以及数据库中所有闪回存档的保留时间,但不少于120小时

我查询了
UNDO_RETENTION
参数,它被设置为默认900秒。而且只有一个闪回存档,保留天数设置为14天。因此,根据doc,SCN的寿命必须为14天。但是我怎样才能回到一个月前


附言:我正在检查另一个数据库,其中
UNDO\u RETENTION
参数设置为默认值2700(45分钟),并且只有一个闪回存档,
RETENTION\u DAYS
设置为14。在这种情况下,我最多只能查询6天。SCN的寿命是如何计算的?它是否与创建闪回归档文件的时间有关?

我认为,启用闪回的表是指启用闪回归档的表。SCN与数据库中已提交的更改相关联。通过最早的SCN,我们正在寻找与对象关联的最早的SCN。要获取与已更改和提交的对象关联的所有SCN,例如employees表,请使用下面的SQL。从SCN MINVALUE和MAXVALUE之间的员工版本中选择版本\u startscn START\u SCN、版本\u endscn END\u SCN;结果记录按时间顺序递减,因此最后一条记录将具有最早的SCN。要获取与SCN关联的时间戳,请使用select SCN_To_timestamp()作为dual中的时间戳;拥有SCN后,您可能不需要时间戳,因为SCN足以查询闪回数据归档。