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自带表空间如下:
- SYSAUX表空间
- SYSTEM表空间
- TEMP表空间
- UNDO表空间
- USERS表空间
创建表空间时会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间。当数据文件空间不足时,需要进行手动或自动扩容。扩容有两种方式:增加数据文件大小,增加数据文件个数。
用户与表空间的关系
创建用户可以为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间。
一个用户一般只使用一个表空间(默认表空间),但也可以在创建表时指定其他表空间。