ORACLE逻辑存储结构 (表空间笔记整理)

数据库中

一系列连续块构成一个区

一个或多个区构成一个段

一个或多个段构成一个表空间

若干个表空间构成一个数据库

通常一个数据库对象只拥有一个段, 一个段至少包含一个区.

 

 

一.表空间

1.表空间分为系统表空间和非系统表空间

 

小文件表空间: 即系统默认的表空间. System表空间, sysaux表空间

 

大文件表空间: 是为超大型数据库设计的, 只包含一个大数据文件, 该文件的大小为128KB<size<128TB.

                可以简化数据文件的管理, 减少SGA的需求, 减少控制文件.

 

 

 

表空间的管理包括:

   创建表空间

   修改表空间

   表空间的备份

大文件表空间的管理

 

2.扩展表空间的方式有哪些?

 

1).为表空间添加数据文件

SQL > ALTER TABLESPACE ORCLTBS1 ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE10M;

为ORCL数据库中表空间名为ORCLTBS1添加一个大小为10MB的新数据文件.

   

2).改变数据文件的大小

SQL > ALTER DATABASE DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' RESIZE20M;

将ORCL数据库中表空间名为ORCLTBS1的数据文件ORCLTBS1_2.DBF增加到20MB.

 

3).允许数据文件自动扩展

SQL > ALTER DATABASE DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'

AUTOEXTEND ON NEXT5M MAXSIZE100M;

 

3.修改表空间的可用性

SQL > ALTER TABLESPACE ... OFFLINE|ONLINE;

SQL > ALTER TABLESPACE ORCLTBS1 OFFLINE;

将表空间ORCLTBS1设置为OFFLINE状态

 

SQL > ALTER TABLESPACE ORCLTBS1 ONLINE;

将表空间ORCLTBS1设置为ONLINE状态

 

4.给表空间重命名:

ALTER TABLESPACE ORCLTBS1 RENAME TO ORCLTBS1_NEW;

 

5.表空间的备份

SQL > ALTER TABLESPACE ORCLTBS1 BEGIN BACKUP;

      复制ORCLTBS1表空间的数据文件ORCLTBS1_1.dbf和ORCLTBS1_2.dbf到目标位置.

SQL > ALTER TABLESPACE ORCLTBS1 END BACKUP;

 

6.删除表空间

1).除了system表空间和sysaux表空间外, 其他表空间都可以删除.

2).一旦表空间被删除, 该表空间中的所有数据将永久性丢失.

3).如果表空间中的数据正在被使用, 或表空间中包含未提交事务的回滚信息, 则该表空间不能删除

SQL > DROP TABLESPACE ORCLTBS1 INCLUDING CONTENTS;

 

7.大文件表空间的操作

由于大文件表空间只含有一个数据文件, 因此可以通过对表空间的操作, 实现对数据文件的透明操作.

改变表空间的大小或扩展性  è  改变数据文件的大小及扩展性的目的

 

1).改变数据文件的大小

SQL > ALTER TABLESPACE ORCLTBS1 RESIZE20M;

将ORCL数据库中表空间名为ORCLTBS1的数据文件ORCLTBS1_2.DBF增加到20MB.

 

2).允许数据文件自动扩展

SQL > ALTER TABLESPACE ORCLTBS1 AUTOEXTEND ON NEXT5M MAXSIZE UNLIMITED;

 

 

 

 

二.数据块

 

数据块:1).输入输出的最小单位

2).是数据库中最小的逻辑存储单元, 也是数据库执行输入/输出操作的最小单位, 由一个或多个操作系统块构成.

 

 

三.区

 

区: 是由一系列连续的数据块构成的逻辑存储单元, 是存储空间分配与回收的最小单位.

 

区的管理主要指的是: 分配与回收

当创建一个数据库对象时, oracle为对象分配若干个区, 以构成一个段来为对象提供初始的存储空间.

 

 

1.区的分配

 

  1).区分配采用自动扩展方式进行

SQL > CREATE TABLESPACE ORACLTBS6 DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE20M

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

本地管理方式, 自动扩展

 

2).区分配采用固定大小, 每个区5MB

SQL > CREATE TABLESPACE ORACLTBS7 DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE10M

EXTENT MANAGEMENT UNIFORM SIZE 5M;

 

2.区的回收

 

通常分配给段的区将一直保留在段中, 不论区中的数据块是否被使用. 只有当段所属的对象被删除时, 段中所有的区才会被回收.

 

 

 

四.段

段是由一个或多个连续或不连续的区组成的逻辑存储单元. 段是表空间的组成单位, 代表特定数据类型的数据存储结构.

通常一个数据库对象只拥有一个段, 一个段至少包含一个区.

 

1).数据段

2).索引段

3).临时段

4).回滚段: 用于数据被修改之前的值.

可以实现事务回滚, 数据库恢复, 数据库的读一致性和闪回查询等

 

posted on 2012-07-08 20:36  缺心眼的公牛  阅读(3887)  评论(0编辑  收藏  举报

导航