你这个用户下根本没的见表。只是赋予你访问其他用户表的权限罢了 select * from user.tablename;
我试了一上,可以看到其他用户的表啊sql>create role rolea; sql>grant connect, select any table to rolea; sql>create user a identified by a; sql>grant rolea to a;然后用a登陆,可以看到其他用户的表。
你是不是想创建一个用户,他可以也只能读取到所有用户的表。如果是的话请参照下文: grant select any table to "user"; 这个命令可以实现你说的功能。 你说你点tables里面一个表也没有,是因为该用户只能读取到所有用户的表,但其他用户的表的创建者理所当然是其他用户,也就是说你并不拥有该表,你只是拥有查看它的权利。而该用户本身尚未建立一个表。 你可以用sql语句 select * from user.table; 在你知道某个用户拥有某个表的情况下来查看其他用户的表的内容。如果你想还能查看其他用户拥有哪些表的话,还要执行 grant select on sys.dba_tables to user; 这样一来,你就可以通过sys.dba_tables表来查看哪些人拥有哪些表了。
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='CONNECT'
grant connect to yourUser;grant select any table to yourUser;
或者自己建同义词:SQL> select * from tab;TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
BIN$RMDvE0hBTcG7v8uNrDlL0Q==$0 TABLE
BIN$wAMM6chBTgSGkeV3flZ7oQ==$0 TABLE
BORROW TABLE
DEPT TABLE
DEPT_EMP VIEW
EMP TABLE
T1 TABLE
T2 TABLE
TBUSER_INFO TABLE
TEMP TABLE
TEMP_TEST TABLE
TEST_TABLE TABLE已选择13行。SQL> create synonym dict for sys.dict;同义词已创建。SQL> select * from tab;TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
BIN$RMDvE0hBTcG7v8uNrDlL0Q==$0 TABLE
BIN$wAMM6chBTgSGkeV3flZ7oQ==$0 TABLE
BORROW TABLE
DEPT TABLE
DEPT_EMP VIEW
DICT SYNONYM
EMP TABLE
T1 TABLE
T2 TABLE
TBUSER_INFO TABLE
TEMP TABLE
TEMP_TEST TABLE
TEST_TABLE TABLE已选择14行。SQL>
http://jiangxi_wangwj.itpub.net/post/2339/50726
select * from user.tablename;
我试了一上,可以看到其他用户的表啊sql>create role rolea;
sql>grant connect, select any table to rolea;
sql>create user a identified by a;
sql>grant rolea to a;然后用a登陆,可以看到其他用户的表。
grant select any table
to "user";
这个命令可以实现你说的功能。
你说你点tables里面一个表也没有,是因为该用户只能读取到所有用户的表,但其他用户的表的创建者理所当然是其他用户,也就是说你并不拥有该表,你只是拥有查看它的权利。而该用户本身尚未建立一个表。
你可以用sql语句
select * from user.table;
在你知道某个用户拥有某个表的情况下来查看其他用户的表的内容。如果你想还能查看其他用户拥有哪些表的话,还要执行
grant select
on sys.dba_tables
to user;
这样一来,你就可以通过sys.dba_tables表来查看哪些人拥有哪些表了。