您的位置:首页 > 其它

OCP复习 - 管理(8-9) - 管理表空间和数据文件

2010-07-20 10:30 323 查看
Oracle数据库的逻辑结构

Oracle数据库的逻辑结构:表空间 -> segment -> extent -> block
一个segment可以跨文件,但只能存在一个表空间中。
一个extent由一些物理上连续的block组成。
一个数据库block由1至多个操作系统块组成,是数据库读取、写入数据的最小单位。

表空间相关知识
SYSTEM表空间是所有用户共有的,其中有SYSTEM回滚段、数据字典等,不应存放应用数据。
非SYSTEM表空间是针对不同用途建立的,可以用来分离数据和索引,回滚段,临时数据,控制用户使用空间的权限。

一个表空间如果被指定为TEMPORARY而不是PERMANENT,将被用来在排序是储存临时数据。语法:
CREATE TEMPORARY TABLESPACE

创建表空间时,可以指定表空间的extent管理方式,包括:
1、DICTIONARY,通过数据字典管理(默认方式)
2、LOCAL,通过BITMAP管理
3、AUTOALLOCATE,数据库自动管理,用户无法指定EXTENT相关参数
4、UNIFORM,表空间中的EXTENT的大小是固定的

表空间和数据文件的操作:

增加/删除一个表空间,改变表空间的状态,改变表空间的读写状态,增加/删除/重命名表空间的数据文件……

ALTER TABLESPACE tablespace
{ONLINE
|OFFLINE [NORMAL|TEMPORARY|IMMEDIATE|FOR RECOVER]}

ALTER TABLESPACE...READ ONLY

ALTER TABLESPACE...RENAME DATAFILE

DROP TABLESPACE tablespace
[INCLUDING CONTENTS [CASCADE CONSTRAINTS]]

表空间相关数据字典表:
Tablespace information:
– DBA_TABLESPACES
– V$TABLESPACE
Data file information:
– DBA_DATA_FILES
– V$DATAFILE
Tempfile information:
– DBA_TEMP_FILES
– V$TEMPFILE

Oracle段(SEGMENT)的类型:
1、表
2、表分区 --分区表的一个PARTITION
3、聚簇,--按主键组织数据的SEGMENT,可以包含1个或多个表的数据
4、索引
5、索引组织的表
6、索引分区 --分区索引的一个PARTITION
7、回滚段
8、临时段 --排序用
9、LOB段,
10、LOB索引,--为LOB表自动建立的索引
11、嵌套表 --一个列可以是一个表
12、bootstrap段

EXTENT管理
extent在segment被创建,扩展,修改时被分配。在drop、truncate、修改时被回收。

BLOCK管理

BLOCK的大小取决于DB_BLOCK_SIZE。几个重要的BLOCK参数:
INITRANS - 允许一个块中同时执行的事务的最小数量(初始数量)
MAXTRANS - 允许一个块中同时执行的事务的最大数量
PCTFREE - 保留在一个块中的空闲空间百分比,如果空闲空间少于PCTFREE,不再插入,剩余的空间用于UPDATE数据。
PCTUSED - 当数据更新导致BLOCK内使用的空间下降到PCTUSED以下,允许重新向BLOCK中插入数据。

存储空间管理相关数据字典:
DBA_EXTENTS
DBA_FREE_SPACE
DBA_SEGMENTS
DBA_DATA_FILES
DBA_TABLESPACES
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: