一、表空间基本操作
1. 1 创建表空间
语法格式
CREATE TABLESPACE <表空间名> <数据文件子句>
[<数据页缓冲池子句>][<存储加密子句>][<指定 DMTDD 副本子句>]
例 以 SYSDBA 身份登录数据库后,创建表空间 TS1,指定数据文件 TS1.dbf,大小128M。
CREATE TABLESPACE TS1 DATAFILE 'd:\TS1.dbf' SIZE 128;
1.2 修改表空间。
语法格式
ALTER TABLESPACE <表空间名> [ONLINE|OFFLINE|CORRUPT|
<表空间重命名子句>|<数据文件重命名子句>|<增加数据文件子句>|
<修改文件大小子句>|<修改文件自动扩展子句>|<数据页缓冲池子句>
例1将表空间 TS1 名字修改为 TS2。
ALTER TABLESPACE TS1 RENAME TO TS2;
例 2 增加一个路径为 d:\TS1_1.dbf,大小为 128M 的数据文件到表空间 TS1。
ALTER TABLESPACE TS1 ADD DATAFILE 'd:\TS1_1.dbf' SIZE 128;
例 3 修改表空间 TS1 中数据文件 d:\TS1.dbf 的大小为 200M。
ALTER TABLESPACE TS1 RESIZE DATAFILE 'd:\TS1.dbf' TO 200;
例 4 重命名表空间 TS1 的数据文件 d:\TS1.dbf 为 e:\TS1_0.dbf。
ALTER TABLESPACE TS1 OFFLINE;
ALTER TABLESPACE TS1 RENAME DATAFILE 'd:\TS1.dbf' TO 'e:\TS1_0.dbf';
ALTER TABLESPACE TS1 ONLINE;
例 5 修改表空间 TS1 的数据文件 d:\TS1.dbf 自动扩展属性为每次扩展 10M,最大文件大小为 1G。
ALTER TABLESPACE TS1 DATAFILE 'd:\TS1.dbf' AUTOEXTEND ON NEXT 10 MAXSIZE
1000;
例 6 修改表空间 TS1 缓冲池名字为 KEEP。
ALTER TABLESPACE TS1 CACHE= " KEEP " ;
例 7 修改表空间为 CORRUPT 状态,注意只有在表空间处于 OFFLINE 状态或表空间损坏的情况下才允许使用。
ALTER TABLESPACE TS1 CORRUPT;
1.3删除表空间。
语法格式
DROP TABLESPACE <表空间名>
使用说明
- SYSTEM、RLOG、ROLL 和 TEMP 表空间不允许删除;
- 系统处于 SUSPEND 或 MOUNT 状态时不允许删除表空间,系统只有处于 OPEN 状
态下才允许删除表空间。
例 以 SYSDBA 身份登录数据库后,删除表空间 TS1。
DROP TABLESPACE TS1;
1.4表空间恢复失效文件的检查。
语法格式
SP_FILE_SYS_CHECK ();
语句功能
在 LINUX 操作系统下,检查是否有数据文件被删除。
使用说明
该过程只在 LINUX 下有效。
1.5表空间恢复失效文件的准备。
语法格式
SP_TABLESPACE_PREPARE_RECOVER(<表空间名>);
语句功能
在 LINUX 操作系统下,如果出现了正在使用数据文件被删除的情况,该过程完成失效文件恢复的准备工作。
使用说明
该过程只在 LINUX 下有效。
1.6表空间失效文件的恢复。
语法格式
SP_TABLESPACE_RECOVER(<表空间名>);
语句功能
在 LINUX 操作系统下,如果出现了正在使用数据文件被删除的情况,在调用了恢复准备的 SP_TABLESPACE_PREPARE_RECOVER 及在 OS 系统内完成了数据文件的复制后,调用该过程完成文件的恢复工作。
使用说明
- 该过程只在 LINUX 下有效;
- 在 SP_TABLESPACE_PREPARE_RECOVER 及在 OS 系统内完成了数据文件的复制后调用。
二、HTS表空间
2.1 创建 HTS 表空间
语法格式
CREATE HUGE TABLESPACE <表空间名> PATH <表空间路径>;
例 创建表空间 HTS_NAME。
CREATE HUGE TABLESPACE HTS_NAME PATH 'e:\HTSSPACE';
2.2 修改 HTS 表空间
语法格式
ALTER HUGE TABLESPACE <表空间名> ADD PATH <路径>;
例 为表空间 HTS_NAME 添加路径。
ALTER HUGE TABLESPACE HTS_NAME ADD PATH 'e:\HTSPATH';
2.3删除 HTS 表空间。
语法格式
DROP HUGE TABLESPACE <表空间名>
使用说明
该表空间必须未被使用才能被删除。
举例说明
例 以 SYSDBA 身份登录数据库后,删除 HTS 表空间HTS_NAME。
DROP HUGE TABLESPACE HTS_NAME;