博客
关于我
DM达梦数据库体系结构详解
阅读量:566 次
发布时间:2019-03-09

本文共 1866 字,大约阅读时间需要 6 分钟。

DM数据库系统结构分析

1、DM逻辑结构

达梦(DM)数据库系统的逻辑结构与Oracle类似,主要包括实例和数据库两个概念。两者唯一的区别在于:达梦是单进程模型,而Oracle是多进程模型。

实例与数据库

  • 实例:在达梦中,实例是由共享内存和后台进程或线程组成的。通常情况下,一个数据库对应一个实例,不过在DSC(DM共享集群)环境下,多个实例可以共享同一个数据库。

  • 数据库:数据库是存储在磁盘文件中的容器,类似Oracle的schema。数据库可以由一个或多个表空间组成。

数据库的组成

  • 表空间:数据库由一个或多个表空间组成,每个表空间由一个或多个数据文件组成。
  • 数据文件:数据文件是存储实际数据的地方,每个数据文件对应磁盘上的一个物理文件。
  • :页是数据库中的最小存储单位,也是IO操作的基本单位。

2、DM物理结构

DM数据库的物理存储结构包括配置文件、控制文件、数据文件、重做日志文件、归档文件、逻辑日志文件、备份文件以及日志文件等。

2.1 配置文件

配置文件是DM数据库的功能设置文件,主要以ini为扩展名,例如dm.inidmarch.ini

2.2 控制文件

每个数据库都有一个名为dm.ctl的控制文件,记录了数据库的初始信息。这是一个二进制文件。

2.3 数据文件

数据文件以dbf为扩展名,是数据库中最重要的文件类型。一个数据库至少有一个数据文件,实际应用中通常有多个数据文件。

2.4 重做日志文件

重做日志文件用于数据库的备份和恢复,是数据库Crash recovery的重要依据。

2.5 归档文件

归档日志文件支持恢复到故障前的时间点,也可以还原到指定的时间点。

2.6 逻辑日志文件

在配置数据库复制时,会产生逻辑日志文件。

2.7 备份文件

备份文件以bak为扩展名。

2.8 日志文件(事件日志)

在DM数据库上配置SVR_LOG和SVR_LOG_SWITCH_COUNT参数后,会生成事件日志文件,这些文件记录了系统运行中的关键事件,如启动、关闭、内存申请失败等。

3、DM内存结构

在DM数据库中,内存结构主要包含内存池、缓冲区、排序区、哈希区等区域。这些区域的设计和管理方式与Oracle类似。

3.1 共享内存

共享内存是指系统可用的物理内存资源,用来存放各个数据库的共享区域。查看共享内存大小可以通过以下SQL语句:

SQL> select para_name, para_value from v$dm_ini where para_name='MEMORY_TARGET';

3.2 数据缓冲区

数据缓冲区用于存储数据库操作的相关内容,是实现高效数据访问的关键。缓冲区采用LRU(最不_recently_used)的回收策略。

状态 描述
free 最近未使用
dirty 数据已修改
clean 无数据
pending 数量不足

查看缓冲区大小和最大值可以通过以下SQL语句:

SQL> select para_name, para_value from v$dm_ini where para_name='BUFFER';  -- 查看缓冲区大小SQL> select para_name, para_value from v$dm_ini where para_name='MAX_BUFFER';  -- 查看最大缓冲区大小

3.3 字典缓冲区

字典缓冲区用于存储数据字典信息,参数DICT_BUF_SIZE控制字典缓冲区的大小。

3.4 SQL缓冲区

SQL缓冲区存储最近执行的SQL语句和查询结果集,用于减少硬interpreted(解析)次数。

3.5 排序区

排序区用于存放排序操作的缓存。当内存不足时,部分排序操作会临时写到磁盘上。

3.6 HASH区

HASH区用于存放哈希表的数据,是查询某些信息的有效区域。

3.7 重做日志文件管理

管理重做日志文件可以通过以下SQL命令:

SQL> select path from v$rlogfile;  -- 查看重做日志文件路径SQL> alter database add logfile '/dm7/data/DAMNEG/DAMENG04.log' size 512;  -- 添加日志文件SQL> alter database resize logfile '/dm7/data/DAMNEG/DAMENG04.log' to 1024;  -- 修改日志文件大小

需要注意所有重做日志文件大小必须一致。

转载地址:http://ydcpz.baihongyu.com/

你可能感兴趣的文章
PCB设计十条黄金法则
查看>>
SpringSecurity框架介绍
查看>>
PCI Express学习篇:Power Management(二)
查看>>
pcie握手机制_【博文连载】PCIe扫盲——Ack/Nak 机制详解(一)
查看>>
pcm转wav的方法及代码示例
查看>>
PC史上最悲剧的16次失败
查看>>
PC端恶意代码分析Lab1.1-5.1,从零基础到精通,收藏这篇就够了!
查看>>
PC端稳定性测试探索
查看>>
PC端编辑 但能在PC端模拟移动端预览的富文本编辑器
查看>>
PDB文件:每个开发人员都必须知道的
查看>>
springMVC学习(二)
查看>>
Pdfkit页眉和页脚
查看>>
PDF中的Pandoc语法突出显示不起作用
查看>>
pdf从结构新建书签_在PDF文件中怎样创建书签
查看>>
pdf做成翻页电子书_第一弹:常见BOOX电子书阅读器问题解答,这些技能你都会吗?...
查看>>
PDF工具箱-分割提取合并
查看>>
pdf打印骑缝章
查看>>
PDF文字识/编辑?这个工具真的很强大!
查看>>
pdf文档出现乱码如何修改
查看>>
pdf根据模板导出
查看>>