天天看点

oracle 10g 扩表空间,Oracle 10g 表空间管理(一)

一、表空间说明

Oracle 10g表空间包括系统表空间和非系统表空间:

1.系统表空间------》一般存储的是数据字典的相关信息

SYSTEM:是数据字典存放的表空间

SYSAUX:辅助的系统表空间,不能删除与重命名,存放了很多如AWR等数据库辅助功能的信息。

2.非系统表空间------》包括用户数据、临时数据和回滚数据.

temp:数据库的默认临时表空间

undotbs1:数据库的undo表空间

users:数据库的默认永久表空间

example:数据库测试案例表空间

默认永久表空间:存放用户数据的表空间,Oracle 在创建数据库时,会默认创建USERS表空间,并将这个表空间做为数据库默认表空间,如果没有数据库默认表空间,创建用户的时候也没有指定用户的默认表空间,会使用SYSTEM做为默认表空间。

临时表空间:用于存放临时数据的表空间,需要时可以被覆盖,可以被多个用户使用,例如排序的时候,在PGA中不能完成的话,会把数据交换到临时表空间。

undo表空间:在修改数据块的时候,Oracle会将修改前的值保留在Undo回滚段里,这个时候就需要Undo表空间,undo表空间一般用于读一致性,回滚事务。

二、表空间管理方式

Oracle 的表空间管理实际上就是管理extent的分配和释放,包括数据字典管理和本地管理。

数据字典管理:这种管理方式要经常访问FET$和UET$,效率不高而且影响性能。

本地管理:从每个数据文件的头部选取6个数据块(3-8),在其中存放位图来实现extent的管理。

每一个bitmap位对应一个extent,1标识已经分配,0标识没有分配,在分配extent的时候,只要

扫描数据文件的头部即可,根据0和1和标识来获取用extent,在分配和释放后,进行0,1的置换。

现在多数表空间都是本地管理,数据字典管理几乎没有使用的了。

表空间状态

读写:表空间可以读写

只读:表空间只能读,不能写入,数据不可以修改,可以删除表

脱机:表空间不能被读和写入

提示-》系统表空间、默认临时表空间、undo表空间不能设置为离线或者只读

Oracle 10g 引入了大文件表空间,只能包含一个数据文件,根据数据块的大小不同容纳的数据量也不同,默认我们都是使用的smallfile.