oracle报01031错误,Oracle数据库shutdown报ORA-01031: insufficient privileg

下午一位压测的同事找到我说一套压测的库连接报错,报错如下图:

73c1d11419f4548e8d755ba49c565ff4.png

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

ps -ef |grep pmon

查看监听情况也是正常的

lsnrctl status

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

74831f7ab30d10733a4e679b5654240d.png

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

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

ca6be3616d3de00873157ee0a485edaa.png

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

a959c784bf8a9f0decd933072e91c8e8.png

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

baf2d61d65d92df795cd32d772907cd4.png

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

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

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

af092b8de4a08cdb00fc3a93123c1d77.png

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

查看用户权限

d6be3628d578dd2e0ef2fe0dd7b955e0.png

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

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

0c7c6dd14e2a4bf1e43f5036a59c1763.png

查看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用户的环境变量找到了问题所在

61752ac5c08e0e0d22699177646cf875.png

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

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

重新登录oracle用户

f4454903ecbe3f572c71a87c3d561153.png

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值