在dos窗口sqlplus / as sysdba方式连接不了Oracle数据库在plsql里可以登录

在dos窗口sqlplus / as sysdba; 提示ORA-01031: insufficient privileges错

在此先谢谢了。

sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法

注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上

2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一种解决方法案例:
1、检查系统参数:SQL> show parameter password
NAME TYPE VALUE------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL>
为空

3、SQL> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP------------------------------ ----- -----
SYS TRUE TRUE
SYS正常显示出来。
6、重新在远程以SYSDBA登录,可正常使用。

如果口令文件创建的有问题,也是会报如下的错误:
ora-01031:insufficient privileges
口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,如果违反了以上规则,将会提示ORA-01031: insufficient privileges。
我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误
-----end-------
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-22
在oracle数据库本机,sqlplus /nolog
conn / as sysdba
第2个回答  推荐于2018-05-12
你看下$ORACLE_HOME/network/admin/sqlnet.ora里面
有没有
SQLNET.AUTHENTICATION_SERVICES = (NTS)
这一参数,如果有,改成
SQLNET.AUTHENTICATION_SERVICES = (TNSNAME,HOSTNAME)
重启应该就行了追问

谢谢您的帮助,不过我改后,按照你的操作修改在这个\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN路径下的splnet.ora这个文件
试过了还是报同样的问题,我的Oracle是11g

本回答被网友采纳