在EM下无法以sysdba身份登录的原因解释(中国建材网 www.jiancaiw.com)
经常使用sqlplus /nolog 方式登录后(sqlplus /nolog 是用来启动SQL*PLUS,启动后才可以做进一步的操作.就象我们进入DOS后才可以执行SETUP命令来安装WIN98一样的道理. ),使用SQL>conn system/manager as sysdba;可以登录成功,但是在Enterprise Manager Console上登录总是提示密码错误。 开始还以为真的是密码错误,改了几次,仍然无法奏效。 偶然的机会,使用show user,发现登录到sqlplus的居然是sys!!又尝试了几种情况:SQL>conn / as sysdba;的斜杠两边随便输入什么都可以通过的,系统根本不做校验。
经查,拥有sysdba权限的用户有两种认证方式,一种是操作系统认证方式,一种是密码文件认证方式。操作系统认证方式是:只要当前用户是属于ora_dba组的用户都可以直接登录 ,用户名密码都是不检查的,而且登录系统后通过 select user from dual可以得到的用户名都是sys用户,linux和Windows下都是一样的了;而密码文件认证方式才需要检验密码。
如果真较真想让system可以以sysdba身份登录EM,需要在oracle sql*plus里,SQL>grant sysdba to system; 之后,就可以了。