2^48 = 281,474,976,710,656。跨數據庫 DB Link 查詢會同步雙端 SCN 至較大值。若某庫 SCN 異常暴增(如 Bug、惡意腳本),會傳播至鏈接庫,導致全鏈路 SCN 過早逼近上限。SCN 不能回退,耗盡後數據庫必須重建。
以 1988-01-01 00:00:00 為基準,每秒 16K:
RSL = ( ( ( ( ( (YYYY-1988)*12 + (MM-1) )*31 + (DD-1) )*24 + HH24 )*60 + MI )*60 + SS ) * 16384
scnhealthcheck.sqlHeadroom = (RSL - 當前 SCN) / (16384 * 86400),單位:天。Headroom > 62 天:Result A(健康,按計劃打補丁)。10 < Headroom ≤ 62:Result B(偏低,立即打補丁,設置隱含參數)。Headroom ≤ 10:Result C(危險,立即打補丁並聯繫 Oracle Support)。Current SCN: 13194140054241
Result: C - SCN Headroom is low
Apply latest patches right now AND contact Oracle support immediately.
_external_scn_rejection_threshold_hours = 24
作用:拒絕來自 DB Link 的 SCN 增長超過 24 小時(原默認 31 天)的同步請求,擴大本地 SCN 增長空間。但若不控制根因,SCN 仍可能超限。
scnhealthcheck.sql 監控 Headroom。_external_scn_rejection_threshold_hours=24(需諮詢 Support)。SCN 耗盡是低概率但極高影響的災難性故障。通過監控腳本、及時打補丁、配置防禦參數,可將風險控制在可接受範圍內。