ORACLE数据库被划分成称作为表空间的逻辑区域,形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
对于表空间简单来说,就是用于数据存储的一个环境,所有的表结构、视图、数据等都存储在表空间内。
规范上来说,要想用数据库进行管理、存储数据,首先就是需要为自己的用户去划定单独的区域创建单独的表空间,当然对于一些小项目、数据量比较小、性能要求低的,也可以使用oracle自带的users表空间,也都没有问题,根据自己的需求来选择。
1.查看现有系统的表空间,使用system用户登录数据,执行如下命令,查看现有表空间文件的存放路径:
select * from dba_data_files;
2.从上图可以看到,存储路径为:D:\APP\ADMINISTRATOR\ORADATA\ORCL\,那么自己的新表空间就可以放到该路径下,执行如下命令创建表空间。
create tablespace user_bqtec LOGGING datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\user_bqtec01.DBF' size 1G AUTOEXTEND off;
说明:
①user_bqtec为自定的表空间名称
②size 1G为表空间文件大小,也就是可以存储1G的数据,根据需求自定义
③AUTOEXTEND off,为取消表空间的自增长,避免磁盘空间爆满,如果需要扩容了,可以使用追加表空间的方式进行,datafile的名称不能重复,可以使用序号进行标记,例如第一创建为user_bqtec01.dbf,第二次创建使用user_bqtec02.dbf……依次类推,表空间大小无上限,但是每个文件大小建议不超过25G或者30G。扩充语句如下:
alter tablespace user_bqtec add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\user_bqtec02.DBF' size 1G AUTOEXTEND off;
3.如果表空间不再使用,需要释放,那么可以执行删除命令,日常工作中慎用,有需要的可以查阅相关删除操作。一旦误删将导致数据丢失,后果比较严重,所以我就没有再整理。