请问oracle如何创建普通用户,我用sysdba创建的用户都是sysdba权限的,无法用normal权限登录
也无法删除这个创建的用户

解决方案 »

  1.   

    CREATE USER "LNCKQ"   创建一个用户,名称为 LNCKQ
    IDENTIFIED BY "LNCKQ" 密码为LNCKQDEFAULT TABLESPACE "GTOA"  默认表空间是 GTOA
    TEMPORARY TABLESPACE "TEMP"  临时表空间是 TEMP ACCOUNT UNLOCK; 帐号正常未锁定GRANT"CONNECT" TO "LNCKQ" WITH ADMIN OPTION;
    授予用户LNCKQ 创建连接的角色,并可再授权GRANT"DBA" TO "LNCKQ" WITH ADMIN OPTION;
    授予用户LNCKQ 数据库管理员的橘色,并可再授权
      

  2.   

    cmd
    sqlplus system/ttt as sysdba
    grant dba to users
      

  3.   

    再问:如何删除已经创建的sysdba用户
    上面的语句不用临时表空间可以吗
      

  4.   

    你们的语句都只能创建sysdba权限的,不能用normal登录
      

  5.   


    cmd
    sqlplus / as sysdba--创建用户
    create user test identified by test;
    --赋权限(请注意这里赋权不给他dba权限,他是不可能有sys权限的)
    grant connect,resource to test;
    --连接到新用户上
    conn test/test;
    --查看系统权限
    select * from user_sys_privs;
    --查看角色权限
    select * from user_role_privs;--说明一下,你的普通用户之所以能够以sys用户权限,原因为oracle默认采用的是操作系统认证
    ---他认证的是你的操作系统帐户,你可以随便输入用户名和密码都能进入
    sqlplus asdasd/asdadasd as sysdba;--如果想关闭,系统验证 打开 D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora
    ---增加如下语句
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)--删除用户sys用户登录后直接用命令
    drop user 用户名;
      

  6.   

    用sysdba用户创建用户如果不分配权限或角色 创建的用户是没有任何权限的  默认应该不会就有sysdba权限
      

  7.   

    我用windows7操作系统,oracle10G
    创建时没有赋值权限 就可以用sysdba登录,不能用normal登录
    删除创建的用户后, select * from dba_users 没有记录,
    但还是可以用这个删除了的用户用sysdba权限登录
      

  8.   

    我解释的已经很清楚了:
     
    因为oracle默认采用的是操作系统权限验证,你认为你是通过普通用户登录进去的(这只是假象)。
    只要系统验证是打开的,你可以随便输入用户名和密码,一定是可以以sysdba 身份登录到数据库的,
    因为他验证的是操作系统,不是你输入的值(仔细看看我上面的回答。)
      

  9.   

    create user  mayl
    identified by mayl
    defuault tablespace users 
    temporary tablespace TEMP
    profile DEFAULT;
    -- Grant/Revoke role privileges
    grant dba to mayl;
    -- Grant/Revoke role privileges
    grant unlimited tablespace to mayl;