创建表空间
1.语法
CREATE [SMALLFILE/BIGFILE] TABLESPACE tablespace_name
DATAFILE '/path/filename' SIZE num[k/m] REUSE
[,'/path/filename' SIZE num[k/m] REUSE]
[...]
[AUTOEXTEND [ON|OFF] NEXT num[k/m]]
[MAXSIZE EXTEND [UNLIMITED | num[k/m]]]
[MINIMUN EXTEND num[k/m]]
[DEFAULT STORAGE storage]
[ONLINE|OFFLINE]
[LOGGING|NOLOGGING]
[PERMANENT|TEMPORARY]
[EXTENT MANAGEMENT DIRECTORY|LOCAL [AUTOALLOCATE|UNIFORM SIZE num[k/m]]]]
语法中的关键字
- SMALLFILE/BIGFILE:表示创建的是小文件表空间还是大文件表空间
- AUTOEXTEND [ON|OFF] NEXT :表示数据文件为自动扩展(ON)或非自动扩展(OFF),如果是自动扩展,则需要设置NEXT的值。
- MAXSIZE :表示当前数据文件扩展时,允许数据文件扩展的最大长度字节数,如果指定UNLIMITED关键字,则不需要指定字节长度。
- MINIMUN EXTEND:指定最小的长度,由操作系统和数据库的块决定。
- ONLINE|OFFLINE:创建表空间时可以指定为在线或离线
- PERMANENT|TEMPORARY:指定创建的表空间时永久表空间或临时表空间,默认是永久表空间。
- LOGGING|NOLOGGING:指定该表空间内的表在加载数据时是否产生日志,默认产生日志。即使设置为NOLOGGING,但在进行INSERT、UPDATE、DELETE操作时,Oracle仍将操作记录到Redo Log Buffer中。
- EXTENT MANAGEMENT DIRECTORY|LOCAL:指定表空间的扩展方式是使用数据字典管理还是本地化管理,默认本地化管理。Oracle不推荐使用数据字典表管理表空间。、
- AUTOALLOCATE|UNIFORM :如果采用本地化管理表空间,在表空间扩展时,指定每次盘区扩展的大小是由系统自动指定还是按照同等大小进行。若按照同等大小进行,则默认每次扩展为1MB
语法中的参数说明
- tablespace_name:该参数表示要创建的表空间名称
- '/path/filename' :该参数表示数据文件的名字与存储路径,REUSE表示该表空间存在,则清除该文件后重新创建,不存在,则直接创建。
- DEFAULT STORAGE storage:指定以后要创建的表、索引及簇的存储参数值,这些参数将影响以后表等的存储参数。
- num[K/M]:指文件的大小,例如10k 或者10M
2.创建表空间实例
案例一:创建一个扩展大小为5M的表空间
create tablespace tbs_test_1 datafile 'D:\app\OLIVER\oradata\tbs_file1.dbf' size 20m extent management local uniform size 5M;
注意:此种方法建立的表空间存储上限值为20M.
当表空间容量快要超过20M时,则会报错如下:
案例二:创建一个扩展大小为自动管理的表空间
create tablespace tbs_test_2 datafile 'D:\app\OLIVER\oradata\tbs_file2.dbf' size 20m extent management local autoallocate;
同理,当表空间大小快要达到20M时候报错如上图。
注意:此种方法建立的表空间存储上限值为20M.
案例三:创建自动扩容的表空间
create tablespace tbs_test_3 datafile 'D:\app\OLIVER\oradata\tbs_file3.dbf' size 20m autoextend on next 2M maxsize unlimited extent management local autoallocate;
删除表空间
1.语法
DROP TABLESPACE tbs_name[INCLUDING CONTENTS][CASCADE CONSTRAINTS]
- tbs_name:要删除的表空间名称
- INCLUDING CONTENTS:删除表空间的时候删除数据,如果不指定该参数,则删除时候会报错
- CASCADE CONSTRAINTS:表示当删除表空间时也删除相关的完整性限制,完整性限制包括主键及唯一索引等。如果完整性存在,而没有该参数,则表空间删除报错,并且表空间无法删除。
2.删除实例
drop tablespace TBS_TEST_3 including contents cascade constraints
查询表空间使用情况