一。表空间
每个表空间由一个或多个数据文件组成。数据文件用于在物理上存储表空间中所有逻辑结构的数据。
表空间中数据文件的大小之和就是表空间的存储容量
(图中系统表空间存储容量为2MB,用户表空间的存储容量为4MB)。
数据库中表空间的存储容量之和就是数据库的存储容量。
如果将数据库比做一个存放资料的柜子,则柜子中的抽屉就是表空间,抽屉中的文件夹就是数据文件,文件夹中的纸就是段,记录在纸上的文字就是数据
属于不同应用的数据应当被放置在不同的表空间中
SYSTEM:包含数据目录表和其它管理数据
SYSAUX:是 SYSTEM 表空间的辅助表空间
TEMP:包含仅在会话期间存在的临时数据
UNDOTBS1:包含还原段
USERS:非系统用户创建的所有对象的默认表空间
EXAMPLE:包含示例方案
查看表空间信息
创建表空间的语法格式如下:
CREATE [BIGFILE | SMALLFILE | UNDO | TEMPORARY] TABLESPACE <表空间名>
DATAFILE|TEMPFILE '数据文件名称和位置' SIZE <大小> ->数据文件/临时文件
[REUSE] ->重用:
[EXTENT MANAGEMENT LOCAL|DICTIONARY] ->扩展管理: 本地/词典
[AUTOALLOCATE | [UNIFORM SIZE <大小>]] ->区间: 自动分配/统一大小
[SEGMENT SPACE MANAGEMENT AUTO|MANUAL] ->段空间管理: 自动/手动
[BLOCKSIZE <大小> ] ->块大小:
<hr>________________________________________________________________________________________________
1.本地管理表空间
......
DATAFILE|TEMPFILE '数据文件名称和位置' SIZE <大小> ->数据文件/临时文件
[REUSE] ->重用:
[EXTENT MANAGEMENT LOCAL|DICTIONARY] ->扩展管理: 本地/词典
[AUTOALLOCATE | [UNIFORM SIZE <大小>]] ->区间: 自动分配/统一大小
创建本地表空间。
不指定区间大小。
指定大小。
请和下面的的图片比较一下
是不是没有EXTENT MANAGEMENT LOCAL
这句话。但却出现了LOCAL。是不是!这是为什么呢?是oracle的默认吗?呵呵....
创建大文件表空间
创建临时表空间
没有 extent management local uniform size 128K;但是两者的内容一样,为什么呢?还是默认????????????
2.段和数据块管理
....
[SEGMENT SPACE MANAGEMENT AUTO|MANUAL] ->段空间管理: 自动/手动
[BLOCKSIZE <大小> ] ->块大小:
创建自动/手动段管理方式的表空间
依然没有extent management local autoallocate的哈哈,结果还是一样的,
数据块是Oracle数据库的最小存储单元,在初始化参数DB_BLOCK_SIZE中定义了标准数据块的大小。
在创建表空间时,如果不特殊指定,将使用DB_BLOCK_SIZE中定义的数据作为数据块的大小
4.撤销表空间
撤销记录可以用于完成如下功能:
当执行ROLLBACK命令时,完成回滚操作。
恢复数据库。
使用闪回查询分析以前时间点的数据。
使用闪回技术从逻辑破坏中恢复数据。
初始化参数UNDO_TABLESPACE设置默认的撤销表空间
5.设置和修改表空间属性
ALTER TABLESPACE <表空间名>
RENAME TO|
ADD DATAFILE | ADD TEMPFILE
| OFFLINE | ONLINE
| READ ONLY | READ WRITE
| RESIZE
…
->重命名
->扩展表空间
->更改大文件表空间大小
->扩展临时表空间
->设置联机和脱机
->设置只读表空间
->删除表空间