在AIX 平台下遇到ORA-01031: insufficient privileges
Kevin Zou
2012-3-14
一般ORA-01031的错误都是权限配置不对而引起的,检查下oracle所在的用户组,密码文件,sqlnet.ora 等文件。
当用户尝试在ORACLE 服务器本地连接为as sysdba,oracle有两种认证方式:
1) 操作系统认证;
2) 密码文件认证;
通过远程服务器连接到ORACLE 实例,只能通过密码文件认证;
由于出现ORA-1031的错误,是发生在本机上,所以迅速排除密码文件的问题,解决问题的思路回到操作系统上来。
查看ORACLE 用户所在的用户组
===> id
uid=70248201(oracle) gid=206(dba) groups=1(staff),207(oinstall)
属于DBA 组,这是没有问题。
那再去看下SQLNET.ORA文件的配置是否正确。
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NTS只能出现在windows平台,在UNIX/LINUX平台只能为ALL 或者BEQ,或者注释该参数。
直接注释该参数,再次在本机上登录。
===> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 14 00:21:28 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
问题搞定。
原因: 为啥一直都是好好的系统,怎么会“突然”有变化了?其实是另外一个DBA在尝试解决另外一个ORACLE问题时,创建了SQLNET.ORA文件,但是文件没有配置正确才导致了这个问题。做了多年的DBA,让我坚信,运行好好的系统出现异常,一般都是有了新的改变。但是这种变化有的是人为,有的是日积月累的由量变到质变。
-THE END-