可供选择项是 normal,sysdba,sysoper. 我的理解是以何种角色登陆到数据库上。这里的角色和我创建用户是选择的角色不会产生冲突吗? 为了验证这点,我创建了一个只有connect角色的用户。 我尝试用这个用户以sysdba的方式登陆到数据库上,发现竟然可以登上去。这是为什么? 我的用户并没有dba的权限,为什么可以以sysdba的方式登陆上数据库?请各位高手解释一下

解决方案 »

  1.   

    connect  权限就可以登陆了
      

  2.   

    可是为什么可以以sysdba的身份登陆啊?
      

  3.   

    这是因为你的数据库的认证方式
    看sqlnet.ora文件:SQLNET.AUTHENTICATION_SERVICES= (NTS)有一行这个,你改成NONE就不可以.因为默认的是操作系统认证,你即便随便输
    connect ddlkajsdf/dasdfasfd as sysdba也可以登录,和用户名密码没有关系.
      

  4.   

    conn  user_name/password as sysdba,不管user_name用户是否存在,只要以这种形式,都可以以SYS的身份登录到数据库
      

  5.   


    同意这个解释,主要是管理认证的方式是NTS的,所以只要是有启动oracle的权限的操作系统中的用户,使用以上的命令都可以以sysdba登录。
      

  6.   

    3 楼说的不完全对经验告诉我即使是操作系统认证
    也要看什么进入的接口sqlplus plsql em 情况是不同的
    不信可以试试