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
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
相关文章推荐
- 十四、oracle 数据库管理--管理表空间和数据文件
- oracle 11g 学习笔记 10_31_管理表空间和数据文件
- 数据库空间管理之数据文件分配(初)
- 表空间和数据文件的管理
- oracle 管理表空间和数据文件
- 管理oracle的表空间和数据文件
- Oracle 管理表空间和数据文件
- 表空间的管理---回收数据文件
- 数据库管理 -- 管理表空间和数据文件
- Oracle数据库操作大全(十二)——管理表空间和数据文件
- 管理表空间和数据文件
- oracle教程之第6章表空间和数据文件的管理
- oracle 管理表空间和数据文件
- ORACLE空间管理实验1:探索LMT表空间管理下数据文件头的结构及位图中区的记录方式
- OCP复习 - 管理(11) - 管理表存储空间
- OCP复习 - 管理(14) - 导入数据
- 管理表空间和数据文件——建立表空间——建立字典管理表空间和建立加密表空间
- Oracle学习笔记(十七)——管理表空间和数据文件
- Oracle学习(十二)之管理临时表空间的数据文件
- 第6章 表空间和数据文件的管理