【正确答案】常见原因有如下几个:
1)检查服务器端sqlnet.ora文件。在Windows环境下,需要加上一句:“SQLNET.AUTHENTICATION_SERVICES=(NTS)”;在Linux环境下,可以没有这个文件或者加上这句:“SQLNET.AUTHENTICATION_SERVICES=(ALL)”,或者删除该句。
2)检查登陆Windows的用户。当前登录用户必须包含在ORA_DBA组中,域用户若没有连上域服务器时则可能出现这种现象。
3)要保证参数REMOTE_LOGrN_PASSWORDFILE的值为EXCLUSIVE。
4)检查服务器端密码文件。在服务器端密码文件必须存在,可以查询视图V$PWFILE_USERS,该视图必须包含SYS用户,此外,执行命令“GRANT SYSDBA TO SYS;”也不能报错。创建密码文件的命令为:
