空间管理

1.表空间和数据文件管理
  表空间:用于逻辑上组织数据文件的集合。Oracle将数据库对象放置在表空间上,而不是直接放置在数据文件中。
  数据文件:数据文件够成表空间,一个数据文件一旦加入到一个表空间,则不能删除,除非删除表空间。
  数据库对象和表空间:Oracle将创建的表,索引等需要消耗空间的数据库对象称为“段”,这些段可以指定放在哪个表空间上,由Oracle决定具体放在数据文件的什么位置。
  数据库对象和数据文件:数据库对象和数据文件之间没有直接的关系,通过表空间这个概念建立联系。
  盘区和数据块:创建表空间时,Oracle会把表空间对应的数据文件组织成为一个一个由“数据块”连接而成的链表,Oracle把这个数据块作为基本的I/O单位。Oracle每次把
                一组Oracle数据块作为一个单位分配给一个段。这个“一组Oracle数据块”即为盘区。每个数据块最终由若干操作系统块构成。
  总结:Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元段 就是数据库对象,它消耗存储空间,如表、索
        引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储              在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。段本身由一个或多个盘区组成,盘区在文件中一个连续的分配空间,               每个段至少开始于一个盘区,一些对象可能至少需要2个盘区(例如回滚段)。各个盘区之间并不要求正好相邻。盘区由块组成,一个块是在Oracle中空间分配的最小单元,是Oracle               读写磁盘的对象,Oracle中的块通常有3个常见的大小 ,2K ,4K,8K。一个段是由一个或多个盘区所组成,一个盘区是由一些连续分配的块。表空间是一个容器,它保存段,每一个段恰              好属于一个表空间,一个表空间可以有多个段,给定段的所有盘区将在与该段相关的表空间中。
  数据字典:
        select * from dba_tablespaces; --视图可以查看表空间的定义的详细信息
          select * from dba_segments;    --可以查看表空间下所有段的详细信息;
          select * from dba_extents;     --查看表空间下所有区段的信息,所有区段信息中有一个file_id字段,标志该区段位于那个文件中
          select * from dba_data_files;  --查看表空间下的文件信息,一个表空间至少需要一个文件。
  默认表空间:
      SYSTEM:用于存放数据字典和SYSTEM回滚段。存储的是核心信息-数据字典。该表空间不能脱机。SYSTEM回滚段类型为ROLLBACK。系统回滚段保留数据字典的还原数据,是系统级的。
      SYSAUX:存放Oracle产品扩展功能的位置,包括数据库管理器代理表的存储。
      UNDOTBS1:默认的还原表空间,用于存放还原数据,提供事务回滚的可能性。回滚段类型为TYPE2 UNDO,TYPE2 UNDO表示系统采用的是undo撤消表空间方式,而不是回滚段方式,而
                ROLLBACK的是system表空间中的系统回滚段,它的确是回滚段。
      TEMP:默认临时表空间,用户存放数据库临时表,工作表,如排序等。
      USERS,EXAMPLE:存放演示数据的表空间,在生产系统下这两个表空间无用。
  创建表空间
      CREATE TABLESPACE tablespace
      DATAFILE datafile_clause]
      [, datafile_clause]...
      [MINIMUM EXTENT integer[K|M]]
      [LOGGING|NOLOGGING]
      [DEFAULT storage_clause ]
      [ONLINE|OFFLINE]
      [PERMANENT|TEMPORARY]
      [extent_management_clause]
2.还原表空间管理:
  执行数据库事务时,最终结果可能是提交,也可能是回退。当数据库执行DML事务操作时,被操作数据块在事务操作前的一个副本称为还原数据,或还原记录,
3.重做日志管理:
  目的:实现数据库的可用性和可恢复性
  管理对象:日志组,日志成员
  管理方面:日志组和日志成员的创建
            日志组和日志成员的删除
            日志切换和检查点
  日志组和日志成员的添加:
            alter database add logfile [group n] 'path' ;
            alter database add logfile member 'path' to group n;
  日志组和日志成员的删除:
            当日在组或日志成员顺坏等情况发生,可以考虑直接删除日志组或日志成员的方法恢复。
            alter database drop logfile group n;
            alter database drop logfile member '';
            通过OEM维护重做日志。
4.控制文件管理:
  管理方面:
           建立控制文件
           增减控制文件
           维护控制文件
  多控制文件设置:
           更改参数comtrol_files
           关闭数据库,复制控制文件,重启数据库;
  控制文件损坏处理:
           控制文件损坏数据库启动不起来,通过错误信息定位到是哪个控制文件损坏,然后按照上面的方法重新添加一个控制文件
  重建控制文件:
      所有控制文件损坏;
      数据库名需要改变;
      数据库进行整体搬迁;
  也可以在OEM中维护控制文件;
 

 

作者: swustheyi   发布时间: 2010-09-23