zoukankan      html  css  js  c++  java
  • DM数据库管理

    DM数据库体系结构学习是奠定了未来数据库学习的高度,必须要把体系结构中的每一点都完全掌握,才能更好的管理DM数据库。

    一、概念

    1.1 表空间与数据文件

    DM数据库的表空间是一个逻辑概念,其目的主要是为了方便数据库的管理,数据库的所有对象在逻辑上都存放在某个表空间中,而物理上都存储在所属表空间的数据文件中。一个表空间由一个或多个数据文件组成。

    在创建DM数据库时,系统会自动创建5个表空间

    SYSTEM表空间:存放了DM数据库全局字典信息和全局系统数据,是DM数据库能够正常运行的必要前提,默认对应数据文件 SYSTEM.DBF。

    ROLL表空间:存放DM数据库运行过程中产生的所有回滚记录。 ROLL 表空间是数据库全局对象,不论修改哪一个表空间,生成的回滚记录都是写入 ROLL 表空间,该表空间由系统自动维护,默认数据文件为 ROLL.DBF。

    TEMP表空间:存放临时表数据以及数据库运行过程中产生的临时数据。TEMP 表空间的默认数据文件为 TEMP.DBF。

    MAIN表空间:在创建用户时,如果没有指定默认表空间,系统自动指定 MAIN 表空间为用户默认的表空间。

    HMAIN 表空间:DM的HUGE表空间,用来存放HUGE表数据文件。

     1.2 重做日志

    重做日志,它另一个名字叫redo日志;与oracle中的redo log类似。它记录了所有物理页的修改,基本信息包括操作类型、表空间号、文件号、页号、页内偏移、实际数据等。数据库中 NSERT、DELETE、UPDATE等DML操作以及CREATE TABLE等DDL操作最终都会转化为对某些数据文件、某些数据页的修改。因此,在系统故障重启时,通过重做 REDO 日志,可以将数据库恢复到故障时的状态。

    DM数据库默认包含两个扩展名为 og的日志文件,用来保存REDO日志,称为联机

    重做日志文件。这两个文件循环使用。任何数据页从内存缓冲区写入磁盘之前,必须保证其对应的 REDO 日志已经写入到联机日志文件。

    1.3 归档日志

    DM数据库可以在归档和非归档两种模式下运行。DM支持多种归档方式,当数据库处于归档模式下且配置了本地归档时,REDO日志先写入联机日志文件,然后再异步写入归档日志文件。归档日志文件以配置的归档名称和文件创建时间命名,扩展名也是 log。系统在归档模式下运行会更安全,当出现介质故障,如磁盘损坏导致数据文件丢失、异常时,利用归档日志,系统可以恢复至故障发生的前一刻。 因此,建议将归档目录与数据文件配置、保存到不同的物理磁盘上。除了表备份还原,其他的联机备份与还原必须运行在归档模式下。

    1.4 检查点

    DM数据库运行过程中,用户的所有操作都在内存中进行。每修改一条记录都必须先把记录所在的数据页加载到BUFFER缓冲区中,然后进行修改。事务运行时,会把生成的REDO日志保留在日志缓冲区RLOG_BUF中,每条日志记录对应一个LSN,当事务提交或日志缓冲区满或执行检查点时会进行日志刷盘。检查点(checkpoint)是一个数据库事件,它的功能是按照数据页的修改顺序,依次将 BUFFER 缓冲区中的脏页写入磁盘,并在这个过程中动态调整 CKPT_LSN 值,释放日志空间。

    DM的检查点分为两种,完全检查点和部分检查点:

    完全检查点:会将内存缓冲区中的所有脏页写入磁盘,并调整 CKPT_LSN,在数
    据库正常关闭时会产生一个完全检查点。

    点:根 dm.ini配 置 文 件 中 的 参 数CKPT_FLUSH_RATE和CKPT_FLUSH_PAGES,确定每次检查点刷脏页的数量。执行部分检查点的过程中,DDL/DML操作都可以正常执行,DM系统中绝大多数情况下触发的都是部分检查点

    1.5 DM备份恢复

    DM数据库中的数据存储在数据库的物理数据文件中,数据文件按照页、簇和段的方式进行管理,数据页是最小的数据存储单元。任何一个对 DM7 数据库的操作,归根结底都是对某个数据文件页的读写操作。

    DM备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的有效数据页包括数据文件的描述页和被分配使用的数据页。而在备份的过程中,如果数据库系统还在继续运行,这期间的数据库操作并不是都会立即体现到数据文件中,而是首先以日志的形式写到归档日志中,因此,为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态,就需要将备份过程中产生的归档日志也保存到备份集中。

    DM还原与恢复是备份的反过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复到指定时间点和指定 LSN。恢复结束以后,数据库中可能存在处于未提交状态的活动事务,这些活动事务在恢复结束后的第一次数据库系统启动时,会由 DM7 数据库服务器自动进行回滚。

  • 相关阅读:
    Mysql DQL语言执行顺序
    MySQL核心技术——DQL语言
    Java基础第二十九天总结——Java8新特性
    Java基础第二十八天总结——反射机制
    在对csv文件做批量获取时无法获取,程序不动
    tensorflow 对csv数据进行批量获取
    tensorflow 做多元线性回归时怎样对非数据型数据(分类型数据)进行处理(编码)
    flatten函数
    用 sklearn包中的 linear_model 实现多元线性回归
    tensorflow实现多元线性回归时预测出的参数为nan
  • 原文地址:https://www.cnblogs.com/inception6-lxc/p/14079546.html
Copyright © 2011-2022 走看看