sys用户连接数据库是报ORA-01031: insufficient privileges的处理

1.         sys用户连接数据库是报ORA-01031: insufficient privileges.这个错误出现在生产数据库恢复到测试环境数据后,通过conn sys/password@SID as sysdba或者通过toda登录数据库时,而通过conn /as sysdba登录正常。

2.         使用system用户远程登录数据库系统正常,查看sys用于的权限,没有发现问题。

3.         检查数据库使用允许sys用户以as sysdba方式远程登陆show parameter remote_login_passwordfile,这个参数的值为EXCLUSIVE,说明允许密码文件认证登录,检查sys用户密码的审计方式,查 看$ORACLE_HOME/network/admin/sqlnet.ora文件,如果存在 SQLNET.AUTHENTICATION_SERVICES=(NONE),说明sys用户不使用密码文件认证,使用操作系统认证,文件中不存在此参 数,默认是使用密码文件认证。

4.         检查位于$ORACLE_HOME/dbs/orapwSID,,现在此处的SID和数据的SID不同。虽然字母是一样的,但是此处的SID为大写,系统 中真实的SID是小写的。尝试修改文件名,把大写给为小写,再使用sys用户登录数据库,不再报错。

5.         对于此类的问题,尝试使用system以as sysdba方式登录没有任何报错,就可以推断出问题应该出在用户的密码认证方式的配置上。sys和system用户都可以以sysdba方式登录数据 库,不同的两个用户密码的认证方式上,system是数据库认证的,而sys用户可以通过操作系统、密码文件或者其他方式认证。

当管理数据库的用户(一般是oracle用户)不在dba组,或者操作系统根本就不存在dba组,也会报ORA-01031错误.

你可能感兴趣的:(oracle,ORA-01031)