SCN其实是oracle内部的一个时钟,他存储在数据文件、控制文件、日志文件中
具体SCN分为:
系统检查点SCN
select checkpoint_change# from v$database;
数据文件检查点SCN
select name,checkpoint_change# from v$datafile
数据文件头启动 start SCN
select name,checkpoint_change# from v$datafile_header;
终止stop SCN
select name,last_change# from v$datafile;
日志文件SCN(Lowest system change number (SCN) in the log)
select group#,sequence#,status,first_change# from v$log;
当前current scn
select dbms_flashback.get_system_change_number from dual;
这些SCN作用很大,在数据库的启动时可以用来检验是否需要恢复。数据库打开的时候首先检查启动SCN和数据文件检查点SCN是否一致,如果一致则检查start scn与stop scn是否一致,
如果一致则打开数据库,否则则需要recovery.
[Q]怎么获得当前的SCN
[A]9i以下版本
select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
如果是9i以上版本,还可以通过以下语句获取
select dbms_flashback.get_system_change_number from dual;
问一个问题
请问这个当前SCN是啥意思啊?啥为当前啊.那么多个SCN
scn 是一个相当于时钟的东西,当前scn 就是相当于当前时间!
而数据文件,控制文件,日志文件只是记录曾经的scn!
当前的就是最新的,当前的在不断变化,而存放在那些文件中的是在系统ckpt执行同步操作时写入的当时的scn,就像你在看书,看一会你就加个标记,你当前在看得那页就是当前scn,
而你在书上加标记的页就是当时的scn在单节点的instance中,SCN值存在SGA区,由system commit number latch保护。
由于SCN会不停变化的,所以dbms_flashback.GET_SYSTEM_CHANGE_NUMBER会和v$datafile,v$log里的scn不一致
还想再问一下,SNC也存在于数据文件中,但是数据库中有多个数据文件,SCN都一样吗?
===> 未必会一样。
还有一个问题,就是ORACLE依靠SCN进行异常恢复,但是我问一下,如果某个数据文件被我删除后,再启动数据库的时候,OPEN 不起来,提示某某数据文件不能定位什么的,是依赖数据文
件的SCN吗?不都被我给删除了数据文件了吗?这个数据文件上哪来SCN?乱! 就一个字
===> 这个不是根据scn,是根据controlfile。
我今天终于是搞明白了,其实DUMP出来的控制文件上很全的,有记录数据文件也有记录日志文件的SCN,然后再拿去和真正的数据文件DUMP出来的SCN来比较就可以了。每个数据文件应该是
不一样的,开假后我DUMP出来控制文件和分别DUMP出各个数据文件出来比较一下就明白了。
顺便还有一个问题,就是SCN为系统改变号,那改变条件除了COMMIT 和ROLLBACK外,还有别的吗,是否就是这两种形式会改变.
Oracle 系统引入了系统变化数(SCN),无论任何时候 只要某个事务被提交,oracle服务器都将产生一个SCN(号码)并将其赋予该事务的所有数据行。在同一个数据库中SCN是单调递增
的并且是唯一的。 其他的在数据文件。。等等的SCN是曾经的。
执行:SQL> select dbms_flashback.get_system_change_number from dual; 发现几乎每次的值都不一样,但是我在本机上又没有commit 或者rollback 。
是说明和闹钟一样一直自己递增吗? 还是说是内部有自己提交了。还是。。。。
__________________
Concepts
|
New Features
_________________|_______________
| |
Developer DBA
Application Backup & Recovery
Dev Guide(Fundamentals) Concepts
| |
PL/SQL User Guide Recovery
& References Reference
| |
Performance Administrators'
Planning Guide
|________________________________ |
|
Performance
& Tunning Guide