鸿 网 互 联 www.68idc.cn

当前位置 : 主页 > 服务器相关 > linux > >

Linux分区只读导致数据库停止写入数据怎么办?

来源:互联网 作者:佚名 时间:2016-09-25 17:22
在Linux服务器中,出现Linux分区只读的现象,导致数据库无法输入数据,遇到这种情况要如何处理呢?下面小编就给大家介绍下Linux分区只读导致数据库停止写入数据

  在Linux服务器中,出现Linux分区只读的现象,导致数据库无法输入数据,遇到这种情况要如何处理呢?下面小编就给大家介绍下Linux分区只读导致数据库停止写入数据的解决方法。

 Linux分区只读导致数据库停止写入数据怎么办?

  问题:

  我负责的数据库服务器中,有2台是不是会出现分区只读,此时数据库停止写入数据,数据库基本不可用了。我只能关闭数据库,卸载文件系统,重新挂载文件系统,然后再打开数据库就解决了。问题出现的可能点比较多,光纤交换机、存储、服务器硬件、光纤卡、硬盘、操作系统驱动、数据库等都有可能,我从DBA的角度检查了Oracle这一块没问题,fsck检查发现文件系统也无损坏,负责服务器硬件的兄弟不给力,HP、SUSE厂商也都说不出问题到底出在哪里?我就只能自己想办法,在网上搜索出下面这篇文章,感觉说得比较全面。

  服务器信息:HP DL388G8/ DL580G7

  操作系统信息:SUSE Linux11SP1

  数据库信息: Oracle10.2.0.5

  存储及光纤交换机:均为HP系列

  出现问题频率:多的每周2次,少的1月一次。

  解决办法:

  升级操作系统至SUSE Linux 11SP2版本。

  服务器挂载的远端分区(从存储上划分的卷),一开始是直接就扫描不到PV/VG/LV等信息,必须要手工执行PVSCAN/VGSCAN/LVSCAN命令才可以看到信息,后来不能随系统自动挂载,无论怎么修改fstab文件都没反应。

  xxx-db:~ # more /etc/fstab

  /dev/disk/by-id/cciss-3600508b1001c2b630be086f93f71f626-part1 swap swap defaults 0 0

  /dev/disk/by-id/cciss-3600508b1001c230b6be086f39f71f626-part2 / ext3 acl,user_xattr 1 1

  proc /proc proc defaults 0 0

  sysfs /sys sysfs noauto 0 0

  debugfs /sys/kernel/debug debugfs noauto 0 0

  usbfs /proc/bus/usb usbfs noauto 0 0

  devpts /dev/pts devpts mode=0620,gid=5 0 0

  #/dev/oraclevg/oraclelv /oradata ext3 acl,user_xattr 1 2

  /dev/oraclevg/oraclelv /oradata ext3 defaults 0 0

  #/dev/mapper/36001438009b03d620000500000f90000 /oradata ext3 defaults 0 0

  1、怀疑是文件分区表最后的校验参数过于严格,于是由原来的“1 2”直接修改为“0 0”,结果依然未能解决问题。

  2、添加如下脚本

  xxx-db:/etc/init.d # more /etc/init.d/after.local

  pvscan

  vgscan

  lvscan

  mount /dev/mapper/oraclevg-oraclelv /oradata

  解决了文件系统自动挂载问题,这个应该是SUSE系统升级过程中的BUG。

  3、之后,没有再次出现分区只读问题,说明系统升级已经解决分区只读问题,后续如果还有问题,我打算再找硬件工程师更新光纤卡驱动和服务器固件。

  总结:

  其实一开始建设系统的时候,就应该做好标准化工作,硬件固件、光纤卡、阵列卡等重要硬件驱动都直接对版本标准化,操作系统版本标准化,这样就可以尽可能低排除oracle数据库以外的问题因素。

  上面就是Linux分区只读导致数据库停止写入数据解决方法的介绍了,只需将你的系统进行升级即可解决这个问题了。

网友评论