我先建了一个表空间Test_DB
然后
我建了三个用户,是用下面的方法建立的create user AAA identified by 123
default tablespace Test_DBcreate user BBB identified by 123
default tablespace Test_DBcreate user CCC identified by 123这三个用户都给了以下的权限
grant connect,CREATE session,resource to [user]我用AAA用户在Test_DB里建了一个表叫Test,为什么我用其他两个用户BBB、CCC都看不到Test这个表,而且我用system用户向Test这个表里插的数据AAA用户查不到,我用AAA用户插的数据system用户查不到,这是为什么?

解决方案 »

  1.   

    最好能把你具体的执行代码贴出来看看你以AAA用户登录 执行以下语句
    grant select on test to bbb;
    grant select on test to ccc;再以用户BBB或者CCC登陆 查询的时候在表名前加上SCHEMA名 如下
    select * from aaa.test;
      

  2.   

    select * from 用户.表名;
      

  3.   

    没错,bbb,ccc访问aaa的表可以用这种方式
    至于你说的插入的数据看不到,有2种可能
    1.你是不是分别用system和aaa用户分别建了两个表?就是说两个用户分别访问的是两个独立的表,没有关系。还有,system和sys用户最好不要用来进行这种操作
    2.两个用户访问的是同一个表,但你插入数据后没有提交,因此插入的数据不能显示。需要在插入或修改后进行commit操作
      

  4.   

    conn scott
    password : conn sys/password as sysdba;
      

  5.   

    呵呵 我猜也许他是第一种情况
    因为如果是第二种情况的话楼主应该就了解schema_name.table_name的格式
    就不会犯前面那样的错了