Oracle数据库的表空间基本管理方法
这篇文章主要讲解了"Oracle数据库的表空间基本管理方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"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用户
[root@HOSTNAMEoracle ~]# su - oracle进入数据库,并启动Oracle
[oracle@HOSTNAMEoracle ~]$ sqlplus / as sysdbaSQL> startup
开启三阶段
启动实例--》数据库装载完毕--》数据库开启
SQL> quit #退出
开启监听
[oracle@HOSTNAMEoracle ~]$ lsnrctl LSNRCTL> start
LSNRCTL> quit
进入Oracle
[oracle@HOSTNAMEoracle ~]$ sqlplus / as sysdba
--------------------创建表空间-----------------------
创建表空间school(大小10M 自动扩展)
SQL> create tablespace school 2 datafile '/orc/app/oracle/oradata/school01.dbf' 3 size 10m autoextend on;表空间已创建。
查看下是否有创建成功
[oracle@HOSTNAMEoracle ~]$ cd /orc/app/oracle/oradata[oracle@HOSTNAMEoracle oradata]$ lsorcl 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数据库的表空间基本管理方法"的内容了,经过本文的学习后,相信大家对Oracle数据库的表空间基本管理方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!