我用sys登陆,建立了表空间test,并创建了用户aa,并指定表空间。
让后用aa登陆,建了些表。
后来要在test表空间下面添加一个用户,我就用sys登陆,创建了用户bb,并制定test表空间。
可是,用bb登陆后,点击左侧的tables(用的是plsql),发现没有表。怎么办??????????我怀疑不应该用sys登陆来创建用户bb的,应该用aa来登录,可是在创建aa的是很并没有给他with grant option,也就是aa没有创建用户的权限.

解决方案 »

  1.   

    你选的是AllObject  还是 MyObject
      

  2.   

    brower中
    users--aa--objects--tables
    如果bb用户有足够的权限,就能看到那些表了
      

  3.   

    如果权限不足
    1.为bb授权查看aa的表的权限
    2.为bb授dba
    3.将bb设为aa的代理用户
      

  4.   

    aa 是 aa, bb是bb,不做专门的设置怎么可以相互看的见呢?看不见是正理,除非偿有bb用户下自己创建自己的表
      

  5.   

    1楼的说的对,你的bb用户根本就没有在test的表空间上创建属于自己的对象。你只是把test表空间设置成了bb用户的默认表空间,这样只能够说明bb用户可以在test表空间上创建数据库对象而已。
      

  6.   

    表空间和schema是两回事。aa和bb虽然有共同的default tablespace,但是他们的schema是隔离的,所以aa的schema里的表对象,bb当然是看不到的哟。
      

  7.   

    那bb怎么才能使用aa的对象呢?
      

  8.   

    最简单的办法就是
    用sys登录,执行grant dba to bb
    就可以了
    用bb查看aa的表
    select * from aa.tab1
    记得在表名前加上aa.
      

  9.   

    我需要的是bb和aa具有一样的权限,包括在plsql里面操作表。不能 加前缀用户。
      

  10.   

    不加前缀,那么你只能给每个表都设置一个synonyms怎么用google下。
      

  11.   


    没错,懒得输入用户名前缀,要么你就直接用aa用户
    要么就一个一个建同义词
    (用bb用户来建,如果bb有访问的权限)
    create synonym tab1 for aa.tab1
      

  12.   

    楼主不厚道哦
    你问的是如何让bb能访问aa的表你得到了答案
    如果你觉得麻烦,也是你的要求不现实
    却以无满意答案结贴