表空间
Oracle表空间是用于存储数据库对象(如表、索引、视图等)的数据文件集合。表空间的主要作用是:
- 将数据库对象组织成逻辑组,便于管理和备份
- 控制对象所占空间,提高性能
- 分离对象数据文件,降低损坏的可能性
创建表空间的语法如下:
CREATE TABLESPACE tablespace_name
DATAFILE 'datafile_path'
SIZE size
REUSE
AUTOEXTEND ON
NEXT size
MAXSIZE size
LOGGING
EXTENT MANAGEMENT LOCAL;
- DATAFILE:指定数据文件的路径和文件名
- SIZE:指定数据文件初始大小
- REUSE:允许表空间重用现有的数据文件
- AUTOEXTEND:允许数据文件自动增长
- NEXT:指定下一段增长的大小
- MAXSIZE:指定数据文件最大容量
- LOGGING:启用日志记录,用于恢复
- EXTENT MANAGEMENT:指定段空间管理方式,LOCAL为Oracle管理
例如,创建一个名为users的表空间:
CREATE TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
SIZE 100M REUSE
AUTOEXTEND ON NEXT 50M MAXSIZE 5G
LOGGING
EXTENT MANAGEMENT LOCAL;
将一个表移动到表空间的语法如下:
ALTER TABLE table_name
MOVE TABLESPACE tablespace_name;
例如,将employees表移动到users表空间:
ALTER TABLE employees
MOVE TABLESPACE users;