SCN(控制文件中的scn)

博客主要介绍了控制文件中的三种重要SCN:数据库SCN、数据文件SCN和检查点进度记录中的SCN。数据库SCN反映最近全量检查点的SCN,可通过V$DATABASE查询;数据文件SCN,特别是数据文件头SCN,用于验证控制文件和数据文件的一致性;检查点进度记录中的SCN,由CKPT进程每3秒更新,用于崩溃恢复时确保应用到的最小SCN。
摘要由CSDN通过智能技术生成

控制文件中的scn很多,最重要的有3类:数据库SCN、数据文件SCN和Checkpoint progress record中的SCN。数据库SCN和数据文件SCN分别从V$DATABASE和V$DATAFILE视图中找到,他们的值通常在全量CHECKPOINT时由CKPT进程更新。CHECKPOINT PROGRESS RECORDS中的SCN可以从V$THREAD.LAST_REDO_CHANGE#列中找到,其值也是有CKPT进程每隔3秒更新一次。

1、数据库SCN

数据库SCN通常表示最近一次全量CHECKPOINT操作时的SCN,可以查询V$DATABASE获取该SCN.

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
	   1449876

也可以DUMP控制文件获取数据库的SCN。dump控制文件的语法:
ALTER SESSION SET EVENTS 'immediate trace name controlf level n';

1 文件头信息
2 level 1 + 数据库信息 + 检查点信息
3 level 2 + 可重用节信息
10 level 3

SQL> ALTER SESSION SET EVENTS 'immediate trace name controlf level 2';

Session altered.

SQL> select value from v$diag_info where name = 'Default Trace File';

VALUE
----------------------------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/panda/panda/trace/panda_ora_5799.trc

SQL> ! vim /u01/app/oracle/diag/rdbms/panda/panda/trace/panda_ora_5799.trc

....
***************************************************************************
DATABASE ENTRY
***************************************************************************
 (size = 316, compat size = 316, section max = 1, section in-use = 1,
  last-recid= 0, old-recno = 0, last-recno = 0)
 (extent = 1, blkno = 1, numrecs = 1)
 06/29/2014 21:15:43
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值