Tablespace创建表时该参数是可选的。
执行CREATE TABLE语句时,如果未定义,Oracle 会分配默认语句。
在默认数据库中有一个“USERS”表空间。如果定义了多个表空间,将分配哪一个?
Phi*_*lᵀᴹ 41
创建新用户时,您可以选择为该用户创建的任何对象指定默认表空间和默认临时表空间。例如:
CREATE USER phil IDENTIFIED BY l33t
DEFAULT TABLESPACE philtablespace
TEMPORARY TABLESPACE philtemp;
Run Code Online (Sandbox Code Playgroud)
如果在创建用户时省略子句,用户将继承数据库默认值。这些可以查询如下:
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>
Run Code Online (Sandbox Code Playgroud)
...并像这样修改:
alter database default tablespace PHILTS;
alter database default temporary tablespace PHILTEMP;
Run Code Online (Sandbox Code Playgroud)
要查询给定用户的默认值,请使用以下查询:
SQL> select USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
2 from DBA_USERS
3 where USERNAME='PHIL';
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
PHIL USERS TEMP
SQL>
Run Code Online (Sandbox Code Playgroud)
小智 5
SELECT DEFAULT_TABLESPACE FROM DBA_USERS了解每个用户的默认表空间。
ALTER DATABASE DEFAULT TABLESPACE othertablespace;更改默认表空间。通常,如果有一些表空间,管理员应该在创建新用户时设置默认表空间,例如CREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace