表空间: 表空间是数据库的逻辑存储空间。可以理解为在表空间中开辟一个空间用来存储数据库的对象(数据库实例)。一个数据库可以由多个表空间构成。可用过表空间进行优化 ,由多个数据文件组成。
数据文件: 用来存放数据表,存储过程以及视图等数据;
永久表空间:表、视图、存储过程等
临时表空间:用来存放进行数据库操作的中间执行的过程,当执行结束之后存放的东西就会被自动的释放掉,不会进行永久性的保存。
UNDO表空间:执行事务时保存表之前的状态,便于回滚
Dba_tablespaces该数据字典针对的系统管理员级的用户来查看的数据字典,
user_tablespace该数据字典为普通用户登录后来查看的数据字典。
作为系统管理员登录的时候,对应的表空间(dba_tablespaces下面的表空间)默认情况下为这6个:
System:用来存放sys用户的表、视图以及存储过程的数据库对象,也被我们称为是一个系统表空间。
Sysaux:作为example的一个辅助表空间。
Undotbs1:主要用于存储撤销信息的。
Temp:存储sql语句处理的表和索引信息的,他是一个临时表空间。
Users:属于一个永久性表空间,存储数据库用户创建的数据库对象。
更改默认空间:alter user system default tablespace system(表空间名);
创建表空间
永久表空间: create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;
临时表空间: create temporary tablespace test2_tablespace tempfile 'test2file.dbf' size 10m;
表空间即文件/临时文件
查看文件名:select file_name from dba_data_files where tablespace_name='test1_tablespace';
设置表空间的读写状态:
ALTERTABLESPACE tablespacename READONLY; --只读状态
ALTERTABLESPACE tablespacename READWRITE; --读写状态
设置表空间的状态(脱机/联机):
ALTERTABLESPACE tablespacename OFFLINE;
ALTERTABLESPACE tablespacename ONLINE;
查看表空间状态
SELECT tablespace_name,status FROM dba_tablespaces;
增加、删除数据文件
alter tablespace tablespace_name add datafile ‘xxx.dbf’size xx;
alter tablespace tablespace_name drop datafile ‘xxx.dbf’;
在删除表空间数据文件的时候,不能够删除表空间中第一个数据文件,也就是说不能够删除我们创建表空间的时候创建的第一个数据文件,如果要删除的话,则必须要把整个表空间删除掉。
删除表空间:
drop tablespace (表空间的名字) test1_tablespace including contents(如果在删除表空间的时候将表空间的数据文件一并删除,则需要加上 incuding contents)
表空间、数据文件一并删除
drop tablespace test1_tablespace including contents and datafiles ;
网友评论