你这个用户是不是有dba权限啊,或是属于某个角色role啊?

解决方案 »

  1.   

    也有可能你看到的那些表授权的时候采用的grant xxx on tab to all的形式
      

  2.   

    查看一下用户当前拥有的权限就一目了然了:
    select privilege
      from dba_sys_privs
     where grantee = 'username'
    union
    select privilege
      from dba_sys_privs
     where grantee in
           (select granted_role from dba_role_privs where grantee = 'username');
      

  3.   

    查看一下用户当前拥有的权限就一目了然了:
    select privilege
      from dba_sys_privs
     where grantee = 'username'
    union
    select privilege
      from dba_sys_privs
     where grantee in
           (select granted_role from dba_role_privs where grantee = 'username');没有授权,肯定是看不了的。 
      

  4.   

    11g中connect角色只具有CREATE SESSION的权限
    10g r2之前connect角色具有权限,无论是11g还是10g中的connect角色都没有权限去查询别的用的表
    CREATE SESSION
    CREATE TABLE  
    CREATE VIEW  
    CREATE SYNONYM  
    CREATE CLUSTER  
    CREATE DATABASE LINK  
    CREATE SEQUENCE  
    ALTER SESSION 
    11g中:
    SQL>  select * from role_sys_privs where role='CONNECT';ROLE                           PRIVILEGE                                ADM
    ------------------------------ ---------------------------------------- ---
    CONNECT                        CREATE SESSION                           NO
    所以赋予connect角色是不能访问其他用的表的你可以查看用户下具有的系统权限
    SQL> select * from session_privs;PRIVILEGE
    ----------------------------------------
    CREATE SESSION在查看用户下具有的对象权限来看用户是否对其他用户的表有select权限
    SQL>   select * from user_tab_privs;GRANTEE                        OWNER
    ------------------------------ ------------------------------
    TABLE_NAME                     GRANTOR
    ------------------------------ ------------------------------
    PRIVILEGE                                GRA HIE
    ---------------------------------------- --- ---
    U3                             U1
    TAB1                           U1
    SELECT                                   NO  NO
      

  5.   

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 11月 6 09:50:09 2014Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL> conn /as sysdba
    已连接。
    SQL> set linesize 2000
    SQL> drop user test purge;
    drop user test purge
                   *
    第 1 行出现错误:
    ORA-00921: 意外的 SQL 命令结尾
    SQL> drop user test cascade;用户已删除。SQL> create user test identified by test;用户已创建。SQL> grant connect to test;授权成功。SQL> conn test/test
    已连接。
    SQL> select * from scott.emp;
    select * from scott.emp
                        *
    第 1 行出现错误:
    ORA-00942: 表或视图不存在
    SQL> conn scott/tiger
    已连接。
    SQL> select * from scott.emp;     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-12月-80            800          1         20
      

  6.   

    给这个用户赋了别的角色了吧,那些角色可能有 select any table 权限。
      

  7.   

                我被plsql给误导了,查看用户的时候我以为我取消勾选就是取消授权了但是实际上还有授权了,谢谢了
      

  8.   

    这个勾勾的意思这个用户是否可以把select any table 权限授给别的用户,如果勾可以授给别的用户,如果没有够不可以授给别的用户