linux oracle io 查看,Linux上Oracle是否使用异步io的诊断
客户的数据库IO负载较重,检查后发现并未设置异步IO。
整个数据库的负载都集中在IO相关的等待上:
Top 5 Timed Foreground Events
Event
Waits
Time(s)
Avg wait (ms)
% DB time
Wait Class
log file sync
697,116
70,128
101
36.29
Commit
db file sequential read
2,982,135
54,498
18
28.20
User I/O
db file scattered read
754,680
38,741
51
20.05
User I/O
free buffer waits
35,410
20,560
581
10.64
Configuration
DB CPU
6,172
3.19
检查后发现,当前系统并未使用异步io:
[oracle@localhost ~]$ cat /proc/slabinfo | grep kio
kioctx 37 140 384 10 1 : tunables 54 27 8 : slabdata 14 14 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
[oracle@localhost ~]$ cat /proc/slabinfo | grep kio
kioctx 37 140 384 10 1 : tunables 54 27 8 : slabdata 14 14 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
返回结果中kiocp对应的前两项为0,说明系统中没有使用异步io。
检查显示oracle已经链接了aio的包:
[oracle@localhost ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /lib64/libaio.so.1 (0x0000003e13000000)
[oracle@localhost ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /lib64/libaio.so.1 (0x0000003e13000000)
而数据库中检查发现filesystemio_options设置有误:
SQL> show parameter disk_asynch_io
NAME TYPE VALUE
------------------------------------ -------------------------------- --------------------
disk_asynch_io BOOLEAN TRUE
SQL> SHOW parameter filesystemio_options
NAME TYPE VALUE
------------------------------------ -------------------------------- -------------------
filesystemio_options string NONE
NAME TYPE VALUE
------------------------------------ -------------------------------- --------------------
disk_asynch_io boolean TRUE
SQL> show parameter filesystemio_options
NAME TYPE VALUE
------------------------------------ -------------------------------- -------------------
filesystemio_options string none
当前使用的是文件系统,因此需要将filesystemio_options设置为asynch,才能开启异步io:
SQL> ALTER SYSTEM SET FILESYSTEMIO_OPTIONS = ASYNCH SCOPE = SPFILE;
System altered.
SQL> SHUTDOWN IMMEDIATE
DATABASE closed.
DATABASE dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.
Total System Global Area 6.0264E+10 bytes
Fixed SIZE 2242912 bytes
Variable SIZE 2147485344 bytes
DATABASE Buffers 5.7982E+10 bytes
Redo Buffers 131960832 bytes
DATABASE mounted.
DATABASE opened.
SQL>
SQL> ALTER SYSTEM SET FILESYSTEMIO_OPTIONS = ASYNCH SCOPE = SPFILE;
System altered.
SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.
Total System Global Area 6.0264E+10 bytes
Fixed Size 2242912 bytes
Variable Size 2147485344 bytes
Database Buffers 5.7982E+10 bytes
Redo Buffers 131960832 bytes
Database mounted.
Database opened.
SQL>
再次检查系统上异步io的设置,发现异步io已经启动:
[oracle@localhost ~]$ more /proc/slabinfo |grep kio
kioctx 130 160 384 10 1 : tunables 54 27 8 : slabdata 16 16 0
kiocb 16 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 1
[oracle@localhost ~]$ more /proc/slabinfo |grep kio
kioctx 130 160 384 10 1 : tunables 54 27 8 : slabdata 16 16 0
kiocb 16 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 1
可以看到,目前异步IO已经生效。
linux oracle io 查看,Linux上Oracle是否使用异步io的诊断相关推荐
- linux篇:查看Linux版本号
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...
- Linux Shell CentOS 查看Linux 操作系统 相关信息
文章目录 Linux Shell CentOS 查看Linux 操作系统 相关信息 相关阅读 1.代码 2.结果 Linux Shell CentOS 查看Linux 操作系统 相关信息 相关阅读 L ...
- linux 查oracle版本号,查看linux中oracle版本号的方法总结
在Linux系统下,我们通过以下的方法可以查看到Oracle的版本号.下面由学习啦小编整理了查看linux中oracle版本号的方法总结,希望对你有帮助. 查看linux中oracle版本号的方法总结 ...
- centos查看oracle版本,查看linux系統版本信息(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)...
一.查看Linux系統版本的命令(3種方法) 1.cat /etc/issue,此命令也適用於所有的Linux發行版. [root@S-CentOS home]# cat /etc/issue Cen ...
- linux用命令查网口速率,Linux命令行查看当前上传/下载速度
用的操作系统是Ubuntu Server 18.04,所以在网上查阅的在linux命令行查看实时网速不适用,然后稍作修改就可以用在Ubuntu Server 18.04里了. 脚本如下: $ cat ...
- linux内核_查看Linux内核版本
您可能因多种原因需要确切知道GNU / Linux操作系统上运行的内核版本. 也许您正在调试与硬件相关的问题,或者了解影响旧内核版本的新安全漏洞,并且您想知道您的内核是否易受攻击. 无论是什么原因,从 ...
- 【转】如何查看linux版本 如何查看LINUX是多少位
原文网址:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! ...
- 怎么看linux Java版本,查看linux的java版本信息
查看linux的java版本信息 [2021-02-10 01:02:40] 简介: linux系统查看jdk版本的方法是:可以通过[java -version]命令来查看.具体方法是:1.打开终端 ...
- 如何查看linux版本 如何查看LINUX是多少位
一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux ...
最新文章
- PHP+XML留言板
- fou循环 php 剩余次数_php for 循环语句使用方法详细说明
- 2018-2019-1 20165236《信息安全系统设计基础》第八周学习总结
- 2014图灵技术图书最受欢迎TOP15
- [日志]说一个人长的丑!如何说?
- IntelliJ IDEA使用技巧(三)——Debug 篇
- Linux学习之CentOS(一)--CentOS6.5环境搭建
- 用 Python 的 selenium扩展 驱动 火狐 谷歌 浏览器
- 跟大家分享一下牛人常用的资源(牛客网 )!
- hub设备_铝合金机身,既是HUB也是充电器,ORICO A3H7体验
- 小学听力测试英语软件,小学英语听力测试
- NNDL 实验六 卷积神经网络(4)ResNet18实现MNIST
- Android 修改AlertDialog原生setPositiveButton的字体颜色背景颜色大小边距位置
- python编辑函数求n阶乘fact_python中fact函数的用法
- LZJ的Python第二次打卡
- IT公司盈利模式分析
- H5跳转微信公众号解决方案
- Mybatis面试合集
- 参考文献格式生成器(GB/T 7714-2015)
- 电路板参数有哪些参数