DM7的体系结构

DM7的体系结构主要包括两部分,可以简单概括为实例和数据库。

实例则是由一块共享内存和一系列后台线程构成,因为DM数据库是单进程多线程的数据库管理系统。​而数据库则是由许多数据文件构成,主要包括配置文件、控制文件、数据文件、日志文件以及归档文件。我们可以通过实例去管理我们的数据库。一般情况下,一个实例只能关联一个数据库,但在DMRAC集群下,多个实例可以操作多台服务器共享的数据库。

实例存在于内存中,其中包括数据缓冲区、日志缓冲区、数据字典缓冲区等。数据库则存放在服务器磁盘中。

DM 所有数据库对象在逻辑上被表空间、段、簇、页等分级层次进行管理。数据库的逻辑存储结构可以划分为多个表空间,表空间则由一个或多个数据文件组成,数据文件则由一个或多个簇组成,簇的上一层逻辑结构则是段,一个段包括一个或多个簇,且簇可来源于不同表空间​​,段可以被定义成特定对象的数据结构,如表数据段或索引数据段。簇则由数据页构成。簇是数据库库对象分配的最小单元,而页则是磁盘I/O的最小单元。
数据库表空间主要包括五大表空间:

1、system表空间,主要存放数据库对象的字典信息,用户不能在 SYSTEM 表空间创建表和索引,且是SYS、SYSSSO、SYSAUDITOR系统用户的默认的用户表空间;

2、roll表空间,完全由 DM 数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行DML操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图;

3、temp表空间,完全由DM数据库自动维护,当用户的SQL语句需要磁盘空间来完成某个操作时,DM数据库会从TEMP表空间分配临时段,如创建索引、无法在内存中完成的排序操作、SQL语句中间结果集以及用户创建的临时表等都会使用到TEMP表空间;

4、MAIN表空间,在初始化库的时候,就会自动创建一个大小为 128M 的数据文件MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间;

5、HMAIN表空间,​属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。

数据库的物理存储结构主要包括数据库配置文件、数据库控制文件、数据库数据文件、数据库日志文件、数据库归档文件等等,主要如下:
​1、配置文件是 DM 数据库用来设置功能选项的一些文本文件的集合,配置文件以 ini 为扩展名,它们具有固定的格式。
2、每个 DM 数据库都有一个名为 dm.ctl 的控制文件。控制文件是一个二进制文件,它记录了数据库必要的初始信息.
3、数据文件以 dbf 为扩展名,它是数据库中最重要的文件类型,一个 DM 数据文件对应磁盘上的一个物理文件,数据文件是真实数据存储的地方,每个数据库至少有一个与之相关的数据文件。在实际应用中,通常有多个数据文件。

​4、重做日志,又叫 REDO 日志,指在 DM 数据库中添加、删除、修改对象,或者改变数据,DM 都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。重做日志文件以 log 为扩展名。每个 DM 数据库实例必须至少有 2 个重做日志文件,默认两个日志文件为 DAMENG01.log、DAMENG02.log,这两个文件循环使用。

5、归档日志文件,就是在归档模式下,重做联机日志被连续拷贝到归档日志后,所生成了归档日志文件。归档日志文件以归档时间命名,扩展名也是 log。但只有在归档模式下运行时,DM 数据库在重做联机日志文件时才能生成归档日志文件。采用归档模式会对系统的性能产生影响,然而系统在归档模式下运行会更安全,当出现故障时其丢失数据的可能性更小,这是因为一旦出现介质故障,如磁盘损坏时,利用归档日志,系统可被恢复至故障发生的前一刻,也可以还原到指定的时间点,而如果没有归档日志文件,则只能利用备份进行恢复。归档日志还是数据守护功能的核心,数据守护中的备库就是通过重做日志来完成与主库的数据同步的。

6、如果在 DM 数据库上配置了复制功能,复制源就会产生逻辑日志文件。逻辑日志文件是一个流式的文件,它有自己的格式,且不在第一章所述的页,簇和段的管理之下。逻辑日志文件内部存储按照复制记录的格式,一条记录紧接着一条记录,存储着复制源端的各种逻辑操作。

7、备份文件以 bak 为扩展名,当系统正常运行时,备份文件不会起任何作用,它也不是数据库必须有的联机文件类型之一。然而,从来没有哪个数据库系统能够保证永远正确无误地运行,当数据库不幸出现故障时,备份文件就显得尤为重要了。

8、跟踪日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息等。跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态有一个分析,比如,可以挑出系统现在执行速度较慢的 SQL 语句,进而对其进行优化。系统中 SQL 日志的缓存是分块循环使用,管理员可根据系统执行的语句情况及压力情况设置恰当的日志缓存块大小及预留的缓冲块个数。当预留块不足以记录系统产生的任务时,系 统 会 分 配 新 的 用 后 即 弃 的 缓 存 块 , 但 是 总 的 空 间 大 小 由 ini 参 数SVR_LOG_BUF_TOTAL_SIZE 控制,管理员可根据实际情况进行设置。

9、D​M 数据库系统在运行过程中,会在 log 子目录下产生一个“dm_实例名_日期”命名的事件日志文件。事件日志文件对 DM 数据库运行时的关键事件进行记录,如系统启动、关闭、内存申请失败、IO 错误等一些致命错误。事件日志文件主要用于系统出现严重错误时进行查看并定位问题。事件日志文件随着 DM 数据库服务的运行一直存在。事件日志文件打印的是中间步骤的信息,所以出现部分缺失属于正常现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值