你的意思是不是想使用这个表空间呢?
如果是,则:
CONN SYS/password AS SYSDBA;ALTER USER system
QUOTA tablespace_name UNLIMITED;CONN SYSTEM/password;
之后,你即可使用该表空间。

解决方案 »

  1.   

    when creating database object ( table , index ) ,You can specify the name of tablespace .
      

  2.   

    世纪,你的语句是不是让他启动的时候自动切换到另一个表空间去是不是!
    还是在不退出的情况下直接切换到另外一个表空间去!
    而且我怎么做到ALTER USER system
    QUOTA tablespace_name UNLIMITED;的时候就报错了!SQL> alter user system quota mx unlimited;
    alter user system quota mx unlimited
                            *
    ERROR at line 1:
    ORA-02187: invalid quota specification
      

  3.   

    数据库、表空间、模式对象(用户)三者关系是:
    数据库包含表空间包含模式对象(用户)。
    即模式对象(用户)只是表空间的一个子集,
    所以不存在创建表空间时——表空间属于那一个用户的问题(你所说的system),
    只是在创建用户时可以指定其所属的默认表空间,例:
    SQL>CONN SYS/password AS SYSDBA;
    SQL>CREATE USER aa IDENTIFIED BY password DEFAULT TABLESPACE users;   
    /* 新用户aa的密码为password指定默认的表空间为  users */
                                        
    SQL>GRANT CREATE SESSION TO aa;
    这时的用户aa还不能使用任何表空间,因为还没有指定使用表空间的空间大小;
    下面语句即指定无限使用表空间users;
    SQL>ALTER USER aa  QUOTA UNLIMITED ON users /* users是表空间名*/
    当你现在以用户aa/password登录以后,默认表空间users即为你想切换到的表空间了。
    SQL>CONN aa/password;
    现在创建任何对象时若没指定表空间,则对象都创建在表空间users中了。另外,system是Oracle的默认用户,且具有很强大的权限,其默认表空间为system,
    所以你任何时候登录以后,它的默认表空间仍为system。当然你也可以修改它,
    但不建议这样做,合理的做法是重新创建用户后再赋予相应的权限。