我用sqlplus登录。
我无论用户名是sys system scott
 我的密码只要是 password as sysdba都能登录
 我后面又试了一下,发现只要是  随便什么后面跟上 as sysdba 都能登录进去
刚开始自学oracle,很多东西不懂。。谢谢解答。。

解决方案 »

  1.   

    因为他们都有dba权限,你建个用户,然后不给dba权限就不可以用dba身份登录了
      

  2.   

    或者你是用的OS认证登录
    http://wenku.baidu.com/view/0b845c51ad02de80d4d840ca.html
      

  3.   


    --举个例子,下面的用户在非os认证下,若没dba权限是不可以用dba身份连接的,不过默认是以os验证的,若你没改过系统认证方式,则即使你用不存在的用户也可以用sysdba身份连接的
    SQL> conn zhangjg/1 as sysdba;
    已连接。
    SQL> create user t identified by 1;用户已创建。SQL> grant connect to t;授权成功。SQL> conn t/1 as sysdba;
    ERROR:
    ORA-01031: insufficient privileges 
    警告: 您不再连接到 ORACLE。
    SQL> conn zhangjg/1 as sysdba;
    已连接。
    SQL> grant sysdba to t;授权成功。SQL> conn t/1 as sysdba;
    已连接。
      

  4.   

    你用的应该是操作系统认证,
    可以看看sqlnet.ora,
    windows下在%ORACLE_HOME%/NETWORK/ADMIN下面,里面应该有
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    这样就是用当前操作系统登陆用户进行本地认证。
     C:\>sqlplus /nolog
     Sqlplus>connect / as sysdba
     Connected前提要求当前登陆用户必须在ora_dba组里。如果改成
    SQLNET.AUTHENTICATION_SERVICES= (NONE)
    就不允许使用操作系统认证了。
     C:\>sqlplus /nolog
     Sqlplus>connect / as sysdba
     error:ORA-01031:  insufficient   privileges