查询当前scn+scn与时间之间的转化sql
2012-12-22 17:50
169 查看
作为对于闪回操作(flashback)的一个增强,Oracle10g提供了函数对于SCN和时间戳进行相互转换。
首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值:
通过scn_to_timestamp函数可以将SCN转换为时间戳:
再通过timestamp_to_scn可以将时间戳转换为SCN:
通过这两个函数,最终Oracle将SCN和时间的关系建立起来,在Oracle10g之前,是没有办法通过函数转换得到SCN和时间的对应关系的,一般可以通过logmnr分析日志获得。
首先通过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分析日志获得。
相关文章推荐
- MySQL查询当前系统时间在 开始时间和结束时间之间
- Oracle查询Sql语句中的时间格式转化
- mysql查询当前时间,一天内,一周,一个月内的sql语句
- mysql查询当前时间,一天内,一周,一个月内的sql语句
- mysql查询当前时间,一天内,一周,一个月内的sql语句
- oracle 查询当前占用cpu及时间最长的sql语句
- SQL查询出当前服务器时间是否在表T1时间段内,如果有则选择出
- 请教如何实现SQL查询24小时内,当前时间之前20分钟的信息
- Oracle中查询当前时间并转化为特定格式
- 查询出第一条距当前时间10s之内的记录的sql语句
- oracle 查询当前占用cpu及时间最长的sql语句
- java获得系统当前时间三种方式及日期格式之间的相互转化
- java获取获得Timestamp类型的当前系统时间。以及java.util.date 、java.sql.Date之间的转换
- SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
- 项目中SQL语句实现时间联动查询
- oracle查询用户什么时间执行了什么SQL语句
- SQL时间查询
- C++ LUA 获取当前时间并转化为字符串
- Oracle查询当前连接的用户和执行的SQL
- SQL 中转化时间类型为“0000-00-00”