首先你要知道你的参数
OS_AUTHENT_PREFIX的值是多少,如果是ops$(默认)
你还需要在数据库中建立一个外部认证用户(否则,你怎么操作系统认证,你以为随便敲一个connect / as sysdba 就可以啊)
如CREATE USER ops$george  
  IDENTIFIED EXTERNALLY
指明操作系统用户是george,我要对这个用户进行外部认证
然后在操作系统用george登录(george要有相应权限)
在sql plus中
connect / as sysdba

解决方案 »

  1.   

    penitent(只取一瓢)说的很对,起码数据库要知道你的操作系统用户对应的是哪个数据库用户
      

  2.   

    TO 只取一瓢:
    ops&:指的是什么,还是照抄!!
      

  3.   

    看你OS_AUTHENT_PREFIX的值是多少罗
    如果是''那么数据库用户和操作系统用户名相同
    否则,数据库用户比操作系统用户要多一个OS_AUTHENT_PREFIX值的前缀
      

  4.   

    不用那么麻烦吗。
    1、把init<sid>.ora中的
      remote_login_passwordfile 设为none
    2、重启数据库
    3、现在你一定可以用
     sql>conn / as sysdba;
      

  5.   

    to hrb_qiuyb(大森林) 
    可以吗,好象不行的,remote_login_passwordfile 与操作系统认证有什么关系啊
    remote_login_passwordfile 设为none仅仅表示用户将不用口令文件对用户进行认证.