• DM物理存储结构


    概述

    DM 数据库软件目录结构说明

    dmdbms 目录:数据库安装目录。
    bin 目录:数据库核心文件目录。
    data 目录:数据库实例文件存放目录。
    doc 目录:数据库手册(安装手册,系统管理员手册,SQL 语言使用手册等)存放目录。
    drivers 目录:数据库驱动存放目录。
    log 目录:数据库日志文件存放目录。
    samples 目录:配置文件样板(dmarch 归档文件,dmmal 通信文件等)存放目录。
    tool 目录:数据库工具(管理工具,数据迁移工具,审计与分析工具等)存放目录。
    web 目录:web 工具 (DEM) 的连接及配置手册存放目录。
    license_en:英文《软件产品授权证书》概述。
    license_zh:中文《软件产品授权证书》概述。
    release_en:英文 DM 数据库管理系统版本号汇总。
    release_zn:中文 DM 数据库管理系统版本号汇总。
    uninstall.exe:数据库卸载,双击即可按照提示进行数据库的卸载。
    

    物理结构架构图

    物理存储结构包括配置文件,控制文件,数据文件,重做日志文件,归档日志文件,备份文件和事件日志文件

    • 配置文件:用于进行功能设置的配置文件
    • 控制文件:用于记录文件分布的控制文件
    • 数据文件:用于保存业务实际数据的数据文件
    • 重做日志文件:用于保存数据变更信息的重做日志文件
    • 归档日志文件:将重做日志文件归档存储
    • 备份文件:用于保存数据的备份文件
    • 事件日志文件:用来进行问题跟踪的跟踪日志文件

    image-20211102224428597

    详细文件类型说明

    配置文件

    配置文件以 ini 为扩展名,用于设置功能选项开关,参数值等。

    参数类型

    • 静态:修改后需重启服务才生效。

    • 动态:修改后即时生效

      • 会话级:仅对当前连接及其后创建的连接会话生效
      • 系统级:影响所有的连接会话,但之前建立的会话不影响
    • 手动:必须手动修改dm.ini等文件的参数项,然后重启生效

    dm.ini 文件

    dm.ini是DM数据库启动所必须的配置文件。

    控制文件

    控制文件是一个二进制文件,它记录了数据库必要的初始信息,其中主要包含以下内容:

    1. 数据库名称;
    2. 数据库服务器模式;
    3. OGUID 唯一标识;
    4. 数据库服务器版本;
    5. 数据文件版本;
    6. 数据库的启动次数;
    7. 数据库最近一次启动时间;
    8. 表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;
    9. 控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改。

    备份策略

    不可预估故障问题可能会导致控制文件损坏,因此,有必要做好控制文件的备份维护策略。

    数据文件

    数据文件以dbf为扩展名,它是实际存储数据的地方。一个DM数据文件对应磁盘上的一个物理文件或者达梦分布式数据库中的一个逻辑文件。

    特殊的两种数据文件

    ROLL文件

    ROLL 文件用于保存系统的回滚记录,提供事务回滚时的信息。

    TEMP文件

    临时数据文件用于存储磁盘排序操作产生的数据。创建的临时表也存储在其上。

    重做日志文件

    将发生数据变更操作执行的结果写入到一个称为重做日志文件中。每个 DM 数据库实例必须至少有 2 个重做日志文件,默认日志名称是数据库名加编号,两个日志文件循环使用。重做日志文件以log为扩展名

    事件日志文件

    事件日志文件记录了 DM 数据库系统在运行过程中关键事件信息,如:启动、关闭、内存申请失败、IO 错误等一些致命错误。它主要用于分析和定位系统出现过的严重错误问题。默认在$DM_HOME/log目录下产生

    日志内容格式

    日志格式:时间+日志类型(INFO/WARN/ERROR/FATAL)+进程(database)+进程ID(Pxxxx)+线程(dm_sql_thd/main_thread 等)+日志内容。

  • 相关阅读:
    Java基础学习总结(33)——Java8 十大新特性详解
    Java基础学习总结(33)——Java8 十大新特性详解
    RabbitMQ学习总结(6)——消息的路由分发机制详解
    RabbitMQ学习总结(6)——消息的路由分发机制详解
    Stanford公开课《编译原理》学习笔记(1~4课)
    补习系列(21)-SpringBoot初始化之7招式
    使用modelarts部署bert命名实体识别模型
    全面认识 RUST -- 掌控未来的雷电
    补习系列(20)-大话 WebSocket 与 "尬聊"的实现
    【开发者portal在线开发插件系列二】多条上下行消息(messageId的使用)
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15515601.html
Copyright © 2020-2023  润新知