Solaris10如何确认DirectIO是否已经启用
对于Oracle而言,如果数据库存储在UFS文件系统上,启用DirectIO能够提高数据库性能。Oracle有个参数filesystemio_options可以控制数据库是否使用DirectIO. 如果在Oracle已经设置了使用DirectIO,怎样才能确认DirectIO是否真起作用了呢?在Solaris10上,可以通过dtrace来确认DirectIO是否已经启用。
1. DirectIO未启用的情况
检查filesystemio_options参数设置
SQL> show parameter filesystem NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
filesystemio_options string ASYNCH ASYNCH表示数据库只启用了异步IO, 没有启用DirectIO.
Dtrace检查控制文件是否启用DirectIO
root@ofs001 # dtrace -n io:::start'/(args[0]->b_flags & B_READ) == 0 && args[2]->fi_pathname == "/oracle/data1/ACC010C1/control01.dbf"/{@[stack()] = count()}'
dtrace: description 'io:::start' matched 6 probes
^C
ufs`lufs_write_strategy+0x100
ufs`ufs_putapage+0x4f1
ufs`ufs_putpages+0x308
ufs`ufs_putpage+0x82
genunix`fop_putpage+0x28
genunix`vpm_sync_pages+0xa3
ufs`wrip+0x6f7
ufs`ufs_write+0x211
genunix`fop_write+0x31
genunix`pwrite+0x14f
unix`sys_syscall+0x17b
44
系统调用了ufs_write, 表示DirectIO未启用
Dtrace检查数据文件是否启用DirectIO
在一个session上执行dtrace命令,另一session执行一个create table … as select * from xx;的命令.
root@ofs001 # dtrace -n io:::start'/(args[0]->b_flags & B_READ) == 0 && args[2]->fi_pathname == "/oracle/data2/ACC010C1/users01.dbf"/{@[stack()] = count()}'
dtrace: description 'io:::start' matched 6 probes
^C
ufs`lufs_write_strategy+0x100
ufs`ufs_putapage+0x501
ufs`ufs_putpages+0x308
ufs`ufs_putpage+0x82
genunix`fop_putpage+0x28
genunix`vpm_sync_pages+0xa3
ufs`wrip+0x6f7
ufs`ufs_write+0x211
genunix`fop_write+0x31
genunix`pwrite+0x14f
unix`sys_syscall+0x17b
4
ufs`lufs_write_strategy+0x100
ufs`ufs_putapage+0x4f1
genunix`pvn_vplist_dirty+0x3aa
ufs`ufs_putpages+0x1c2
ufs`ufs_putpage+0x82
genunix`fop_putpage+0x28
ufs`ufs_fsync+0x1c4
genunix`fop_fsync+0x28
genunix`fdsync+0x28
unix`sys_syscall+0x17b
20
系统调用ufs_write, 表示DirectIO未启用
2. DirectIO启用的情况
检查filesystemio_options参数设置
SQL> show parameter filesystem NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
filesystemio_options string SETALL SETALL表示数据库同时启用了异步IO和DirectIO.
Dtrace检查控制文件是否启用DirectIO
root@ofs001 # dtrace -n io:::start'/(args[0]->b_flags & B_READ) == 0 && args[2]->fi_pathname == "/oracle/data1/ACC010C1/control01.dbf"/{@[stack()] = count()}'
dtrace: description 'io:::start' matched 6 probes
^C
ufs`directio_start+0x12c
ufs`ufs_directio_write+0x788
ufs`ufs_write+0x383
genunix`fop_write+0x31
genunix`pwrite+0x14f
unix`sys_syscall+0x17b
39
系统调用ufs_directio_write, 表示启用了directio.
Dtrace检查数据文件是否启用DirectIO
在一个session上执行dtrace命令,另一session执行一个create table … as select * from xx;的命令.
root@ofs001 # dtrace -n io:::start'/(args[0]->b_flags & B_READ) == 0 && args[2]->fi_pathname == "/oracle/data2/ACC010C1/users01.dbf"/{@[stack()] = count()}'
dtrace: description 'io:::start' matched 6 probes
^C
ufs`directio_start+0x12c
ufs`ufs_directio_write+0x788
ufs`ufs_write+0x383
genunix`fop_write+0x31
genunix`pwrite+0x14f
unix`sys_syscall+0x17b
17
系统调用ufs_directio_write, 表示启用了directio.
Solaris10如何确认DirectIO是否已经启用的更多相关文章
- TCP Nagle算法&&延迟确认机制
TCP Nagle算法&&延迟确认机制 收藏 秋风醉了 发表于 3年前 阅读 1367 收藏 0 点赞 0 评论 0 [腾讯云]买域名送云解析+SSL证书+建站!>>> ...
- Nagle算法&&延时确认
数据流分类 成块数据 交互数据 Rlogin需要远程系统(服务器)回显我们(客户)键入的字符 数据字节和数据字节的回显都需要对方确认 rlogin 每次只发送一个字节到服务器,而Telnet 可以 ...
- TCP Nagle算法以及延迟确认(即延迟回复ACK)的学习
TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认.为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据. (一个连TCP接会 ...
- 详细介绍Mysql各种存储引擎的特性以及如何选择存储引擎
最近业务上有要求,要实现类似oracle 的dblink linux版本 Server version: 5.6.28-0ubuntu0.14.04.1 (Ubuntu) 修改配置文件 /etc/ ...
- ASP.NET Identity V2
Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMe ...
- 缓存Cache
转载自 博客futan 这篇文章将全面介绍有关 缓存 ( 互动百科 | 维基百科 )cache以及利用PHP写缓存caching的技术. 什么是缓存Cache? 为什么人们要使用它? 缓存 Cach ...
- php绘图问题
php绘图首先要确认gd库是否启用,到php.ini文件中,找到extension=php_gd2.dll将前面的:去掉,重新启动服务器. 如果在绘图中还是没有显示正常的图片,说明服务器在回复请求时, ...
- Mysql日志操作
Mysql日志 mysql的日志类型:错误日志: -log-err记录mysql服务的启动.运行.停止mysql服务时出现的问题查询日志: -log记录建立的客户端连接和执行的语句慢查询日志: -lo ...
- mysql配置详解
mysql有以下几种日志: 错误日志: log-err 查询日志: log 慢查询日志: log-slow-queries 更新日志: log-update 二进制日志: ...
随机推荐
- iphone的一些坑
1.<div contenteditable></div>需要添加css user-select: text;才能输入. 2.css属性animation一直存在,添加了-we ...
- SharedPreferences概述
SharedPreferences概述 一.简介 SharedPreferences简介 上图紫色标注的部分为使用方法. SharedPreferences成员(属性和方法) 二.核心函数及使用实例 ...
- dp1--乘积最大
dp1--乘积最大 一.心得 1.用excel填数组很方便 2. dp就是填表 找状态就是缩小规模 找状态转移方程就是 找状态的最后一次关系 二.题目 8782:乘积最大 查看 提交 统计 提问 总时 ...
- Python学习之路day4-函数高级特性、装饰器
一.预备知识 学习装饰器需理解以下预备知识: 函数即变量 函数本质上也是一种变量,函数名即变量名,函数体就变量对应的值:函数体可以作为值赋给其他变量(函数),也可以通过函数名来直接调用函数.调用符号即 ...
- Ubuntu下常用的快捷键
熟练地快捷键操作可以大大的节省我们的时间,下面贴上一些快捷键的操作: 桌面常用快捷键 Alt + F1:聚焦到桌面左侧任务导航栏,可按上下键进行导航 Alt + F2:运行命令 Alt + F4:关闭 ...
- BEC listen and translation exercise 8
The double-decker plane that can carry over 550 passengers dwarfs all other commercial jets. In just ...
- 网络编程基础----并发编程 ---守护进程----同步锁 lock-----IPC机制----生产者消费者模型
1 守护进程: 主进程 创建 守护进程 辅助主进程的运行 设置进程的 daemon属性 p1.daemon=True 1 守护进程会在主进程代码执行结束后就终止: 2 守护进程内无法再开启子进程 ...
- skynet coroutine 运行笔记
阅读云大的博客以及网上关于 skynet 的文章,总是会谈服务与消息.不怎么看得懂代码,光读这些文字真的很空洞,不明白说啥.网络的力量是伟大的,相信总能找到一些解决自己疑惑的文章.然后找到了这篇讲解 ...
- 网络爬虫必备知识之concurrent.futures库
就库的范围,个人认为网络爬虫必备库知识包括urllib.requests.re.BeautifulSoup.concurrent.futures,接下来将结对concurrent.futures库的使 ...
- [独孤九剑]Oracle知识点梳理(零)目录
本系列只涉及到Oracle的具体用法,没有上升到理论层面,都是日常工作中总结积累出的零碎知识点,基本上都是一些使用例子,哪天用到了,可以直接复制出来改改. [独孤九剑]Oracle知识点梳理(一)表空 ...