Oracle数据库的表空间基本管理方法

这篇文章主要讲解了“Oracle数据库的表空间基本管理方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle数据库的表空间基本管理方法”吧!

一、概述

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

有了数据库,就可以创建表空间。

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

Oracle数据库的表空间基本管理方法

表空间是数据库中最大的逻辑单位, 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 sysdba
SQL> startup
开启三阶段

启动实例--》数据库装载完毕--》数据库开启
Oracle数据库的表空间基本管理方法
SQL> quit    #退出

开启监听

[oracle@HOSTNAMEoracle ~]$ lsnrctl 

LSNRCTL> start

Oracle数据库的表空间基本管理方法

Oracle数据库的表空间基本管理方法

LSNRCTL> quit


进入Oracle

[oracle@HOSTNAMEoracle ~]$ sqlplus / as sysdba

Oracle数据库的表空间基本管理方法

--------------------创建表空间-----------------------

创建表空间school(大小10M 自动扩展)

SQL> create tablespace school
  2  datafile '/orc/app/oracle/oradata/school01.dbf'
  3  size 10m autoextend on;

表空间已创建。

Oracle数据库的表空间基本管理方法

查看下是否有创建成功

[oracle@HOSTNAMEoracle ~]$ cd /orc/app/oracle/oradata
[oracle@HOSTNAMEoracle oradata]$ ls
orcl  school01.dbf

Oracle数据库的表空间基本管理方法

--------------------调整表空间大小------------------

修改大小

SQL> alter database datafile
  2  '/orc/app/oracle/oradata/school01.dbf'
  3  resize 80M;

数据库已更改。

Oracle数据库的表空间基本管理方法

查看下

Oracle数据库的表空间基本管理方法

添加文件

SQL> alter tablespace school
  2  add datafile
  3  '/orc/app/oracle/oradata/school02.dbf'
  4  size 50M autoextend on;

表空间已更改。

Oracle数据库的表空间基本管理方法

查看下

Oracle数据库的表空间基本管理方法

---------------------表空间权限----------------------------

#更改表空间school权限只能可读

SQL> alter tablespace school read only;

表空间已更改。
#更改表空间权限为可读可写

SQL> alter tablespace school read write;                

表空间已更改。

------------------删除表空间----------------

SQL> drop tablespace school including contents;

表空间已删除。(including contents 可选删除有内容的表空间)

Oracle数据库的表空间基本管理方法

查看下

SQL> select tablespace_name from dba_tablespaces;

Oracle数据库的表空间基本管理方法

感谢各位的阅读,以上就是“Oracle数据库的表空间基本管理方法”的内容了,经过本文的学习后,相信大家对Oracle数据库的表空间基本管理方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!