暂无图片
Oracle在缓冲区缓存中如何管理块?
我来答
分享
胡武
2023-02-15
Oracle在缓冲区缓存中如何管理块?

Oracle在缓冲区缓存中如何管理块?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

Oracl缓冲区缓存中的块实质上在一个区域上管理,但有两个不同的列表指向这些块。

脏(dirty)块列表,其中的块需要由数据库块写入器(DBWn)写入磁盘。

非脏(nodirty)块列表。

在Oracle8.0及以前版本中,非脏块列表用的是一种最近最少使用(Least Recently Used,LRU)列表,所有的块按被使用的顺序列出。在Oracle8i及以后版本中,这个算法有所修改。Oracle不再按物理顺序方式来维护块列表,而是采用了一种叫作接触计数(touch count,也称使用计数)的算法。如果数据库操作命中(hit)缓存中的某个块,则会增加与之关联的计数器的值。块缓冲区不再像以前那样移到块列表的最前面,而是留在块列表中,并递增它的接触计数。

管理这些列表的整个算法相当复杂,而且随着Oracle版本的变化也在变化,并不断改进。

暂无图片 评论
暂无图片 有用 3
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
当RAC环境中,本地FG进程要从远程实例master node的申请数据块时,是与远程哪个进程直接通信的?
回答 2
已采纳
lms进程吧
Windows server2008安装Oracle的时候这一步怎么操作?
回答 3
硬件不符合要求,增加硬件资源,或者换个机器!硬装也用不了!
oracle 10.2.0.4标准版中v$dataguard_stats适用吗?
回答 4
已采纳
那你是如何确认现在dg同步是正常的呢?alertlog有输出mediarecover应用日志的信息吗?用这个我sql查试试selectprocess,status,sequence,THREAD,BL
Oracle Rman异机恢复实例名必须相同吗?
回答 2
Oracle:impdp时掉主键导致导入数据有重复记录?
回答 2
原表可能有重复记录,然后排除比较困难。用了延迟校验,只对后续数据加约束,之前的数据不验证。这种在11g的时候就有。导出可能会被误以为主键失效,其实不是的。
Oracle 生产库,都开启闪回和force logging吗?
回答 3
开闪回的少,根据业务需要forcelogging是你进行adg的时候需要开启的!
毕业设计linux+oracle11g,两个虚拟机也安装好了,软件已经安装,需要将一个数据库脚本成功运行,搭建NFS和ISCSI,已经数据文件控制文件和日志文件的备份
回答 7
厉害,我毕业2年才自己学会了搭建RAC
哪种连接条件,是可能走出HASH JOIN的
回答 2
已采纳
这题不太好回,因为只要有连接,都有办法让它走hashjoin,大不了强制hint。无论是基于RBO还是CBO,连接条件的本身都不是是否会走hashjoin的决定因素,比如下面这个例子createtab
Oracle 把图片用二进制的方式blob 存储后,所占空间与图片大小一致吗?
回答 2
用这个表名去查大小,你会发现这个表的大小没有变,下面我模拟了存入一个BLOB对象并让它变大https://dbfiddle.uk/?rdbmsoracle21&fiddle948ce4fca7
Oracle 19c 标准版可以搭建dg吗?
回答 2
不可以