一个用户都有一个默认表空间,当一个用户登陆就会启动默认表空间,但是有的用户像sys等用户对所有表都有访问权限,但是那些表在其他的表空间,怎么打开的时候就能浏览到?

解决方案 »

  1.   

    表空间和schema是两个不同的概念。表空间是用来存储对象的逻辑空间,schema里的对象都存在表空间里,访问其他用户schema的对象,需要加上schema的名字,要能在指定的表空间上创建对象,需要在表空间上有配额。
      

  2.   

    一个用户并不是只能使用一个表空间的。
    假设除了系统自带的那几个表空间外,我又创建了3个表空间:a,b,c
    创建一个新用户:m,默认情况下m的默认表空间为 user表空间,也就说在m用户下创建的表在不手动指定存储表空间的时候是存储在user表空间的,但是也可以把m下的表存放在其他表空间中。你在oracle中查看表的sql语句,表结构的后面有个 tablespace,后面写的就是表空间。也就是说一个用户可以把自己的表放在多个不同的表空间中。并不是一对一的关系。用户和表空间是多对多的关系。按照你的想法,用户和表空间的使用个数就成了一对一得了