我用这样的命令:connect test1/test1@orcl as sysdba
发现这个用户名和密码随便输入都能登录,而我用show user查看的时候,显示的用户名是:sys,请问这是怎么回事,哪边设置出了问题,谢谢!(我用的是Oracle10g)

解决方案 »

  1.   

    connect test1/test1@orcl就可以了,
    以任何用户以sysdba登录都会显示sys
      

  2.   


    as sysdba 是OS验证不用as sysdba 
    你show user看看
      

  3.   

    因为你采用的是操作系统认证的方式,
    所以你输入的用户名和密码都不会再起作用.亦即是采取这种认证方式后,不再去验证用户的是否合法,只要是OS admin身份即可
      

  4.   

    参考一下SQL> conn sicuser/sicpass as sysdba
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as SYS
     
    SQL> show user
    User is "SYS"
     
    SQL> conn sicuser/sicpass 
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as sicuser
     
    SQL> show user
    User is "sicuser"
     
    SQL> conn system/mcafee
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as system
     
    SQL> show user
    User is "system"
     
    SQL> conn sys/mcafee as sysdba
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as SYS
     
    SQL> show user
    User is "SYS"
     
      

  5.   

    可以对其进行设置,找到文件:$ORACLE_HOME\NETWORK\ADMIN下的sqlnet.ora
     打开找到这一行:SQLNET.AUTHENTICATION_SERVICES= (NTS) ,
     如果括号里为NTS的,就是采用的OS验证,
     你可以试着把这行注释掉再试试看. OK?