Oracle中的Schema和表空间使用详解
作者:mofei12138
Schema是数据库对象集合,用户默认Schema与用户名相同,表空间为逻辑存储单元,由数据文件构成,是恢复最小单位,用户可指定或使用默认表空间(USERS)存储对象
Schema
Schema是数据库对象的集合。
Schema里面包含了各种对象如tables,views,sequences,stored procedures,synonyms,indexes,clusters,database links。
用户与Schema的关系
一个用户对应一个缺省Schema,该Schema名和用户名相同。
操作对象时,如果不指定Schema,则会使用当前用户缺省的Schema。
比如当前用户是scott的话,可以直接用select * from emp来访问scott.emp。
表空间
Oracle表空间是一个逻辑的概念,它在物理上是不存在的,真正存放数据的是数据文件(data files)。一个数据库有多个表空间,一个表空间包含多个数据文件。
表空间是Oracle数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
创建表空间时会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间。当数据文件空间不足时,可以对数据文件进行扩容或增加数据文件。
自带表空间
Oracle自带表空间如下:
SYSAUX
SYSTEM
TEMP
UNDO
USERS
用户与表空间的关系
创建用户时可以为其指定表空间,如果没有显性指定默认表空间,则指定users表空间。
一个用户一般只使用一个表空间(默认表空间),但也可以在创建表时指定其他表空间。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。