你的意思是不是想使用这个表空间呢?
如果是,则:
CONN SYS/password AS SYSDBA;ALTER USER system
QUOTA tablespace_name UNLIMITED;CONN SYSTEM/password;
之后,你即可使用该表空间。
如果是,则:
CONN SYS/password AS SYSDBA;ALTER USER system
QUOTA tablespace_name UNLIMITED;CONN SYSTEM/password;
之后,你即可使用该表空间。
还是在不退出的情况下直接切换到另外一个表空间去!
而且我怎么做到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
数据库包含表空间包含模式对象(用户)。
即模式对象(用户)只是表空间的一个子集,
所以不存在创建表空间时——表空间属于那一个用户的问题(你所说的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。当然你也可以修改它,
但不建议这样做,合理的做法是重新创建用户后再赋予相应的权限。