超过最大文件数—Linux-x86_64 Error: 23: Too many open files in system

数据库启动后出现如下错误,文件打开过多

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '/db/oracle10g/oradata/benguo/redo02.log'

ORA-27041: unable to open file

Linux-x86_64 Error: 23: Too many open files in system

Additional information: 2

先对oracle用户环境的limits.conf做修改,将nofile softhard分别增加,但是还是报上述同样的错误。可能是system的文件数量过多了,而不仅仅只是oracle用户的限制。

[root@server119 security]# vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 40960

oracle hard nofile 655360

hadoop soft nofile 4096

hadoop hard nofile 65536

[root@server119 security]# vi /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux

#

# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and

# sysctl.conf(5) for more details.

# Controls IP packet forwarding

net.ipv4.ip_forward = 0

# Controls source route verification

net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing

net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel

kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename

# Useful for debugging multi-threaded applications

kernel.core_uses_pid = 1

# Controls the use of TCP syncookies

net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes

kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue

kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes

kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages

kernel.shmall = 4294967296

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 655360

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

"/etc/sysctl.conf" 44L, 1225C written

修改上述的fs.file-max=6553601310720,适当增加这个参数。

[root@server119 security]# sysctl -p

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 1310720

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 262144

而后可以正常打开数据库。

SQL> alter database open;

Database altered.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25362835/viewspace-1059191/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25362835/viewspace-1059191/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Linux-x86_64 error: 28: no space left on device"是指在Linux操作系统中,出现了磁盘空间不足的错误。这种错误通常发生在硬盘或分区的可用空间已经耗尽,无法继续写入据或创建新文件。 当系统磁盘空间不足时,可能会导致一些严重的问题,例如无法正常运行软件或操作系统等。因此,我们需要采取一些措施来解决这个问题。 首先,我们可以使用`df -h`命令来查看磁盘空间的利用情况。它会显示出所有磁盘分区的使用情况以及剩余空间。 如果我们发现有一些大文件文件夹占用了大量的磁盘空间,我们可以使用`du -sh <文件名或文件夹名>`命令来查找占用空间最多的文件文件夹。 一种常见的解决方法是删除一些不再需要的文件文件夹,以释放磁盘空间。可以使用`rm`命令删除单个文件,或使用`rm -r`命令删除整个文件夹。 另外,我们也可以考虑使用一些工具来压缩已有的文件文件夹,以节省磁盘空间。例如,可以使用zip或tar命令将文件打包成压缩文件,然后删除原始文件。 如果上述方法无法解决问题,可能需要对磁盘进行扩容。这可以通过添加新的硬盘或扩展现有的分区来实现。具体的步骤可以根据不同的情况而定,可以参考一些相关的教程或咨询专业人士的建议。 总之,当出现"Linux-x86_64 error: 28: no space left on device"错误时,我们应该首先查看磁盘空间的使用情况,然后删除不需要的文件或压缩已有文件,并在必要时扩展磁盘的容量,以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值