表空间和数据文件
表空间是数据库的逻辑组成部分,从物理上讲,数据库数据是存在文件中,从逻辑上讲,数据库是存在表空间中的,表空间由一个或多个数据文件组成的。
Oracle逻辑结构包括表空间,段,块
Oracle可以包括很多的表空间。实际上表空间是由数据文件构成的。
1) 通过表空间可以控制数据库占用的磁盘空间
2) Dba可以讲不同的数据类型部署到不同 的位置,有利于提高IO性能,同时有利于备份和恢复等管理操作。
建立表空间使用
create tablespace
create tablespace data01 datafile ‘e:\test\data01.dbf‘ size 20m uniform (区的大小是128)size 128k ;
建立一个表,然后将他放在这个表空间中。
在创建表的后面加上 tablespace data01 ; 就好了
表空间的作用:
当建立表空间的时候,表空间处于online状态,此时表空间是可以访问的,并且该表空间是可以读写的。但是在进行系统维护或者数据维护的时候可能需要改变表空间的状态,一般情况下由特权用户或者dba来操作。
1) 使得表空间脱机
Alter tablespace 表空间名 offline.
2) 使得表空间联机
Alter tablespace 表空间 online;
3) 只读表空间
Alter tablespace 表空间 read only ;
4) 可读可写
Alter tablespace 表空间 read write ;
5) 显示表空间的所有的表
Select * from all_tables where tablespace_name = ‘sp001’ ;
6) 知道表名字,查看其属于的表空间
Select tablespace_name , table_name from user_tables where table_name =’EMP ‘ ;
7) 删除表空间
Drop tablespace ‘表空间’ including contents and datafiles ;
8) 扩展表空间
a) 手动增加
Alter database datafile’e:test.dbf’ resize 200m;
b) 设置为自动增加
alter database datafile ‘/home/oracle/ts01.dbf‘ autoextend on next 5m maxsize unlimited;