sqlplus / as sysdba 提示权限不足(ORA-01031)问题处理

  • Post author:
  • Post category:其他




背景介绍




用户在命令窗口输入sqlplus / as sysdba提示ORA-01031: insufficient privileges 错误,同样的,在输入rman target / 提示同样的错误




问题分析




根据经验,使用sqlplus / as sysdba登陆数据库,提示权限不够,也就是我们常用的用操作系统认证方式登录数据库必须满足下面两个条件:




1. 操作系統用户是否dba组

2. sqlnet.ora 认证服务从NONE改为NTS

SQLNET.AUTHENTICATION_SERVICES= (NTS)  –注意这里windows使用nts、linux使用all






本案例服务器是aix的,我们查询结果显示如下












可以看到用户oracle的gid为空,肯定有人动了oracle用户的所属组,知道问题所在,后续处理的方式就很简单了




问题处理




因为系统是aix系统,因此需要通过smitty chuser 调整主组为oinstall




知识点





这次我们问题是用户所属组引起的,但大多数时候,该问题是由SQLNET.AUTHENTICATION_SERVICES引起,其官方解释如下:








Purpose




Use the parameter




SQLNET.AUTHENTICATION_SERVICES




to enable one or more authentication services. If authentication has been installed, it is recommended that this parameter be set to either




none




or to one of the authentication methods.





Default




None





Values





Authentication Methods Available with Oracle Net Services:





  • none




    for no authentication methods. A valid username and password can be used to access the database.



  • all




    for all authentication methods



  • nts




    for






    Windows NT native authentication







Authentication Methods Available with Oracle Advanced Security:









  • kerberos5




    for Kerberos authentication



  • radius




    for RADIUS authentication



  • dcegssapi




    for DCE GSSAPI authentication




版权声明:本文为wenzhongyan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。