Oracle表空间实际上是数据库上的逻辑存储结构,可理解为在数据库中开辟一个空间,用于存放我们数据库的对象,一个数据库可以有多个表空间。
数据库-表空间-数据文件的关系.png
表空间分类:
临时表空间——临时存储数据
永久表空间——系统存储的数据字典
UNDO表空间——回退表空间
表空间分类与关系.png
Commit提交,清空临时表空间,存储到永久表空间和UNDO表空间去
表空间创建语法:
create [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'XX.dbf' SIZE XX
1、创建与删除表空间与数据文件
create tablespace tablespace_test1 datafile 'testfile1.dbf' size 10m;//创建表空间与数据文件
alter tablespace tablespace_test1 add datafile 'testfile2.dbf' size 10m;//添加一个数据文件
alter tablespace tablespac_test1 drop datafile 'testfile2.dbf';//删除数据文件。
drop tablespace tablespace_test1;//删除表空间,未删除数据文件
drop tablespace tablespace_test1 include contents;//删除表空间和数据文件
注意:不能删除表空间中的第一个创建的数据文件,如果要删就必须删掉整个表空间
如果用系统用户sys, as sysdba登录,则是存放在表dba_data_files
2、创建临时表空间
create temporary tablespace tablespace_temptest1 tempfile 'tempfile1.dbf' size 10m;
如果用系统用户sys, as sysdba登录,则是存放在表dba_temp_files
查看表空间:
select file_name from dba_data_files where tablespace_name = 'TABLESPACE_TEST1';//这里的名字一定要大写
查看临时表空间:
select file_name from dba_temp_files where tablespace_name = 'TABLESPACE_TEMPTEST1';
网友评论