1.查询系统当前SCN两条命令

SQL> select current_scn from v$database;
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
                 1781893

另一个查SCN的方法,稍有延迟是因为执行命令的间隔,其实也是实时的了

SCNSYS@ bys3>oradebug dumpvar sga kcsgacn_

ORA-00079: variable kcsgacn_ not found
SYS@ bys3>oradebug dumpvar sga kcsgscn_
kcslf kcsgscn_ [2000EFC0, 2000EFE0) = 00000000 001976D2 000001E9 00000000 00000000 00000000 00000000 2000EDCC
SYS@ bys3>select to_number('1976D2','xxxxxxxxxxxx') a from dual;     
         A
----------
   1668818
SYS@ bys3>select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------

1668853

再一个通过内部表查询SCN的:

SYS@ bys3>select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
------------------------------------
                             1669208
SYS@ bys3>select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------

1669219

2.数据库全局-检查点 SCN,在控制文件中。

SYS@bys1> select dbid,checkpoint_change# from v$database;
      DBID CHECKPOINT_CHANGE#
---------- ------------------
3957527513            1753478

3.当前数据文件检查点SCN。在控制文件中、数据文件头中。即checkpoint scn,表示该数据文件最近一次执行检查点操作时的SCN

SQL> select name,checkpoint_change# from v$datafile;
NAME                                               CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/oradata/bys1/system01.dbf                                1753478
/u01/oradata/bys1/sysaux01.dbf                                1753478

SQL> select file#,name,checkpoint_change#,to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') cptime from v$datafile;

FILE# NAME                                               CHECKPOINT_CHANGE# CPTIME
---------- -------------------------------------------------- ------------------ -------------------
         1 /u01/oradata/bys1/system01.dbf                                1753478 2013-09-11 23:00:52
         2 /u01/oradata/bys1/sysaux01.dbf                                1753478 2013-09-11 23:00:52

4.查询数据文件头SCN,在控制文件中、数据文件头

SQL> select name,checkpoint_change# from v$datafile_header;
NAME                                     CHECKPOINT_CHANGE#
---------------------------------------- ------------------
/u01/app/oracle/oradata/bys001/system01.dbf            1198546

5.数据文件结束SCN,在数据文件头,控制文件中。

LAST_CHANGE#,如果数据库非正常关闭值为NULL。正常关闭是关闭时的SCN。
实例恢复就是在打开数据库时检查此参数确定是否需要恢复。
数据库OPEN时LAST_CHANGE#也为NULL,因为不确定SCN多少时关闭。
SQL> select name,last_change# from v$datafile;
NAME                                     LAST_CHANGE#
---------------------------------------- ------------
/u01/app/oracle/oradata/bys001/system01.dbf

6.日志中所含SCN范围

BYS@ bys3>select GROUP#,sequence#,STATUS,FIRST_CHANGE#,to_char(FIRST_TIME,'yyyy/mm/dd:hh24:mi:ss') firsttime,NEXT_CHANGE#,to_char(NEXT_TIME,'yyyy/mm/dd:hh24:mi:ss') nexttime from V$log;

GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# FIRSTTIME           NEXT_CHANGE# NEXTTIME
---------- ---------- ---------------- ------------- ------------------- ------------ -------------------
         1        145 CURRENT                2910938 2013/12/15:10:06:41    2.8147E+14                                               ------当前REDO日志,所以下一次切换的SCN是无穷大,切换时间为空。
         2        143 INACTIVE               2865685 2013/12/14:20:36:08      2883589 2013/12/15:02:00:55
         3        144 INACTIVE               2883589 2013/12/15:02:00:55      2910938 2013/12/15:10:06:41

ORACLE中的各种SCN查询相关推荐

  1. 查询oracle历史scn,ORACLE中的各种SCN查询

    1.查询系统当前SCN两条命令 SQL> select current_scn from v$database; SQL> select dbms_flashback.get_system ...

  2. 查询oracle中用户的角色,oracle中用户角色的查询和授权

    用户拥有的系统权限 select  privilege  from dba_sys_privs  where grantee='&USERNAME' union select  privile ...

  3. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

  4. day02: SQL_DML, oracle中sql的各种查询

    1.oraclesql的特性 pLsql显示: 修改显示的格式 SQL> set pagesize 300; SQL> set linesize 300; SQL> select e ...

  5. 在Oracle中如何让SELECT查询绕过UNDO

    是否有想过如何在Oracle中实现脏读(dirty read),在Oracle官方文档或者Asktom的时候显然会提到Oracle是不实现脏读的, 总是有undo来提供数据块的前镜像(before i ...

  6. ArcGIS——数据库空间SQL(一、oracle中使用sql空间查询及st_astext等函数出错问题)

    一.引言 将shp文件导入oracle中就想着直接用sql进行普通查询和空间查询,这样直接通过webserver发布就可以不用arcgis server直接进行接口调用了,感觉这样比较接触底层些,所以 ...

  7. Oracle中Timestamp类型字段查询结果格式化处理

    在使用Oracle数据库时,把Timestamp类型的字段查出来显示到界面上居然是一串数字,不符合我们常见的要求,我就查了一下,发现中间还有很多道道,Oracle查出来的Timestamp类型和jav ...

  8. oracle中的单表查询,单字段与多字段排序

    -单表的查询学习 –查询表的所有数据 select *from 表名; *代表所有 select *from emp; –查询表中指定字段的值 :select 字段名1,字段名2,-from表名 se ...

  9. oracle中dba所能查询的表,ORACLE--DBA常用查询

    –1. 查询系统所有对象 select owner, object_name, object_type, created, last_ddl_time, timestamp, status from ...

最新文章

  1. 发现一位大佬的算法刷题笔记PDF
  2. STM32 进阶教程 15 - 串口DMA收发
  3. 智慧校园“手环考勤”已成为学校常态
  4. 大牛是怎么思考设计MySQL优化方案
  5. 部署Small Business Server 2003服务器之一
  6. python figure函数 gui_python 在一个GUI内创建了2个figure,为什么只能显示第二个图?...
  7. 全国计算机四六级报名时间2015,2015年英语四六级口语考试报名时间:10月25日起...
  8. redis+lua实现分布式限流
  9. Java中方法和数组
  10. 实操|风控规则的监控与自动化策略生成
  11. 计算机网络-Postman测试http的get和post方法
  12. 对计算机硬盘进行格式化时,在安装操作系统之前,如何对硬盘进行分区和格式化(新手必看)...
  13. 连接上局域网打开计算机卡,win7怎么玩局域网游戏,win7怎么玩局域网游戏卡
  14. SSH服务配置公钥及双重验证
  15. 戴尔服务器技术响应表,戴尔PowerEdge T110 II产品技术白皮书
  16. excel2003打开后找不到工作表
  17. 西安电子科大版《计算机操作系统》第四版共读——第十一章 多媒体操作系统
  18. datastage dsjob命令
  19. 【MSP430】基于MSP430G2553的超声波测距仪
  20. aac转化为mp3,详细的转换步骤

热门文章

  1. C++中cv::Mat矩阵任意取其中一块或一行一列如何操作
  2. 如何在Office 365中使用Office剪贴板?
  3. java卡牌游戏详解
  4. Python项目实战:各种小说姓名生成器
  5. HSQLDB数据库使用详解(入门)及快速使用
  6. WPS的Excel做一个下拉选择功能
  7. 【轻松上手postman】入门篇:如果根据接口文档写postman接口用例
  8. 数据结构课程设计 神秘国度的爱情故事
  9. SASAdvance认证考试要点
  10. 264编码 yocto_66AK2H06