日期:2014-05-17  浏览次数:20782 次

SQLPLUS登录时的问题
在DOS版本的SQLPLUS里登录的格式是 username/password@SID [as sysdba]
可是我发现,只要后面加上 AS SYSDBA(以管理员身份登录)的话,前面的用户名密码可以随便输入,都可以登录成功
比如 aaaaa/qqqq@orcl AS SYSDBA 就可以登录进SQLPLUS
但是使用 SHOW USER 命令查看,显示当前用户是SYS

而在iSQLPLUS中登录,即使选择SYSDBA身份,密码和用户名也不能随便输入

请问这是怎么回事呢?很费解。。求助各位前辈

------解决方案--------------------
是的,只要有"as sysdba",服务器默认支持操作系统认证,所以通过本机登陆时忽略用户名和密码(实际上不需要用户名和密码)例如: Conn / as sysdba

现在的Oracle有个叫做钱包的机制专门存储拥有这种权限的操作系统用户。

系统中的sqlnet.ora 文件可以配置是否启用操作系统认证
SQLNET.AUTHENTICATION_SERVICES=(NONE)不使用操作系统认证
SQLNET.AUTHENTICATION_SERVICES=(NTS)启用操作系统认证



------解决方案--------------------
探讨
噢噢,我好像理解了,是不是这样

SQLNET.AUTHENTICATION_SERVICES=(NONE)

将这个设置一下,就必须正确输入密码才可以登录了,对吗?