管理表空间(表空间的属性)

一些注意点概述:

--- 一个 tablespace 可以有 0 或者多个 segments

--- 一个 segment 可以有 1 或者多个 extent

--- 除了 SYSTEM 表空间和包含获得 undo 段( an active undo segment )的表空间以外,表空间 可以被 tablen offline ,而数据库仍照常运行

--- 在数据库运行时,可以把表空间 brought online

--- 一个 segment 可以跨越属于同一个表空间 的多个数据文件,但是不能跨越多个表空间

--- 一个 extent 不能跨越多个数据文件


系统表空间( SYSTEM )与非系统表空间( NON-SYSTEM ):

--- 在创建数据库的时候创建

--- 包含数据字典

--- 包含 SYSTEM undo segment

--- 9i 中还有一个辅助系统表空间 SYSAUX ,也属于系统表空间

--- 其他的表空间叫 NON-SYSTEM 表空间:

表空间的区管理方式:

1--- 数据字典管理方式( dictionary-managed tablespace ):

当在表空间中分配行的区,或回收已分配的区时, oracle 将对数据字典的相关基础表 进行更新。由于对表的更新操作会产生回退信息和重做信息,因此,在分配区或回收区时,会在数据库中产生回头信息和重做信息。这是此方式的特点,也是它的缺 点。

在此方式下,可以在 DEFAULT STORAGE 子句中设置 INITIAL NEXT MINEXTENTS MAXEXTENTS PCTINCREASE 等参数来设置默认的存储 管理方式。

如果其他的表空间是数据字 典管理方式,则 SYSTEM 表空间必须是数据字典管理方式。

2--- 本地管理方式( local-managed tablespace ):

在本地管理方式下,表空间中区的分配与回收的管理信息都被存储在表空间的数据文件中,而与数据字典无关。表空间会在 每个数据文件中维护一个位图( bitmap )结构,用于记录表空间中所有区的分配情况。

当在表空间中分配新的区,或回收已分配的区时, oracle 将对数据文件中的位图进 行更新。这种更新不是对表的更新操作,所有不会产生回退信息和重做信息。

SYSTEM 表空间为本地管理方式 时,其他的表空间必须是本地管理方式管理。

DBMS_SPACE_ADMIN 包对本地管理的表空间提供 维护过程。

在本地管理方式下,可以用 如下两个关键字来指定表空间的分配方式:

i>. UNIFORM :统一分配,指定表空间 中所有区的大小都相同。

ii>. AUTOALLOCATE :自动分配,指定由 oracle 来自动管理区的大小,这 是默认值。

AUTOALLOCATE 区的分配方式下,区的大 小随表的大小自动地动态改变,它们之间的对应关系如下表,这个关系由系统自动维护:

表大小

区大小

64KB

64KB

1MB

1MB

64MB

8MB

1000MB

64MB

表空间的段管理方式:

段管理方式主要是指 oracle 用来管理段中已用数据块和空闲数据块的机制。

在本地管理方式下 ,可以用如下两个关键字 来指定表空间的段管理方式:

1--- MANUAL (手工)方式:这时, oracle 将使用可用列表( free list )来管理段的空闲数据 块,这是默认的设置。可用列表时传统的段管理方式,段中所有的空闲块都被放入一个列表( free list )中,在需要存储空间时就 在该列表中进行搜索。

2--- AUTO (自动)方式:这时, oracle 将用位图( bitmap )来管理段的已用数据块 和空闲数据块。即,通过位图中单元的取值来判断段中的数据块是否可用。

表空间的状态:

1--- 读写状态:

两种取值,读写( Read-Write )状态和只读( Read-Only )状态。只读状态表示任 何人不能修改里面的数据,其限制与权限无关。

2--- 脱机状态:

两种取值,联机( Online )状态和脱机( Offline )状态。

在脱机状态下,有四种脱机模式:

1>. 正常 Normal ):这是默认的脱机模 式,其表示表空间以正常方式切换到脱机状态。在此过程中, oracle 会执行一次检查点,将相关信息写入数据文件中,然后再关闭表空间 的所有数据文件;若在这个过程未发生任何错误,则进入了 normal 的脱机状态。下次转回 online 的时候,不需要恢复。

2>. 临时( Temporary :表示表空间以临时的方 式切换到脱机状态。在此过程中, oracle 会执行一次检查点,但在执行检查点的时候并不会检查各个数据文件的状态,即使某些数据文件处于不可用的 状态, oracle 也会忽略这些错误而进入 temporary 状态。因此在下次转回 online 的时候,可能要恢复。

3>. 立即( Immediate :表示表空间以立即的方 式切换到脱机状态。这是 oracle 不会执行检查点,也不会检查数据文件是否可用,而是直接将属于该表空间的数据文件设置为脱机状态。因此 在转回 online 的时候,必须恢复。

4>. 用于恢复( For Recovery :表示表空间以用于恢复的方式切换到脱机状态。如果要对表空间进行基于时间 的恢复,可用此种模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值