li
  当前位置:主页 > 性能优化 > 文章内容
li
oracle大师谈:OS与oracle异同探讨
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2007-12-29   阅读:23  

DB OS 之间,设计思想异曲同工,理解了,也不那么神秘了。

 

os oracle 都一样,在空间和时间的资源消耗中寻找平衡。试图去理解 设计者的意图,是很重要的学习方法。

比如10G flashback database ,为什么推出这个功能,是为了节约恢复时间,那么他的代价是什么,就是增加了 磁盘消耗来记录变化的 block ,这样就用增加 IO 和存储的代价(包括数据库运行是消耗的cpu时间)来节约了恢复时候的时间和资源。随着硬件性能和容量的不断提升,思想已经转变,把 正常运行中可以拿出来的资源(对于10年前的oracle来说 内存、磁盘、 cpu 都是需要尽量节约的)来弥补恢复时间太长的不足。

IXDBA.NET技术社区

下面对比几个方面:

oracle ASSM 在逻辑上和 文件系统 相似,当然和 linux ext3 思想更相近一些

os 本来是根据 512 bytes block 作为扩展单元以防止碎片节约磁盘,但现在存储的容量的发展早已日新月异,不再需要为几k的空间费劲了,出了ext2/ext3 就是类似oracle extent 作为扩展单元,这样更有利于IO 这方面朝数据库走近了一步。 oracle DMT 走向 LMT 再走向ASSM ,则如果把extent看做block的话,有点类似索引的结构,或者说类似文件系统的 i-node 索引结构。这个可以看作 数据库和os 都朝中间走了一步。



oracle
buffer cache 的管理 os 共享内存的 管理思想很相似

这个我更倾向于说 LRU / hash table /list 。对于 SUN solaris 来说,use_ism 本质上就是允许多个进程共享页表入口访问page list 以达到并发的目的,跟oracle cache buffer chain 类似了。



oracle slaves
就是模拟 AIO

oracle 假如不使用 AIO ,则 dbwr write /wait /write /wait ,下一个写必须等上一个写完成,而io_slaves的作用则是 dbwr 把要写的buffer交给 slaves ,由slaves写完成,那么写还没有完成的时候dbwr可以去做下一步事情,搜集dirty buffer 并提交下一个写请求。而oracle AIO 的概念,就是让 DBWR 可以 write/write/write 不必等上一个写完成就可以提交下一个写请求,达到 并行写的目的以充分利用空闲的硬件资源

 

另外还有一些:


oracle
redo log 文件系统的log作用类似

oracle的事务和 os 文件系统的事务

oracle DMT
数据字典表、LMT bitmap/extent map 和文件系统的 i-node 数据库这些空间控制的变化的日志 文件系统的 intent log

在内存管理方面,使用 hash table + list

原文讨论可参考:

http://www.itpub.net/showthread.php?threadid=308541




  上一篇: 问题释疑:如何配置才能使客户端...   下一篇: 案例分析:ora-04031与ora-04030...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·问题释疑:如何配置才能使客户端...
·32bit oracle 扩展SGA原理
·强烈推荐:oracle10g+rac配置sta...
·关于数据库open的深入探究
·oracle优化:oracle诊断性能问题
·强烈推荐:ORACLE学习笔记--性能优...
·PGA:关于pga_aggregate_target的...
·我的一个总结:检查点SCN深入研究
·解读oracle控制文件
·ORACLE SQL性能优化系列 (一)
·案例分析:ora-04031与ora-04030...
·案例分析:ORA-01000: maximum o...
·案例分析:ORA-01178错误释疑
·案例分析:ORA-01461错误
·案例分析:ORA-12500错误案例
·案例分析:ORA-25153: Temporary...
·Oracle优化经典文章--磁盘I/O和碎...
·oracle问题小结一:ORACLE常见错...
·Java用OCI驱连Oracle数据库的实现...
·Oracle数据库ASM功能详解
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接