你现在的问题是没有视图all_all_tables的查询权限。请看下面:
SQL> conn sys/password as sysdba
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as SYS
SQL>
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 EXAMPLE
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.
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;
上面代码成功执行。