网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.优化Oracle停机时间及数据库恢复.
.关于Oracle 9i 跳跃式索引扫描(I.
.Oracle数据库中Undo数据段的作用.
.不同字符集倒库的方法.
.甲骨文函数大全.
.使用Instr()与decode()进行多条件.
.Develop2K 6.0常见问题解答.
.ORACLE ERP导数据.
.抛砖引玉 -- 对集合的整理资料.
.Oracle性能调优过程中如何观察缓.
.通过JDBC数据库连接oracle数据库.
.Oracle9iAS刷新ECperf基准测试记.
.开放和基于标准的智能套件.
.用orabm测试oracle服务器的TPS值.
.手工建造 Swap Partition.
.buffer cache深度分析之buffer c.
.如何查看unix下某个oracle OS的进.
.实施数据仓库的建议.
.Oracle经验谈:删除DUAL表后的处.
.oracle8i在linux9的安装步骤.

Oracle10g中的current_scn是如何计算的

发表日期:2008-2-9


问:Oracle10g的current_scn是如何计算的? 答:我们知道Oracle10g在v$database视图中引入了current_scn,这个SCN来自底层表,代表当前的SCN,在Oracle9i中我们可以通过dbms_flashback.get_system_change_number来获得系统的SCN。 但是注重current_scn还是有所不同的,我们看一下一个查询: oracle@danaly ~]$ sqlplus '/ as sysdba'
SQL*Plus: Release 10.2.0.1.0 - ProdUCtion on
Thu Jun 21 10:15:08 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition
Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security,
OLAP and Data Mining Scoring Engine options
SQL> @scn
SQL> col current_scn for 99999999999999999
SQL> select current_scn from v$database;
CURRENT_SCN
------------------
8910961765228
SQL> select dbms_flashback.get_system_change_number
current_scn from dual;
CURRENT_SCN
------------------
8910961765228
SQL> select dbms_flashback.get_system_change_number
current_scn from dual;
CURRENT_SCN
------------------
8910961765228
SQL> select current_scn from v$database;
CURRENT_SCN
------------------
8910961765229
SQL> select dbms_flashback.get_system_change_number
current_scn from dual;
CURRENT_SCN
------------------
8910961765229
SQL> select dbms_flashback.get_system_change_number
current_scn from dual;
CURRENT_SCN
------------------
8910961765229
SQL> select current_scn from v$database;
CURRENT_SCN
------------------
8910961765230 我们看到current_scn的查询会直接导致SCN的增进,而其他方式并不会。也就是说在这里的current_scn就像是一个Sequence一样,查询会导致增进。这也很好理解,v$database只能通过增进当前的SCN才能保证获得的SCN是Current的。可是假如不查询呢?这个值肯定是不会增长的。 也就是说你不查询就不知道current_scn的值,只要查询它就会出现变化。

上一篇:轻松掌握如何禁用 Oracle数据库的XDB 人气:633
下一篇:实例解析:工作中遇到的Oracle故障分析 人气:723
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐