一、概述
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
表空间是数据库中最大的逻辑单位, SYSTEM和SYSAUX表空间是在创建数据库时创建的必须存在的表空间,还会有TEMP, USERS等
每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联
表空间的大小等于构成该表空间的所有数据文件大小之和
-
二、实验环境
主机 | 操作系统 | IP地址 | 数据库版本 |
---|---|---|---|
Oracle | CentOS 7 | 192.168.100.135 | oracle 12c |
三、表空间管理
首先切换为Oracle用户
[[email protected] ~]# su - oracle进入数据库,并启动Oracle
[[email protected] ~]$ sqlplus / as sysdba sql> startup
开启三阶段
sql> quit #退出
开启监听
[[email protected]NAMEoracle ~]$ lsnrctl LSNRCTL> start
LSNRCTL> quit
进入Oracle
[[email protected] ~]$ sqlplus / as sysdba
--------------------创建表空间-----------------------
创建表空间school(大小10M 自动扩展)
sql> create tablespace school 2 datafile ‘/orc/app/oracle/oradata/school01.dbf‘ 3 size 10m autoextend on; 表空间已创建。
查看下是否有创建成功
[[email protected] ~]$ cd /orc/app/oracle/oradata [[email protected] oradata]$ ls orcl school01.dbf
--------------------调整表空间大小------------------
修改大小
sql> alter database datafile 2 ‘/orc/app/oracle/oradata/school01.dbf‘ 3 resize 80M; 数据库已更改。
查看下
添加文件
sql> alter tablespace school 2 add datafile 3 ‘/orc/app/oracle/oradata/school02.dbf‘ 4 size 50M autoextend on; 表空间已更改。
查看下
---------------------表空间权限----------------------------
#更改表空间school权限只能可读 sql> alter tablespace school read only; 表空间已更改。
#更改表空间权限为可读可写 sql> alter tablespace school read write; 表空间已更改。
------------------删除表空间----------------
sql> drop tablespace school including contents; 表空间已删除。(including contents 可选删除有内容的表空间)
查看下
sql> select tablespace_name from dba_tablespaces;