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

解决方案 »

  1.   

    在不行,grant dba to aa!
      

  2.   

    首先,Oracle的表空间虽然可以给多个用记存放数据,但各个用户的数据如果不经过授权,其它用户是无法看的,除具有DBA权限的用户可以看到 全部用户的表,如需要一个用户的对象 可以给另一个用户访问 ,可以给另一个用户进行授权
      

  3.   


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

  4.   

    嗯,是的。如果用户BB非DBA用户,且未授权的情况下,bb用户是看不到aa用户下的表的。
    可以采取以下方法:
    第一种方法:
    grant dba to bb;
    第二种方法:
    grant select any table to bb;(bb用户只可以看到aa用户下的表及其数据)如果使用PL/SQL查看表的话,注意左上角选择all objects
      

  5.   

    bb里没有创表,还有就是你看有没有把相应的权限给它。。如果有,你用plsql dev登入,选择all object就可以看到