scn 详解(修改)
oracle SCN 详解
1. 什么是 scn
SCN(system change number) 就是系统改变号 , 是数据库非常重要的一种数据结构。 在数据库中scn 作为一种时钟机制来标记数据库动作,比如当 事物 的发生,数据库会用一个scn来标记它。同时这个SCN在数据库全局也是唯一的,它随时间的增长而增长除非重建数据。
在数据库中,SCN可以说是无处不在,数据文件头, 控制文件, 数据块头 , 日志文件等等 都标记这 SCN。也正是这样,数据库的一致性维护和SCN密切相关。不管是数据的备份,恢复都是离不开SCN的。
2. 获取当前的SNC
随着oracle的版本的变化,获取 SNC也有相应的变化,下面是不同版本下 获取 SCN 的方法。
1) 在 Oracle Database 10g 中获取当前SCN比较容易只要查看v$database视图就current_scn列就行。
SQL> select * from v$version ;
BANNER
------------------------------------------------------------
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for HPUX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
SQL> select current_scn from v$database ;
CURRENT_SCN
-----------
102952636
2) 在 oracle database 9i 中要麻烦些,v$database视图中没有current_scn这列,只有通过查询x$ktuxe视图来得到。
SQL> select * from v$version ;
BANNER
--------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
SQL> select max(ktuxescnw*power(2,32)+ktuxescnb) scn from x$ktuxe ;
SCN
----------
316755
(为了方便查询,建议将此查询创建为一个视图,前提是要你应用允许条件下。)
同时在 9i中也提供相应的包来查当前scn 。
SQL> select dbms_flashback.get_system_change_number from dual ;
GET_SYSTEM_CHANGE_NUMBER
------------------------
317040
3. checkpoint
要讲清楚scn ,checkpoint 就必不可讲了。 checkpoint 和scn密切相连,checkpoint能对scn做更新操作,当 oracle在做一次checkpoint 动作时,会将数据文件,日志文件,控制文件中的scn进行更新,同时又将db_cache中的胀数据库写入到磁盘中。 可以通过v$instance_recovery中的CKPT_BLOCK_WRITES查询得到因checkpoint 动作写进磁盘的数据块个数。
SQL> select CKPT_BLOCK_WRITES from v$instance_recovery ;
CKPT_BLOCK_WRITES
-----------------
4402
对于checkpoint来说其主要作用有两个,一是减少系统crash恢复的时间,二是保证数据库读一致性。 但这个作用归根到底还是到一点上,就是保证数据定期写到数据库文件中。 在这过程当中,checkpoint 动作就将SCN写入到日志文件,控制文件,数据文件中。这里要说一点的是,在日志文件中包含了Low SCN 和 Next Scn , 这两个scn标示着这个日志文件记录的那个阶段的数据库操作。但对于current 状态的日志文件,其Next SCN被设置为无穷大。
SQL> select group# , status , first_change# from v$log ;
GROUP# STATUS FIRST_CHANGE#
---------- ---------------- -------------
1 ACTIVE 690093
2 CURRENT 698092
3 INACTIVE 682581
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25380220/viewspace-697631/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25380220/viewspace-697631/
scn 详解(修改)相关推荐
- oracle scn 重置,学习笔记:Oracle SCN详解 SCN与Oracle数据库恢复的关系
天萃荷净 分享一篇关于Oracle SCN的详解,介绍SCN与Oracle数据库恢复的关系和SCN在数据库中的作用 一.为什么需要System checkpoint SCN号与Datafile Che ...
- jupyter notebook python3路径_详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式...
方式1. 打开Windows的cmd,在cmd中输入jupyter notebook --generate-config如下图: 可以看到路径为D:\Users--找到此路径修改jupyter_not ...
- Linux11-权限的介绍 rwx详解 修改权限 修改文件目录所有者 修改文件目录所在组 一个实践和两个练习
目录 一 权限的基本介绍 0位:确定文件类型(常见类型五种 - l d c b) -:普通文件 l:链接,相当于win下的快捷方式 d:目录,相当于win下的文件夹 c:字符设备文件,鼠标键盘 ...
- oracle数据库的scn,Oracle数据库SCN详解
SCN号概述 SCN是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字.Oracle数据库中一共有4种SCN分别为 系统检查点SCN: 系统检查点SCN位于控制文件中,当检查点进程启 ...
- Oracle SCN详解
2019独角兽企业重金招聘Python工程师标准>>> SCN号概述 SCN是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字.Oracle数据库中一共有4种SC ...
- mysql scn_Oracle scn详解
如果这两个值相互匹配,oracle接下来还要比较数据文件头中的启动scn和控制文件中数据文件的终止scn.如果这两个值也一致,就意味 前面写过一个scn的基础性的文章,但是不能反映scn的变化和存在情 ...
- szu 寒训复习day #4数论入门详解[修改]用Mardown再改了一下
整数的取余运算 定义:带余除法 设a,ba,ba,b是整数,且b>0b>0b>0,则存在非负整数 q,rq,rq,r ,使得 a=bq+ra=bq+ra=bq+r 且 0≤r< ...
- Oracle 系统改变号SCN详解
这篇文章是参考甲骨论老相老师的教学视频: http://v.youku.com/v_show/id_XNDAyNDIyMDgw.html 所做的学习笔记. 1. SCN的定义 scn的英文全称就是 s ...
- 家用电器用户行为分析与事件识别代码详解+修改后运行无误的代码
运行环境: ubuntu16.04 64位 pycharm python3.5.2 相关软件列表: cycler (0.10.0) graphviz (0.7.1) h5py (2.7.0) Kera ...
最新文章
- 虽然这些代码很少,就几行,但却很牛逼!
- 简述css布局技术的特点,div+css布局技术漫谈
- What is the expectation maximization algorithm?
- linux下多线程之pthread_detach(pthread_self())
- 运维监控再添新品,F5联合智维数据推出应用质量主动拨测解决方案
- 轴只显示5个刻度_告别大象腿,迎接魅力美腿,变身女王你只需5个方法
- Java 链表数据修改
- 深入分析 RestController 与 Controller 的区别,你真的了解吗?
- Java数据结构与算法-环形队列
- 2021年青海省大学生首届网络安全知识与技能大赛——赛题回顾及基本讲解
- OpenCv颜色直方图
- javaWeb中的分页处理思想
- 【大数据部落】出租车数据分析:用数据告诉你出租车资源配置是否合理
- java实验计算机与光盘,JAVA实验指导资料.docx
- 华为机顶盒E6108 V9-V9U-V92-V97免拆机-刷机固件及教程
- 4 实验项目_Android开发环境搭建
- 怎样用python获取财经网新闻
- 正弦余弦编码器与增量编码器的区别
- XOI2003赛后题解
- 零基础学Arcgis系列教程
热门文章
- 未来:spring响应式编程 Hands-On Reactive Programming in Spring 5(二)------Basic Concepts
- 教练技术培训系列篇二——明辨
- SNS 游戏中社区 Server 和游戏 Server 一种数据交互的策略
- 超大型数据中心正在改变精密空调市场
- html格式图片可以转换成word文档,html网页转换成word文档,转换成功,并且可以保存图片,但是总是为web版式的格式,怎么改成“页面”格式,多谢...
- 闲来无事,用java写了一个魔方小程序。附源码
- 自平衡小车控制代码分享
- java 上传 excel_Java对Excel表格的上传和下载处理方法
- [NOIP2011]聪明的质监员
- python3内置集成开发工具_python应用(3):启用集成开发工具pycharm