当前位置: 首页 > ai >正文

详解Oracle HASH CHAIN和HASH BUCKET

服务器进程将数据块读取至BUFFER CACHE之后,会将数据块的DBA(Data Block Address)进行简单的HASH函数计算,并将所有具有相同HASH值的数据块挂载至同一个HASH BUCKET下,同时还会用HASH CHAIN串联起来。因此,利用这种算法,Oracle只要通过计算数据块的HASH值就可以快速定位数据块应该属于哪一条HASH CHAIN,然后定位该数据块。
CR(Consistent Read)块指的是当前数据块和UNDO中的前映像数据整合的数据块。由于同一个数据块的CR块都具有相同的DBA值,所以它们都挂载在同一条HASH CHAIN中。如果过多的CR块驻留在BUFFER CACHE将会导致HASH CHAIN过长,从而增大出现HASH CHAIN争用的概率,所以Oracle设置一个隐含参数_db_block_max_cr_dba,用于限制CR块数量(默认情况下,不能超过6个),通过这种方法在某种程度上减小了HASH CHAIN冲突的概率。Oracle 10g以上版本中,一条HASH CHAIN中一般不会存在很多BLOCK。可以通过以下查询判断系统中是否存在过长的HASH CHAIN:
select hladdr, count(*) from xKaTeX parse error: Unexpected character: '' at position 316: …量,需同时满足以下两个条件: ̲调整BUFFER CACHE的…sgainfo where NAME=‘Buffer Cache Size’;
如果数据块大小为16KB,那么该BUFFER CACHE可大致存放5262336个BLOCK BUFFER,如下所示:
SQL> select 86218113024/16384 from dual;
根据Oracle 10g HASH BUCKET数量的算法,大于2倍db block buffer数量的最小的2的幂次的数值应该是16777216(2的24次方),这个计算值和该数据库中的隐含参数_db_block_hash_buckets值相同。如果要通过修改BUFFER CACHE大小来自动调整HASH BUCKET的数量,那么BUFFER CACHE的大小至少要调整为16777216/2×16384=128GB,然后重启数据库。
注意 为简单起见,以上计算过程没有包含BUFFER HEADER的大小,所以在实际调整过程中,BUFFER CACHE的值要比计算出来的值略大。

http://www.xdnf.cn/news/7318.html

相关文章:

  • TS04:高性能四通道自动灵敏度校准电容触摸传感器
  • 【氮化镓】关态下负栅压对 p-GaN HEMTs 单粒子效应的影响
  • 智慧招生:实时数字人在院校招生中的应用
  • 上路兵线的理解-鳄鱼篇
  • 【工具推荐】--Git详解
  • LightRAG 由入门到精通
  • CSS- 4.5 css + div 布局 简易网易云音乐 官网布置实例
  • R 语言科研绘图第 49 期 --- 热力图-相关性
  • MySQL进阶篇-InnoDB引擎(超细)
  • 大模型预训练、微调、部署、推理用到的工具总结
  • Lambda 表达式底层实现机制 vs 成员函数/静态成员函数可替代性对比
  • 易境通散货拼柜系统:提高货代企业货物配载效率
  • python打卡day30@浙大疏锦行
  • 【强化学习】#6 n步自举法
  • Blaster - Multiplayer P65-PXX : 射击武器
  • 吉林省建筑工程专业技术人员职称评审实施办法
  • (C语言)内存分配函数
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 13.几何着色器(二)爆炸效果修改图元类型
  • BIM+GIS+loT 技术在大中型水库信息化建设中的融合应用
  • [模型优化] 1. 模型转换
  • SeleniumBase - 多合一浏览器自动化框架
  • python重庆旅游系统-旅游攻略
  • CSS 单位详解:px、rem、em、vw/vh 的区别与使用场景
  • day30-模块和库的导入
  • YOLOv8 在单片机上的几种部署方案
  • 贪心算法:多处最优服务次序、删数问题
  • 【WFAS】《Wild Face Anti-Spoofing Challenge 2023: Benchmark and Results》
  • 数据库存储空间告急?磁盘清理与归档策略全解析
  • ebpf程序入门编写
  • 使用 Flask 框架实现FTP,允许用户通过 Web 界面浏览和下载文件夹中的所有文件