oracle数据库初步之表空间与数据文件

时间:2022-07-13 12:19:39

表空间基本概念

1.  表空间:是数据库的逻辑存储空间。可以理解为,在数据库当中开辟的一个空间,用于存放数据库的对象。

2.  一个数据库可以由多个表空间构成。

3.  oracle中的表空间概念是与MySQL、SQL Server等数据库的一个重要区别;oracle的很多优化都是通过表空间实现的

4.  表空间与数据文件关系:表空间是由一个或多个数据文件构成的,数据文件的位置和大小可以由用户自己定义。

表空间的分类

1.  永久表空间:数据库中要永久化存储的一些对象,如:表、视图、存储过程

2.  临时表空间:数据库操作当中中间执行的过程,执行结束后,存放的内容会被自动释放

3.  UNDO表空间:用于保存事务所修改数据的旧值,可以进行数据的回滚

查看用户的表空间

1. 概念:

dba_tablespaces(系统用户)user_tablespaces (普通用户)默认表空间共六个

sys: sys表、存储过程、视图等数据对象,存放系统信息 -- 系统表空间

sysaux: example辅助表空间

undotbs1: 数据库撤销信息undo类型的表空间

temp: SQL语句处理的表、索引信息 --临时存储

users: 数据库用户使用的数据库对象--永久存储

example: 安装oracle数据库实例

2. 操作:

查看数据库全库表空间中的字段信息desc dba_tablespaces

查看数据库中包含的对应类型的表空间详细信息select tablespace_name from dba_tablespaces

查看普通用户表空间中的字段信息desc user_tablespaces

查看普通用户包含的对应类型的表空间详细信息select tablespace_name from user_tablespaces

查看系统用户名下对应的默认表空间和临时表空间的详细信息(这里以system为例)Select default_tablespace,temporary_tablespace from dba_user whereusername='SYSTEM';(SYSTEM要大写)

设置用户的默认或临时表空间alteruser 用户名 default(temporary )tablespace 表空间名

创建表空间

1. 创建永久表空间和临时表空间

create [temporary] tablespace tablespace_name tempfile | datafile'xx.dbf' size xx

不指定路径,默认安装到oracle安装目录下

2. 在不知道默认路径的情况下查看表空间

desc dba_data_files查看永久表空间数据字典字段

desc dba_temp_files查看临时表空间数据字典字段

select file_name from dba_data_files where tablespace_name='表空间名字要大写';查看永久表空间数据文件

select file_name from dba_temp_files where tablespace_name='表空间名字要大写';查看临时表空间数据文件

修改表空间

1. 修改表空间的状态

设置联机或脱机状态ALTER TABLESPACE tablespace_name ONLINE|OFFLINE

查看表空间状态SELECTSTATUS FROM dba_tablespaces WHERE tablespaces_name=’ 表空间名字要大写’;

2. 设置只读或可读写状态

ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE(联机才可以设置,读写状态就是online状态)

修改数据文件

1. 增加数据文件

ALTER TABLESPACE tablespace_name ADD DATAFILE ‘xx.dbf’ SIZExx;

2.  删除数据文件

ALTER TABLESPACE tablespace_name DROP DATAFILE ‘filename.dbf’;(不能删除创建表空间时的创建的第一个数据文件,如果要删除第一个数据文件要把整个表空间删掉)

删除表空间

DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];