# Show the amount of SCN keyspace we have used so far on this database
# By default the SCN max on a 10g/11g
# instance is a 48-bit integer (281,474,976,710,656)
SELECT NAME,
(current_scn/281474976710656)*100 as PCT_OF_SCN_KEYSPACE_USED,
ROUND(SYSDATE-CREATED) as DAYS_SINCE_DB_CREATION,
ROUND(1/(current_scn/281474976710656)*(SYSDATE-CREATED)) AS EST_DAYS_BEFORE_SCN_EXHAUSTED,
ROUND(1/(current_scn/281474976710656)*(SYSDATE-CREATED)/365) AS EST_YEARS_BEFORE_SCN_EXHAUSTED
FROM v$database;
当前 SCN
甲骨文 9i:
Oracle 10g 及以上:
SCN 限制
SCN 有一个由其格式强加的硬限制和一个由 Oracle 人为强加的软限制,如此处所述。我已经引用了下面的相关部分(强调添加)。
硬限制
软限制
SCN 限制检查
此脚本(Oracle 10g 及更高版本)将检查您已经用尽了多少硬限制和软限制。感谢 Rob 提出了软限制。
这是我提出的一个查询,用于检查我的数据库是否与 SCN 错误问题有关:
我使用数据库链接的大多数数据库都处于 3.5% 的耗尽标记,并且可以以当前速度持续 50 多年而不会出现问题。这并不意味着我可以避免有人对 SCN 错误发痒,但至少我们没有找到比其他数据库高得多或接近极限的数据库。
281,474,976,710,656 是硬限制。您会想知道软限制是什么,因为这是您首先想到的值。软限制(大致)由自 1988 年 1 月 1 日 x 16384 以来经过的秒数计算得出。