Linux-x86_64 Error: 28: No space left on device

在测试一个比较复杂的查询SQL时,数据库突然出现无法从套接字读取更多的数据问题,然后以命令的形式登录到数据库,报了如下错误:

[oracle@wlorcl ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Aug 14 21:31:41 2018

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-01075: you are currently logged on

解决方案

这个问题在linux到64位中比较常见,当SGA的值大于共享内存就会报这个错

共享内存在shmall这个参数中设置,shmall单位为页,换算成内存大小还需要把两个值相乘,如shmall=4194304,那么共享内存的大小就是(4194304*4096)/(1024*1024*1024)=16G

1.获得shmall的方式如下

# cat /proc/sys/kernel/shmall
4194304

2.我们可以通过/etc/sysctl.conf文件中kernel.shmall的值来调整共享内存大小

[root@svr28-167 ~]# vi /etc/sysctl.conf

kernel.shmall= 8388608

3.我们可以通过下面命令得到分页大小,默认是4Kb

$ getconf PAGE_SIZE

4096

4.修改完之后没忘记让它立即生效并确认

# sysctl -p

# cat /proc/sys/kernel/shmall

8388608

专业墙纸贴纸厨房用具装饰出售,本人网店经营,访问即是爱

博客对你有用记得访问下哦,增加下访问量,如有需要可以下单购买哦^_^。店铺地址https://item.taobao.com/item.htm?id=570637716145

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/81666114