修改和维护表空间 ¶
你可以修改表空间的参数和属主等信息。
只有表空间属主或超级用户具备执行该操作的权限。
修改表空间的参数的方式:
-
执行SQL语句 ALTER TABLESPACE,其中包含 SET tablespace_option = value 子句。
例如,使用以下语句修改表空间的参数:
ALTER TABLESPACE tablesp SET tablespace_option = value;
合法的tablespace_option有seq_page_cost、random_page_cost和effective_io_concurrency。 它们功能的介绍详见: ALTER TABLESPACE
修改表空间的属主的方式:
-
执行SQL语句 ALTER TABLESPACE,其中包含 OWNER TO 子句。
例如,使用以下语句修改表空间的属主:
ALTER TABLESPACE tablesp OWNER TO user;
重命名表空间 ¶
你可以修改表空间的名称。 只有表空间属主或超级用户具备执行该操作的权限。
重命名表空间的方式:
-
执行SQL语句 ALTER TABLESPACE,其中包含 RENAME TO 子句。
例如,使用以下语句重命名表空间:
ALTER TABLESPACE tablesp RENAME TO newtablesp;
删除表空间 ¶
如果不再需要表空间,你可以删除它。在一个表空间能被删除前,其中必须没有任何数据库对象。 只有表空间属主或超级用户具备执行该操作的权限。
系统表空间 sys_default 和 sys_global 不能被删除。 正在被用作临时表空间的表空间不能被删除,因为有临时文件存在其中。
删除表空间的方式:
-
执行SQL语句 DROP TABLESPACE。
例如,使用以下语句删除表空间:
DROP TABLESPACE tablesp;
查看表空间相关信息 ¶
以下系统表和视图提供了表空间有关的相关信息。
视图 | 描述 |
---|---|
SYS_TABLESPACE | 记录所有表空间信息的系统表 |
SYS_DATABASE | 查询所有数据库使用的默认表空间 |
DBA_TABLESPACE、 USER_TABLESPACE | 显示所有表空间信息的易阅 |