在我的ORACLE服务器中,用户HR是不具有DBA权限的. 
可是为什么我在SQL*PLUS中输入conn hr/hr@wh as sysdba(wh为实例名) 
系统仍然提示"已连接" 
这是为什么啊??注:我在我的电脑上直接安装的数据库. 
并没有安装客户端. 

解决方案 »

  1.   

    hr 没有 sysdba 权限,不能以 sysdba 登录
      

  2.   

    我知道HR没有SYSDBA的权限。
    可是为什么我在SQL*PLUS中输入conn   hr/hr@wh   as   sysdba
    系统会提示 已连接 呢??
      

  3.   

    你看看操作系统的用户组是不是ORA_DBA用户组如果是这个用户组,则数据库是以操作系统验证方式登录的和你的用户名没关系
      

  4.   

    如果你的操作系统的用户的用户组是ORA_DBA或是ORA_SID(SID为数据库实例名) 则是以操作系统审核方式登录
    这个时候你的 conn hr/hr@wh as sysdba 等于  conn / @wh as sysdba
      

  5.   

    在sqlplus也就是在安装数据库的服务器上输入
    conn hr/hr@wh as sysdba类似这样的操作,这样的操作其实是以sysdba登入,其用户是sys。。
    你试着用show user查看用户就明白了。。
    因为oracle认为,你在本机运行sysdba就有sysdba的权限,因为你有操作这台电脑的权限当然就有对数据库的整个权限。。这个要好好理解一下。。我刚开始认为不合理,现在也想明白
      

  6.   

    我认为6楼的说法有些不全面,应该有个前题就是操作系统用户应该是在ORA_DBA用户组中。
    这样ORACLE才认为你具有SYSDBA权限,否则会出
    ERROR:
    ORA-01031: insufficient privileges
      

  7.   

    恩。谢谢大家了。
    好象就是操作系统的默认级别高于ORACLE自身密码验证的问题。
      

  8.   

    To enable operating system authentication of an administrative user:Create an operating system account for the user.Add the user to the OSDBA or OSOPER operating system defined groups.Ensure that the initialization parameter, REMOTE_LOGIN_PASSWORDFILE, is set to NONE, the default.REMOTE_LOGIN_PASSWORDFILE这个参数决定是os authentication还是password file authentication.缺省是os authenticaiton.
      

  9.   

    使用alter system set remote_login_passwordfile=none(操作系统认证),exclusive(只有一个数据库实例可以使用密码文件),shared