SCN疑问

[复制链接]
查看11 | 回复9 | 2009-7-22 09:30:00 | 显示全部楼层 |阅读模式
select dbms_flashback.get_system_change_number fscn from dual; (查询当前的SCN号)
查询的结果与
select checkpoint_change# from v$database; 查询的结果不一样,请问这两个SCN有什么区别吗?为什么前者的结果经常变化?请多指教。
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
没有人帮忙 吗?是不是我发得太早了呀
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
select dbms_flashback.get_system_change_number fscn from dual; database当间 scn 是最新的
select checkpoint_change# from v$database; 记录在controlfile里的system scn,当发生检查点才改变
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
select dbms_flashback.get_system_change_number fscn from dual;系统当前最新的SCN,它好像一在变化,能说说它变化的机制吗?谢谢
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
原帖由 haishi633 于 2009-5-6 09:20 发表
select dbms_flashback.get_system_change_number fscn from dual;系统当前最新的SCN,它好像一在变化,能说说它变化的机制吗?谢谢


它就是系统内部的一个时钟,每时每刻都在增长
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
select checkpoint_change# from v$database;这是控制文件中记录的scn号,ckp进程更新
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
select dbms_flashback.get_system_change_number current_scn from dual
union
select current_scn from v$database
說到SCN 也有個總是﹐
以上select 你們select 的結果一樣嗎??
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
dbms_flashback.get_system_change_number用于为事务分配最新的scn,v$DATABASE中的checkpoint_change#是系统的checkpoin scn,在日志切换或发生checkpoint时更新
http://www.hellodba.com/Doc/Oracle_SCN.htm
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
原帖由 zwc1083 于 2009-5-6 10:15 发表
select dbms_flashback.get_system_change_number current_scn from dual
union
select current_scn from v$database
說到SCN 也有個總是﹐
以上select 你們select 的結果一樣嗎??


但當把他們反過來寫只能有一個結果。
雖然他們都代表數據庫當前的SCN﹐怎么會有這樣的結果。
回复

使用道具 举报

千问 | 2009-7-22 09:30:00 | 显示全部楼层
谢谢各位 呀,你们的回答让我豁然开朗,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行