合 Oracle的SYS用户登录报权限不足(ORA-01031: Insufficient Privileges)的常见原因有哪些?
Tags: Oracle故障处理密码文件ORA-01031权限不足Insufficient Privileges
现象
现象如下所示:
1 2 3 4 5 6 7 8 9 | C:\Documents and Settings\lhr>sqlplus "/as sysdba" SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 10 00:02:59 2014 Copyright (c) 1982, 2010, Oracle. All rights reserved. ERROR: ORA-01031: insufficient privileges |
或:
1 2 3 4 5 6 7 8 9 | D:\Users\xiaomaimiao>sqlplus sys/lhr@192.168.1.31/orastrac as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sat Jul 15 11:36:54 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. ERROR: ORA-01031: insufficient privileges |
或:
1 2 3 4 5 6 7 8 9 10 11 12 | SQL> SELECT * FROM V$PWFILE_USERS; -- 结果为空 SQL> GRANT SYSDBA TO SYS; GRANT SYSDBA TO SYS * ERROR at line 1: ORA-01994: GRANT failed: password file missing or disabled |
解决
Oracle的SYS用户登录报权限不足(ORA-01031: Insufficient Privileges)的常见原因有如下几个:
① 检查服务器端sqlnet.ora文件。
在Windows环境下,需要加上一句:“SQLNET.AUTHENTICATION_SERVICES=(NTS)”;
在Linux环境下,可以没有这个文件或者加上这句:“SQLNET.AUTHENTICATION_SERVICES=(ALL)”,或者删除该句。
② 检查登陆Windows的用户。
当前登录用户必须包含在ORA_DBA
组中,域用户若没有连上域服务器时则可能出现这种现象。
在Windows服务器中,若用户中没有显示当前登录用户,则可以直接在组中,选择ora_dba组,然后属性,添加成员即可。
可以使用命令lusrmgr.msc
直接打开本地用户和组。