【DB笔试面试595】在Oracle中,I/O Calibration和DOP有什么关系?
2021/4/16 2:30:47
本文主要是介绍【DB笔试面试595】在Oracle中,I/O Calibration和DOP有什么关系?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
♣题目 部分
在Oracle中,I/O Calibration和DOP有什么关系?
♣答案部分
从Oracle 11.2.0.2开始,只有当I/O Calibration(I/O 校准、I/O统计信息)被收集才能使用自动并行度(DOP,Automatic Degree of Parallelism)。当PARALLEL_DEGREE_POLICY被设置为AUTO时,Oracle数据库将会基于执行计划中操作的成本和硬件特性来判断是否使用并行。如果一个PARALLEL Hint在语句级被使用,那么无论PARALLEL_DEGREE_POLICY的值设置成什么,自动并行度都将被开启。
若没有收集I/O Calibration统计数据,则在执行计划的Note部分可以看到“automatic DOP: skipped because of IO calibrate statistics are missing”这样的信息。若使用了DOP,则可以在执行计划的Note部分可以看到类似于“automatic DOP: Computed Degree of Parallelism is 2”的信息。
Oracle提供了PL/SQL包DBMS_RESOURCE_MANAGER.CALIBRATE_IO来收集I/O Calibration的统计数据。收集I/O Calibration统计数据的持续时间由NUM_DISKS变量与RAC中节点数决定的。视图V$IO_CALIBRATION_STATUS可以查询是否收集了I/O Calibration统计数据。若没有收集I/O Calibration,则可以使用如下的存储过程来收集:
1SET SERVEROUTPUT ON 2DECLARE 3 lat INTEGER; 4 iops INTEGER; 5 mbps INTEGER; 6BEGIN 7 --DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat); 8 DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 10, iops, mbps, lat); 9 DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);10 DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);11 dbms_output.put_line('max_mbps = ' || mbps);12END;13/SET SERVEROUTPUT ON 2DECLARE lat INTEGER; iops INTEGER; mbps INTEGER; 6BEGIN --DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat); DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 10, iops, mbps, lat); DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops); DBMS_OUTPUT.PUT_LINE ('latency = ' || lat); dbms_output.put_line('max_mbps = ' || mbps); 12END; 13/
注意,DBMS_RESOURCE_MANAGER.CALIBRATE_IO的前两个参数分别为num_disks和max_latency是输入变量,并且有三个输出变量。
num_disks:为了获得最精确的结果,最好提供数据库所使用的真实物理磁盘数。如果是使用ASM来管理数据库文件,那么就是指存储数据的磁盘组,那么只有存储数据的磁盘组中的物理磁盘作为num_disks变量值,不包含FRA磁盘组中的物理磁盘。
latency:对数据库块I/O操作允许的最大延迟。
& 说明:
有关什么是I/O Calibration的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2148709/
本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
---------------优质麦课------------
详细内容可以添加麦老师微信或QQ私聊。
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
DBA宝典
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
喜欢就点击“好看”吧
这篇关于【DB笔试面试595】在Oracle中,I/O Calibration和DOP有什么关系?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享