今天上午有同事反映应用数据库连接不上;于是排查数据库:

[oracle@db ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4. - Production on Thu Dec ::
Copyright (c) , , Oracle. All Rights Reserved. ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 30: Read-only file system
Additional information: 9925
ORA-: Unable to create audit trail file
Linux-x86_64 Error: : Read-only file system
Additional information: Enter user-name:
ERROR:
ORA-: invalid username/password; logon denied Enter user-name:
ERROR:
ORA-: invalid username/password; logon denied SP2-: unable to CONNECT to ORACLE after attempts, exiting SQL*Plus

上网查了,说数据库命令权限不对,解决办法如下:

-rwx------  oracle oinstall       Jan    onsctl
-rwxr-xr-x oracle oinstall Nov oracg
-rwsr-s--x 1 oracle oinstall 112468376 Jan 15 2013 oracle
-rwxr-x--- oracle oinstall Mar oracleO
-r-sr-s--- 1 root oinstall 14931 Mar 11 2008 oradism
-rwxr-x--- oracle oinstall Mar oradismO
[oracle@db bin]$ chmod  /u01/app/oracle/product/10.2./bin/oracle
chmod: changing permissions of `/u01/app/oracle/product/10.2./bin/oracle': Read-only file system
[oracle@db bin]$

改变权限,但提示read-only file system。

再排查系统:

[root@db ~]# mount
/dev/mapper/LVMgroup-root on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=,mode=)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) mount: warning /etc/mtab is not writable (e.g. read-only filesystem).
It's possible that information reported by mount(8) is not
up to date. For actual information about system mount points
check the /proc/mounts file. [root@db ~]# cat /proc/mounts
rootfs / rootfs rw
/dev/root / ext3 ro,data=ordered
/dev /dev tmpfs rw
/proc /proc proc rw
/sys /sys sysfs rw
/proc/bus/usb /proc/bus/usb usbfs rw
devpts /dev/pts devpts rw
/dev/sda1 /boot ext3 rw,data=ordered
tmpfs /dev/shm tmpfs rw
tmpfs /dev/shm tmpfs rw
none /proc/sys/fs/binfmt_misc binfmt_misc rw
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw
/etc/auto.misc /misc autofs rw,fd=,pgrp=,timeout=,minproto=,maxproto=,indirect
-hosts /net autofs rw,fd=,pgrp=,timeout=,minproto=,maxproto=,indirect

root根目录变成read-only,无法写文件系统,Oracle因为无法写audit文件也无法正常登陆 。

[root@db ~]# dmesg
EXT3-fs error (device dm-) in ext3_reserve_inode_write: Journal has aborted
EXT3-fs error (device dm-) in ext3_reserve_inode_write: Journal has aborted
sd :::: timing out command, waited 1080s
sd :::: SCSI error: return code = 0x06000008
end_request: I/O error, dev sda, sector
EXT3-fs error (device dm-) in ext3_reserve_inode_write: Journal has aborted
************
***********
**********

通过dmesg发现EXT3 文件系统存在问题。

网上有资料说可以通过使用fsck命令修复文件系统,命令也执行不了(fsck可能会导致数据块损坏,最好是不做fsck,重启一下服务器)。

[root@db ~]# fsck
fsck 1.39 (-May-)
e2fsck 1.39 (-May-)
/dev/LVMgroup/root: recovering journal
fsck.ext3: Bad magic number in super-block while trying to re-open /dev/LVMgroup/root
e2fsck: io manager magic bad!
[root@db ~]# 

通过命令重启服务器也不可行。

[root@db ~]# df -h
-bash: df: command not found
[root@db ~]# reboot
-bash: reboot: command not found

到此,问题已经很明了,Linux系统出问题了,咨询运维,服务器确实出问题。

幸好这是一个临时环境,数据库重新安装即可。

如果是正式环境,麻烦大了。切记,数据库要定期在其他系统上做备份!!

Oracle:ORA-09925 and linux Read-only file system error的更多相关文章

  1. Linux出现Read-only file system错误的解决方法

    造成这个问题的解决办法大多数是由于非正常关机后导致文件系统受损引起的,在系统重新启动之后,受损分区就会被Linux自己主动挂载为仅仅读.解决办法是通过fsck来修复文件系统,然后重新启动就可以,下面是 ...

  2. Android(java)学习笔记152:Android运行时异常“Binary XML file line # : Error inflating class”

    在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常:"Binary XML file line # : Error inflating class&q ...

  3. Android(java)学习笔记95:Android运行时异常"Binary XML file line # : Error inflating class"

    在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常:"Binary XML file line # : Error inflating class&q ...

  4. Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2

    The most current version of this document can be obtained in My Oracle Support Knowledge Document 13 ...

  5. chattr lsattr linux file system attributes - linux 文件系统扩展属性

    我们使用 linux 文件系统扩展属性,能够对linux文件系统进行进一步保护:从而给文件 赋予一些额外的限制:在有些情况下,能够对我们的系统提供保护: chattr命令用来改变文件属性.这项指令可改 ...

  6. linux c语言 rename的用法-rename() does not work across different mount points, even if the same file system is mounted on both

    最近在一个项目上执行文件的搬移功能时发现总是失败,临时录像文件存放于emmc的/tmp/目录下,当录像完成时候则调用rename企图将此文件搬到/mnt/sdcard/mmcblk1p1/(这是外置的 ...

  7. Oracle 11g Windows 迁移至 Linux

    OS: windows server 2008 R2 enterprise DB: 11.2.0.1.0 数据库配置: ORACLE_BASE=D:\app\Administrator ORACLE_ ...

  8. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

  9. 基于Linux的oracle数据库管理 part1( 准备及linux基础 )

    主要内容 1. 安装VMware tools (好处, 显示效果增强, 从虚拟机出来不需要alt+ctrl 切换) 2. Linux 启动过程, 方便以后oracle 自动启动与关闭 3. Linux ...

随机推荐

  1. Perl语言入门--1--perl的包安装

    A.  手工安装 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz.假设放在/usr/local/src(一般需要编译安装的软件,都放在此目录下安装). # cd /usr ...

  2. docker-清理none镜像等操作

    有时候由于调试代码产生很多的none的image,挨个清理会有些麻烦,从网上找到的命令 // 停止所有容器 docker ps -a | grep "Exited" | awk ' ...

  3. mysql date_add日期函数的使用

    select date_add(CURRENT_DATE()-day(CURRENT_DATE())+1,interval 3 month);##my sql 获取三个月之后的第一天日期select  ...

  4. delphi使用IdHTTP模拟提交页面方法总结

    http://blog.csdn.net/lxdcyh/article/details/3986800 1.拖入TIdHTTP控件,HandleRedirect设为True,否则可能会出现HTTP 3 ...

  5. 【mac】mac上安装JDK

    安装步骤就是在Oracle官网下载你想要的JDK版本下载,下载的时候同意协议即可 这里就给出jdk安装的位置 还有一点要注意的是,在指定JVM的位置的时候,需要指定到home目录下

  6. 改动C:\WINDOWS\system32\drivers\etc\hosts 文件有什么作用

    host是一个没有扩展名的系统文件,能够用记事本等工具打开,其作用就是将一些常常使用的网址域名与其相应的IP地址建立一个关联"数据库".当用户在浏览器中输入一个须要登录的网址时,系 ...

  7. IOS常见错误分析解决(一直更新) 你值得收藏-综合贴

    -来自收藏总结 综合了好多的常见错误 1:clang failed with exit code 254 一:检測代码中 是否 有 NSLog 打印了 返回 void 的值. 2:Verify exi ...

  8. BUPT复试专题—排序(2009)

    题目描述 查找序列a 中小于 b 的第 i 个数的数的个数 输入 输入有多组,每组四行第一行:序列a个数N第二行:(序列a的)N个数,升序排列第三行:序列b个数M 第四行:(序列b的)M个数,升序排列 ...

  9. Bootstrap的表单控件

    支持的表单控件 Bootstrap 支持最常见的表单控件,主要是 input.textarea.checkbox.radio 和 select. 输入框(Input) 最常见的表单文本字段是输入框 i ...

  10. C#语法复习2

    第五章 方法 1.方法是一块具有名称的代码 包括:方法体.方法头 局部变量必须被赋值才可以执行下面的操作.实例变量有隐式初始化.有时候,类型推断可以用var关键字,类似于C++当中的auto.用于局部 ...