Oracle 表空间
内容涵盖:Oracle表空间的基本概念和基本操作
Oracle 表空间
有两句话:
1. 与其他数据库(如 MySQL、SQL Server)不同,Oracle 数据库的下一层对象并非数据表,而是表空间。
2. 每个数据表都属于唯一的表空间。
关于Oracle中的逻辑对象:
当使用 SQL 语句对数据库进行操作时,操作的都是逻辑对象,比如表、索引、视图等,这些都是数据库对象的组成部分,而非直接的物理文件;
与数据表相同,表空间也是一个逻辑对象。对于Oracle,一个数据库可以有多个表空间,一个表空间可以有多个数据表。
Oracle使用表空间的好处:
1. 避免磁盘空间突然耗竭
因为在创建表空间时,可以指定表空间的最大磁盘空间。当库中数据大小扩张至指定值时,便不能继续写入数据。
2. 规划数据更加灵活
3. 提高数据库性能
对于访问频繁的数据表,可以放入单独的表空间,并存储于高性能的磁盘;访问较少的数据表,也可以放入表空间,并存于低性能的磁盘。
4. 提高数据库的安全性。
不同的表空间对应着不同的物理文件,当某个表空间的物理文件损坏时,并不会影响其他表空劲的正常使用。
SQL 操作 Oralce 表空间:
1. 创建表空间:
(1) ![]()
create tablesapce: 创建表空间命令;
user1: 要创建的表空间名称;
datafile:表空间对应的数据文件的完成路径;
size:指定数据文件的初始化大小,如20M。
(2) 使用 autoextend on 选项指定数据文件可扩展,即存储在某个数据文件中的数据量超过了指定的初始化大小时,数据文件自动扩展。
当然,也可以使用autoextend off 关闭自动扩展功能。

(3) 使用 next 增长值 指定数据文件的增长幅度。数据文件自动增长时,默认是64KB。同时,数据文件的大小和自动增长幅度的单位只有KB和MB 两种。

(4) 使用 Maxsize 最大尺寸值指定数据文件的自动增长的最大数据文件大小。毕竟数据文件无限制的增长迟早会带来风险的。当然,也可以使用“ Maxsize unlimited ”不限制数据文件的最大尺寸。

2. 查看表空间是否创建成功:
表空间创建成功后,会在数据库系统表中添加相应的记录,并且创建相应的物理文件。可以通过查看视图 dba_data_files 中的记录和实际数据文件名(包含路径),来判断表空间是否创建成功。也可以通过视图 dba_tablespaces 查看所有表空间的信息。
select file_name,tablespace_name from dba_data_files order by file_name;
select tablespace_name,status,allocation_type from dba_tablespaces;
注意:Oracle 数据库自动创建了 SYSTEM、UNDOBS1、SYSAUX、TMP、USERS 五个表空间。其中SYSTEM 存储了数据库运行的最基本信息 ,SYSAUX 分担SYSTEM 部分工作,UNDOBS1 用于回滚数据时的数据存储,TMP 为数据库排序运算、索引管理、查看视图等操作提供临时表空间;而USERS 是整个数据库的默认表空间,指的是当创建数据表时,如果没有指定表空间,则默认使用USERS 这个表空间。
3. 为一个表空间创建多个数据文件:
注意:多个数据文件之间使用(“,”) 分隔。

4. 表空间的基本操作:
(1) 查看每个用户的默认表空间:
select user_id,user_name,default_tablespace from dba_users;
(2) 修改数据库默认表空间(比如修改默认表空间为USER1):
alter database default tablespace USER1;
(3) 修改表空间名称(比如将表空间USER1 改为 USER10):
alter tablespace USER1 rename to USER10;
(4) 删除表空间,方式有两种:
只删除该表空间在数据库中的记录
drop tablespace USER10;
将该表空间下的记录和数据文件一起删除
drop tablespace USER10 including contents and datafile;
浙公网安备 33010602011771号