Oracle数据库的表空间基本管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库的表空间基本管理相关的知识,希望对你有一定的参考价值。
一、概述
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
表空间是数据库中最大的逻辑单位, SYSTEM和SYSAUX表空间是在创建数据库时创建的必须存在的表空间,还会有TEMP, USERS等
每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联
表空间的大小等于构成该表空间的所有数据文件大小之和
-
安装完 Oracle后自动创建的表空间主要包括:
- SYSTEM系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,它属于sys、 system模式。不能删除或重命名。
- SYSAUX辅助系统表空间,用于减少系统表空间的负荷,提高效率
- TEMP临时表空间,存放临时表和临时数据,用于排序
- USERS用户表空间,存放永久性用户对象及私有信息,也称数据表空间。注意:每一个数据库都应该有一个用户表空间,以便在创建用户时分配给用户,否则用户的数据将会使用SYSTEM表空间。
- UNDO重做表空间,用来帮助回退未提交的事物数据
二、实验环境
主机 | 操作系统 | 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] ~]$ 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;
以上是关于Oracle数据库的表空间基本管理的主要内容,如果未能解决你的问题,请参考以下文章