操作系统linux,中间件是weblogic。由于应用长久没有重启,昨天晚上就重启了下weblogic,结果重启时报错,启动不了了。
错误信息如下:
<2019-10-12 下午10时53分53秒 CST>
There are 1 nested errors:
weblogic.management.ManagementException: Unable to obtain File lock on /home/weblogic/Oracle/Middleware/user_projects/domains/brms_domain/servers/AdminServer/tmp/AdminServer.lok : java.io.FileNotFoundException: /home/weblogic/Oracle/Middleware/user_projects/domains/brms_domain/servers/AdminServer/tmp/AdminServer.lok (Read-only file system)
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:151)
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:58)
at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:74)
at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:461)
at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:166)
at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:803)
at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:493)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:446)
at weblogic.Server.main(Server.java:67)
错误的重点就在Unable to obtain File lock on AdminServer.lok,
当前登录用户是weblogic,使用ll命令查看结果如下:
![2ddde6f405662c2eb86315fbff477adb.png](https://i-blog.csdnimg.cn/blog_migrate/d047c98eb66221c87cda57cd865a7142.jpeg)
从文件属性来看,所有者也是weblogic,并且读写权限。
从网上查了下,这种错误一般是由于之前用root用户启动过,导致当前非root用户去启动时提示没有权限修改lok文件。显然现在碰到的不是这种情况。应用一直都是用weblogic用户在启停的。
尝试了删除这个文件,提示只读文件不能删除。
后面又尝试了下复制这个文件,cp AdminServer.lok aaa,也不行,提示只读文件不能复制。结合错误中提到了(Read-only file system),怀疑是整个目录变成只读了,后面经过尝试,发现/home目录及以下的所有目录都是只读的,不能写入文件。
网上查了下解决文件突然变成只读的办法,第一种就是重启操作系统,于是重启了操作系统。经过接近20分钟的等待,操作系统重启完成,重启后文件又可以写入了,weblogic启动也正常了。
整个过程历时近1个小时,所幸最终顺利地解决了问题。