那是因为你的权限不足,
或访问其它用户的表时需加完整的名称,
如用户a访问用户b的表table1,则需写成b.table1, 例如:
SQL>conn a/password;
SQL>select * from b.table1; --a访问其它用户的表需要相应的权限。

解决方案 »

  1.   

    不是权限的问题.我现在可以select * from that_table ;
    问题是我在创建视图(含这个表)的时候提示表不存在
      

  2.   

    SQL>conn sys/password as sysdba;
    SQL>grant create view to user_a;
    SQL>conn user_a/password;
    SQL>create or replace view tab_view_name as
    SQL>select * from tab_name;
    上面代码成功执行。
      

  3.   

    很感谢你的回帖执行create view时,提示有个表不存在,我的视图是关联多个表的.
    我单独执行select * from '那个表' 时却没提示
      

  4.   

    如果真是这样的话,肯定有个表不属于当前用户,
    你可以通过以下语句查询一下你的这些表是不是都属于该用户:
    SQL>SELECT owner,table_name,tablespace_name FROM ALL_ALL_TABLES
    SQL>WHERE owner='USER_NAME';
      

  5.   

    我执行你的SQL后有问题,owner和ALL_ALL_TABLES是ORACLE的关键字么?
      

  6.   

    你现在的问题是没有视图all_all_tables的查询权限。请看下面:
    SQL> conn sys/password as sysdba
    Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
    Connected as SYSSQL> 
    SQL> select owner,table_name,tablespace_name from all_all_tables
      2  where owner='HR'
      3  ;OWNER                          TABLE_NAME                     TABLESPACE_NAME
    ------------------------------ ------------------------------ ------------------------------
    HR                             COUNTRIES                      
    HR                             DEPARTMENTS                    EXAMPLE
    HR                             EMPLOYEES                      EXAMPLE
    HR                             JOBS                           EXAMPLE
    HR                             JOB_HISTORY                    EXAMPLE
    HR                             LOCATIONS                      EXAMPLE
    HR                             REGIONS                        EXAMPLE7 rows selected
      

  7.   

    就是一个权限问题!数据库系统权限和数据库对象权限是不同的!以后请将标题表达准确些,泥遇到的问题并不是ORA-01555错误!
      

  8.   

    唉,
    又不是让你查询你自己创建的视图,
    而是通过数据字典里的系统视图all_all_tables查看你的表是不是都属于同一个用户。
      

  9.   

    connect sys/chang_on_install as sysdba
    grant select any table to user;
      

  10.   

    ORA-01555 snapshot too old: rollback segment number string with name "string"
    too small
    Cause: Rollback records needed by a reader for consistent read are overwritten
    by other writers.
    Action: If in Automatic Undo Management mode, increase the setting of
    UNDO_RETENTION. Otherwise, use larger rollback segments.