怎么解决Oracle数据库shutdown报错ORA-01031

这篇文章主要介绍“怎么解决Oracle数据库shutdown报错ORA-01031”,在日常操作中,相信很多人在怎么解决Oracle数据库shutdown报错ORA-01031问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决Oracle数据库shutdown报错ORA-01031”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

报错如下图:

怎么解决Oracle数据库shutdown报错ORA-01031

要来ip和实例名登到服务器上看pmon进程还在

ps -ef |grep pmon

查看监听情况也是正常的

lsnrctl status 

这两项都没问题,尝试登录数据库,如下图:

怎么解决Oracle数据库shutdown报错ORA-01031

熟悉Oracle的同学一看这个提示信息应该就能感觉到不对,不是正常库连接的提示信息

查询数据库状态,语句执行报错如下

怎么解决Oracle数据库shutdown报错ORA-01031

语句无法执行,然后转站去看alert日志

怎么解决Oracle数据库shutdown报错ORA-01031

一直在报类似此种的信息,没有找到有效的信息,顺着日志往前找到一个关键点,16:01:45曾尝试shutdown数据库

怎么解决Oracle数据库shutdown报错ORA-01031

继续跟压测同事沟通,他们尝试下午重启数据库但报权限不足。

感觉很奇怪,shutdown库怎么会没有权限。

我也进行尝试,shutdown immediate无法执行,shutdown abort也报权限不足

怎么解决Oracle数据库shutdown报错ORA-01031

这个问题确定很奇怪,我是用sqlplus / as sysdba登录的数据库,怎么会没有权限,继续往下查

查看用户权限

怎么解决Oracle数据库shutdown报错ORA-01031

这台服务器上装的是单实例,却有grid用户,感觉还是挺怪的。

从上面的输出来看oracle用户的权限和所属组是没有问题的

怎么解决Oracle数据库shutdown报错ORA-01031

查看oracle文件的权限也没有问题

至此找不到什么问题了,于是转站MOS,去查是否有相关文档

找到一篇ORA-1031 While Starting An Instance As SYSDBA immediately After Applying A Patch (文档 ID 1475357.1)但与这边遇到的问题不太一致,文档的最后有一篇参考文档ORA-01031 DOING DATABASE STARTUP OR SHUTDOWN (文档 ID 1008507.6)

里面提到了TWO_TASK这个环境变量,以前数据库出问题也跟这个变量有关,于是查看环境变量没有配置这个变量

顺着这个思路我查看了整个oracle用户的环境变量找到了问题所在

怎么解决Oracle数据库shutdown报错ORA-01031

原来oracle用户中的PATH路径配置了/u01/app/11.2.0/grid/bin这个路径,权限不对

于是把.bash_profile中的PATH进行修改

重新登录oracle用户

怎么解决Oracle数据库shutdown报错ORA-01031

再次sqlplus / as sysdba登录数据库,重启,问题解决

到此,关于“怎么解决Oracle数据库shutdown报错ORA-01031”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/205077.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论