Rumah pangkalan data tutorial mysql Oracle 10g中SCN与TimeStamp的相互转换

Oracle 10g中SCN与TimeStamp的相互转换

Jun 07, 2016 pm 05:07 PM
pangkalan data oracle

首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值: SQLgt; col scn for 9999999999999SQLgt; selec

首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值:


SQL> col scn for 9999999999999
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
--------------
8908390522972

通过scn_to_timestamp函数可以将SCN转换为时间戳:


SQL> select scn_to_timestamp(8908390522972) scn from dual;
SCN
---------------------------------------------------------------------------
05-JAN-07 10.56.30.000000000 AM

再通过timestamp_to_scn可以将时间戳转换为SCN:

SQL> select timestamp_to_scn(scn_to_timestamp(8908390522972)) scn from dual;
SCN
--------------
8908390522972

通过这两个函数,最终Oracle将SCN和时间的关系建立起来,,在Oracle10g之前,是没有办法通过函数转换得到SCN和时间的对应关系的,一般可以通过logmnr分析日志获得。

但是这种转换要依赖于数据库内部的数据记录,对于久远的SCN则不能转换,请看以下举例:


SQL> select min(FIRST_CHANGE#) scn,max(FIRST_CHANGE#) scn from v$archived_log;
SCN SCN
------------------ ------------------
8907349093953 8908393582271

SQL> select scn_to_timestamp(8907349093953) scn from dual;
select scn_to_timestamp(8907349093953) scn from dual
*
ERROR at line 1:
ORA-08181: specified number is not a valid system change number
ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1
ORA-06512: at line 1


SQL> select scn_to_timestamp(8908393582271) scn from dual;

SCN
---------------------------------------------------------------------------
05-JAN-07 11.45.50.000000000 AM

-The End-

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyemak ruang jadual yang mana satu jadual berada dalam Oracle Bagaimana untuk menyemak ruang jadual yang mana satu jadual berada dalam Oracle Jul 06, 2023 pm 01:31 PM

Bagaimana untuk menyemak ruang jadual yang mana satu jadual berada dalam Oracle

Bagaimana untuk menyambung ke pangkalan data Oracle menggunakan PDO Bagaimana untuk menyambung ke pangkalan data Oracle menggunakan PDO Jul 28, 2023 pm 12:48 PM

Bagaimana untuk menyambung ke pangkalan data Oracle menggunakan PDO

Bagaimana untuk mendapatkan hanya satu keping data pendua dalam oracle Bagaimana untuk mendapatkan hanya satu keping data pendua dalam oracle Jul 06, 2023 am 11:45 AM

Bagaimana untuk mendapatkan hanya satu keping data pendua dalam oracle

Laksanakan import data ke dalam pangkalan data PHP dan Oracle Laksanakan import data ke dalam pangkalan data PHP dan Oracle Jul 12, 2023 pm 06:46 PM

Laksanakan import data ke dalam pangkalan data PHP dan Oracle

Cara oracle menentukan sama ada jadual wujud dalam prosedur tersimpan Cara oracle menentukan sama ada jadual wujud dalam prosedur tersimpan Jul 06, 2023 pm 01:20 PM

Cara oracle menentukan sama ada jadual wujud dalam prosedur tersimpan

Cara menggunakan kumpulan sambungan pangkalan data PHP dan Oracle dengan cekap Cara menggunakan kumpulan sambungan pangkalan data PHP dan Oracle dengan cekap Jul 12, 2023 am 10:07 AM

Cara menggunakan kumpulan sambungan pangkalan data PHP dan Oracle dengan cekap

Adakah pangkalan data oracle memerlukan jdk? Adakah pangkalan data oracle memerlukan jdk? Jun 05, 2023 pm 05:06 PM

Adakah pangkalan data oracle memerlukan jdk?

Apakah jenis data Oracle? Apakah jenis data Oracle? Jun 05, 2023 am 11:40 AM

Apakah jenis data Oracle?

See all articles