ORACLE資料庫SCN和時間的互相轉換,oracle資料庫scn

來源:互聯網
上載者:User

ORACLE資料庫SCN和時間的互相轉換,oracle資料庫scn

SCN(System Change Number 簡稱 SCN)是當Oracle資料庫更新後,由DBMS自動維護去累積遞增的一個數字,可以理解成ORACLE資料庫的時間戳記,從ORACLE 10G開始,提供了函數可以實現SCN和時間進行相互轉換;

   用途:在進行資料庫的還原和利用資料庫的閃回功能時,進行SCN和時間的轉換就變的非常必要了;   操作方法:  1、通過dbms_flashback.get_system_change_number獲得系統當前的SCN值:  SQL>  select dbms_flashback.get_system_change_number scn from dual;  SCN  -----------------  122037263  2、通過scn_to_timestamp函數可以將SCN轉換為時間戳記:SQL> select scn_to_timestamp(122037263) scn from dual;  SCN  ---------------------------------------------------------------------------  14-7月 -14 04.45.36.000000000 下午  3、還可以通過timestamp_to_scn可以將時間戳記轉換為SCN:  SQL> select timestamp_to_scn(to_date('2014-07-13,13:25:59','yyyy-mm-dd,hh24:mi:ss')) scn from dual;  SCN  ---------------------
oracle的scn是一直增大的?什事件會觸發該值的變化?

理論上可以這麼說。事實上scn非唯一值,只有redolog 的scn值會採用+1的方式遞增,其它的是採用時間戳記的方式換算的值。觸發scn更改的事件很多,從scn的名字上很好理解:system change number。就是有更改就有scn咯。
 
oracle什時產生系統更改號scn

1.DML語句的發生會導致SCN的增加(你不COMMIT也會增加)
2.內部SCN預設每3秒自動增加,無論是否對資料庫進行操作
3.發生checkpoint時會增加SCN
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.