ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle专题深入讨论 » 关于SCN的理解,请指正

标题: [精华] 关于SCN的理解,请指正
离线 Yong Huang
版主



精华贴数 2
个人空间 0
技术积分 4374 (324)
社区积分 129 (3072)
注册日期 2001-10-9
论坛徽章:6
现任管理团队成员ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员2008年新春纪念徽章
      

发表于 2006-7-2 02:36 


QUOTE:
最初由 biti_rainy 发布


current  scn 是 系统当前所产生的最大 scn ,可能是当前未结束事务所产生的scn。 在9i 的 dbms_flashback.get_system_number 可以得到这个值,这个值应该是大于等于  x$ktuxe SCN  (这个view 记录的是 当前数据库结束事务的最大scn)


You're right. I forgot about dbms_flashback.get_system_change_number.

I thought I could find out how Oracle got this number internally. I set SQL trace and see Oracle probably got this from one of idl_xxx$ tables, piece column. That "famous" piece column is of type UNDEFINED. I never figured out how to select from that column directly.

Before 9i, asktom tells us we can insert userenv('COMMITSCN') into a table and check its value. (Can't directly select it, got ORA-01725).

Yong Huang


只看该作者    顶部
离线 liwei9902
初级会员



精华贴数 0
个人空间 0
技术积分 64 (23542)
社区积分 0 (499308)
注册日期 2005-7-4
论坛徽章:0
      
      

发表于 2007-3-30 14:11 
很经典啊,收益菲浅!!


只看该作者    顶部
在线/呼叫 wgz7747
版主


精华贴数 0
个人空间 0
技术积分 2722 (585)
社区积分 14 (9133)
注册日期 2003-1-3
论坛徽章:10
现任管理团队成员ITPUB元老会员2007贡献徽章授权会员生肖徽章2007版:兔2008北京奥运纪念徽章:篮球
2008北京奥运纪念徽章:赛艇2008北京奥运纪念徽章:排球生肖徽章2007版:鼠生肖徽章2007版:鸡  

发表于 2007-4-14 10:10 
好多人还是对基础概念不清楚


__________________
概念上清楚 理论上了解 操作上熟练
只看该作者    顶部
离线 hanjs
高级会员


精华贴数 1
个人空间 0
技术积分 9920 (122)
社区积分 52 (4886)
注册日期 2006-7-30
论坛徽章:17
会员2007贡献徽章蓝色妖姬嫦娥授权会员2008北京奥运纪念徽章:铁人三项生肖徽章2007版:兔
数据库板块每日发贴之星数据库板块每日发贴之星2008年新春纪念徽章生肖徽章2007版:鼠生肖徽章2007版:鸡ITPUB新首页上线纪念徽章

发表于 2007-12-9 11:55 
还得再来一遍!


__________________
Database Concepts
Database Performance Tuning Guide and Reference
只看该作者    顶部
离线 hanjs
高级会员


精华贴数 1
个人空间 0
技术积分 9920 (122)
社区积分 52 (4886)
注册日期 2006-7-30
论坛徽章:17
会员2007贡献徽章蓝色妖姬嫦娥授权会员2008北京奥运纪念徽章:铁人三项生肖徽章2007版:兔
数据库板块每日发贴之星数据库板块每日发贴之星2008年新春纪念徽章生肖徽章2007版:鼠生肖徽章2007版:鸡ITPUB新首页上线纪念徽章

发表于 2007-12-9 13:51 
我有一个疑问!

SQL> select checkpoint_change#,archive_change#,controlfile_change#,archivelog_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE# ARCHIVELOG_CHANGE#
------------------ --------------- ------------------- ------------------
           3145665         3145039             3146288                  0

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1         17  104857600          1 NO       INACTIVE               3145665 2007-12-9 1
         2          1         18  104857600          1 NO       CURRENT                3146287 2007-12-9 1
         3          1         16  104857600          1 NO       INACTIVE               3145039 2007-12-9 1

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 3152331

SQL> insert into t values(4);

1 row inserted

SQL> commit;

Commit complete

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 3152417

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1         17  104857600          1 NO       INACTIVE               3145665 2007-12-9 1
         2          1         18  104857600          1 NO       CURRENT                3146287 2007-12-9 1
         3          1         16  104857600          1 NO       INACTIVE               3145039 2007-12-9 1

SQL> alter system switch logfile;

System altered

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1         17  104857600          1 NO       INACTIVE               3145665 2007-12-9 1
         2          1         18  104857600          1 NO       ACTIVE                 3146287 2007-12-9 1
         3          1         19  104857600          1 NO       CURRENT                3152499 2007-12-9 1

SQL> select checkpoint_change#,archive_change#,controlfile_change#,archivelog_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE# ARCHIVELOG_CHANGE#
------------------ --------------- ------------------- ------------------
           3146287         3145665             3152499                  0

通过上面的测试,怎么checkpoint_change#总是active log所对应的first_change#呢?而archive_chenge#是inactive log的那个first_change#,controlfile_change#是当前current log的first_change#?

不明白,感觉切换日志了会触发ckpt啊,那么应该记录我commit之后的那个状态啊!也就是3152417这个数前面的。


__________________
Database Concepts
Database Performance Tuning Guide and Reference
只看该作者    顶部
离线 joeldavid
奋斗


来自 HZ
精华贴数 0
个人空间 0
技术积分 317 (6313)
社区积分 14 (9261)
注册日期 2005-11-19
论坛徽章:9
2008北京奥运纪念徽章:艺术体操生肖徽章2007版:鸡2008北京奥运纪念徽章:帆船生肖徽章2007版:虎  
      

发表于 2007-12-10 10:07 


QUOTE:
原帖由 hanjs 于 2007-12-9 13:51 发表
不明白,感觉切换日志了会触发ckpt啊,那么应该记录我commit之后的那个状态啊!也就是3152417这个数前面的。

日志切换是要触发ckpt
日志切换后,redo log buffer内容写入到redolog中
dbwr写内容到DB block中的


__________________
SAP BASIS旅途慢慢
ADM100中...
My Space
只看该作者    顶部
离线 foxmile
蚊子
难得糊涂


精华贴数 0
个人空间 52
技术积分 12595 (95)
社区积分 3562 (392)
注册日期 2004-5-8
论坛徽章:29
数据库板块每日发贴之星2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:自行车2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:体操 
      

发表于 2007-12-13 20:08 
精彩的辩论。


__________________
疾风知劲草 板荡识诚臣!
我的blog   http://space.itpub.net/?79499
只看该作者    顶部
离线 paulyibinyi
态度决定一切


精华贴数 1
个人空间 629
技术积分 4602 (309)
社区积分 1203 (877)
注册日期 2006-4-17
论坛徽章:29
祖母绿生肖徽章2007版:龙2008北京奥运纪念徽章:现代五项2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:摔跤
2008北京奥运纪念徽章:马术2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:马术2008北京奥运纪念徽章:跆拳道2008北京奥运纪念徽章:棒球2008北京奥运纪念徽章:摔跤

发表于 2008-1-16 14:27 
温顾一下


__________________
目前看的文档
Performance Tuning Guide and Reference
oracle dba是我前进的动力
my blog
http://space.itpub.net/7199859/
oracle各种不完全恢复测试用例欢迎下载
http://www.itpub.net/viewthread.php?tid=974423
oracle 10g install asm database pdf
http://www.itpub.net/thread-1010536-1-1.html
step by step install oracle10g rac+asm for linux
http://www.itpub.net/thread-1014003-1-1.html
step by step install oracle10g rac+asm for windows
http://www.itpub.net/thread-1084821-1-1.html
11g RMAN active database duplicate
http://www.itpub.net/thread-1030938-1-1.html
只看该作者    顶部
离线 bigstone81
初级会员


精华贴数 0
个人空间 0
技术积分 48 (29412)
社区积分 1 (45381)
注册日期 2007-11-14
论坛徽章:0
      
      

发表于 2008-1-21 18:31 
看了一遍,收获不浅


__________________
从测试工作的oracle fans!




bigstone81@yahoo.cn
bigstone81@gmail.cn
只看该作者    顶部
离线 jlttt
请叫我oracler


精华贴数 0
个人空间 0
技术积分 483 (4119)
社区积分 0 (1344385)
注册日期 2007-4-10
论坛徽章:3
授权会员生肖徽章2007版:猴BLOG每日发帖之星   
      

发表于 2008-1-24 09:57 
经典!


__________________
oracling~~
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问