我用PlSqlDev.exe软件进入Oracle 11g,登陆界面里选择DBA权限时,无论密码为何数,都可以显示成功?如图

我在安装Oracle 11g时,将Scott解锁,赋予它新的密码。当我用它作为一个DBA登陆PlSqlDev时,无论我使用新密码还是任意输入什么,它都可以进入,为什么会出现这样的情况(同样的,用SYS登陆时也是任意密码即可进入)?这是问题一。如下图:密码是任意输入的。

问题二:当我使用开始菜单里的SQL Puls登陆数据库时,用户名Scott,密码随便输入,关键来了:此时,无法进入数据库。当我输入我解锁以后的新密码,此时终于可以进入。如下图所以我想问:为什么两者会出现这样子的不同的情况?我如何才能让我在进入PlSqlDev登陆界面的DBA时,使用正确的密码才能进入?

请各位专家回答,小弟在此谢过!悬赏分可追加。

第1个回答  2013-07-05
第一个是因为: 本地的 sysdba 权限登录,会忽略输入的用户名和密码,而使用当前登录操作系统的操作系统用户的权限。条件是当前操作系统用户属于 DBA 组(unix)或 oradba 组(windows)。
第二个是正常的情况。追问

你是和楼上都是正确的解释,可遗憾的的是他给出了正确的解决方案

第2个回答  2013-07-05
我的貌似也是这样,只要用sysdba登录,不管用户名和密码是多少都可以登进去
第3个回答  2013-07-05
1、原因
$ORACLE_HOME/network/admin/sqlnet.ora这个文件没有,或者设置的OS认证:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
当你as sysdba登陆时候,这时候不检查用户名/密码,你随便输什么都无所谓了。
2、命令行用户输入scott as sysdba就和PlSqlDev一样了。
SQL> show user
USER is "SYS"
其实你是在用SYS
3、解决
$ORACLE_HOME/network/admin/sqlnet.ora将数据库登录改为数据库认证:
SQLNET.AUTHENTICATION_SERVICES= (NONE)本回答被提问者采纳
相似回答