创建了一个用户,如果给他授DBA权限,到是有dba_user的权限了,可是如果不授DBA,直接grant select dba_user on user,就提示权限不足,system,sys都不行.
我看了下书,说是系统权限和实体权限不一样,有系统权限不一定赋得了实体权限,那好,dba_user的拥有都是谁,到底怎么才能给非DBA用户赋dba_user的权限呢?
其实我的许多系统表的授权都失败了,如dba_object,v_$lock,v_$session...

解决方案 »

  1.   

    可以的,用 AS SYSDBA, 登陆,然后付权。
      

  2.   

    dba_users
      

  3.   

    要不建一个同义词,然后付给select权限
      

  4.   

    数据库版本11
    SQL> conn wf/oracle
    ERROR:
    ORA-01045: 用户 WF 没有 CREATE SESSION 权限; 登录被拒绝
    警告: 您不再连接到 ORACLE。
    SQL> conn scott/oracle
    已连接。
    SQL> grant create session to wf
      2  ;授权成功。SQL> conn wf/oracle
    已连接。
    SQL> desc dba_users
    ERROR:
    ORA-04043: 对象 "SYS"."DBA_USERS" 不存在
    SQL> conn / as sysdba
    已连接。
    SQL> grant select on dba_users to wf;授权成功。SQL> conn wf/oracle
    已连接。
    SQL> select count(*) from dba_users;  COUNT(*)
    ----------
            40SQL>
      

  5.   

    首先连接  scott  然后 连接 sysdba   创建 表空间  用户   给用户 权限 就可以了