user1下面有N张表且为正常用户,我想再创建一个只读用户user2,这个用户下面有从user1下面导过来的几张表。
问:
1.user2只有读的权限,可以读自己下面的表,也可以读user1的所有表,但不能增删改
2.怎么改用户密码,包括sys类的系统用户

解决方案 »

  1.   

    create user username
    identified by 密码grant connect to username
    grant select any table to username2
    dos
    sqlplus /nolog
    conn /as sysdba
    alter user sys identified by 密码
      

  2.   

    --创建用户并且赋予只读权限  create user username identified by password
    SQL> conn system/system as sysdba;
    已连接。
    SQL> create user user2 identified by user2;用户已创建。SQL> grant connect to user2;授权成功。SQL> grant select any table to user2;授权成功。SQL> conn user2/user2;
    已连接。
    SQL> select * from scott.dept;    DEPTNO DNAME          LOC
    ---------- -------------- -------------
            60 dfsdf          we
            70 jiujiang
            50 NANCHANG
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON已选择7行。SQL> delete scott.dept;
    delete scott.dept
                 *
    第 1 行出现错误:
    ORA-01031: 权限不足--修改用户密码 --alter user username identified by new_password
    SQL> conn system/system as sysdba;
    已连接。
    SQL> alter user user2 identified by pd;用户已更改。SQL> conn user2/pd;
    已连接。
      

  3.   

    谢谢你的回答
    create user username
    identified by 密码 //这句执行后,它还能以dba的角色登陆呢?
      

  4.   

    发现个问题,随便一个用户(不管角色是不是dba),只要随便输个密码(并且选择以dba的身份)就能登陆数据库,这太不安全了吧
      

  5.   


    你如果在安装oracle的服务器上以dba登陆是不需要密码的,其他机器要密码认证。
    这就要你安装oracle数据库的那台服务器系统用户和所在环境保证db的安全了。
      

  6.   

    那是因为你本地的administator用户组把ora_dba  加进去了 你去掉就可以了
      

  7.   


    就跟sql server里面的操作系统认证一个道理吧!