Answers:
创建新用户时,可以选择为该用户创建的任何对象指定默认表空间和默认临时表空间。例如:
CREATE USER phil IDENTIFIED BY l33t
DEFAULT TABLESPACE philtablespace
TEMPORARY TABLESPACE philtemp;
如果在创建用户时省略这些子句,则用户将继承数据库的默认值。可以按以下方式查询:
SQL> select *
2 from database_properties
3 where property_name like 'DEFAULT%TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------------------------ -------------------- ----------------------------------------
DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
SQL>
...并进行如下修改:
alter database default tablespace PHILTS;
alter database default temporary tablespace PHILTEMP;
要查询给定用户的默认值,请使用以下查询:
SQL> select USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
2 from DBA_USERS
3 where USERNAME='PHIL';
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
PHIL USERS TEMP
SQL>
SELECT DEFAULT_TABLESPACE FROM DBA_USERS
了解每个用户的默认表空间。
ALTER DATABASE DEFAULT TABLESPACE othertablespace;
更改默认表空间。通常,如果有一些表空间,那么管理员在创建新用户时应设置默认表空间,例如CREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace