博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DBA1 第五章:管理数据库存储结构

Posted on 2011-09-02 21:37  little健健  阅读(1042)  评论(0编辑  收藏  举报

存储结构


数据库的逻辑存储单元称为表空间。表空间由很多个逻辑数据块组成,参数为db_block_size,大小为2-32K,默认为8k。特定数目相邻数据块构成一个区

如何存储表数据 (创建段来保存表数据)

数据库块的结构

  • 块头:段类型(如表或索引)、数据块地址、表目录、行目录和事务处理插槽。每个插槽的大小为 23 字节。从上至下扩展
  • 行数据:数据库中实际的数据。从下至上扩展
  • 空闲空间:不一定连续
表空间和数据文件
  • 数据存储:逻辑-->表空间,物理-->数据文件  一个表空间可以有多个数据文件,一个数据文件只能属于一个表空间
  • OMF(根据数据库对象而不是文件名指定文件操作)
    1. db_create_file_dest:定义数据文件和临时文件的默认文件系统目录的位置
    2. DB_CREATE_ONLINE_LOG_DEST_n:定义重做日志文件和控制文件的创建位置
    3. DB_RECOVERY_FILE_DEST  定义 RMAN 备份位置
    • 如不使用OMF,则操作都需要指明文件  如:create table test datafile='/home/oracle/01.dbf'
  • 表空间的空间管理
    • 本地管理的表空间(推荐使用)
      • 在表空间中管理空闲区
      • 使用位图记录空闲区
      • 每一位对应于一个块或一组块
      • 位值指示空闲区或占用区
    • 字典管理的表空间(纯粹是为了向后兼容)
  • 创建表空间
    1. em
    2. sqlplus:create tablespace test
  • 预配置数据库中的表空间
    • system:管理database。需dba权限
    • sysaux:system辅助表空间
    • temp:如果执行的 SQL 语句需要创建临时段(如大规模排序或创建索引),则可以使用临时表空间。默认且最好只有一个
    • undotabs1:数据库服务器用于存储还原信息的还原表空间。在创建数据库时创建的
    • users:用于存储永久用户对象和数据。在预配置数据库中,USERS 表空间是用于存储非系统用户创建的所有对象的默认表空间。对于 SYS 和 SYSTEM 用户(系统用户),默认的永久表空间依然是 SYSTEM。
    • EXAMPLE:包含创建数据库时可以安装的示例方案
  • 变更表空间
    • 重命名
    • 更改状态
      • Read Write(读写):表空间已联机,可进行读写。
      • Read Only(只读):可以完成(提交或回退)现有的事务处理,但是,不允许对表空间中的对象进一步执行数据操纵语言 (DML) 操作。
      • Offline(脱机):normal,immediate,temporary三种
    • 更改大小:
      1. 通过向表空间添加数据文件
      2. 更改现有数据文件的大小
    • 存储选项
    • Thresholds(阈值)
      1. 默认阀值
      2. 指定阀值
      3. 禁用阀值
  • 对表空间执行的操作
    • Add Datafile(添加数据文件)
    • Create Like(类似创建)
    • Generate DDL(生成 DDL):生成用于创建表空间的数据定义语言(DDL) 语句。
    • Make Locally Managed(设置为本地管理):单向,不可逆
    • Make Readonly(只读模式):停止对表空间的所有写操作。
    • Make Writable(可写模式):允许对表空间中的对象启动DML 活动和其它写活动
    • Place Online(联机)
    • Reorganize(重组)
    • Run Segment Advisor(运行段指导)
    • Show Dependencies(显示相关性):显示此表空间依赖的对象,或依赖于此表空间的对象。
    • Show Tablespace Contents(显示表空间内容)
    • Take Offline(脱机):使当前联机的表空间不可用。
  • 删除表空间
    • 概述:必须具有DROP TABLESPACE 系统权限才能删除表空间。删除表空间时,会删除关联数据库控制文件中的文件指针。如果使用OMF,删除数据文件
    • em
    • sqlplus :drop tablespace test
  • 查看表空间信息
    • em
    • DBA_TABLESPACES 
    • V$TABLESPACE
    • DBA_DATA_FILES

    • V$DATAFILE 
  • 查看表空间内容

          区映射:

  • 扩大数据库
    1. 增加表空间
    2. 增加数据文件大小和数量
    3. 动态扩展数据文件

ASM

  • 概述
    • 可移植的高性能集群文件系统
    • 可管理 Oracle 数据库文件
    • 可将数据分布到各个磁盘中以平衡负载
    • 可镜像数据
  • 功能和优点
    • 对文件而不是逻辑卷进行条带化
    • 提供联机重新配置磁盘和动态重新平衡功能
    • 可用来调整重新平衡速度
    • 为每个文件提供冗余
    • 仅支持 Oracle 数据库文件
    • 可识别集群
    • 可自动安装