达梦数据库体系结构

达梦数据库体系结构

DM7数据库是由数据库和实例构成。

一.数据库

DM 数据库指的是磁盘上存放在DM 数据库中的数据的集合

  1. 数据库文件
    存放用户的数据
    SQL>select path from v$datafile;
    
  2. 重做日志文件
    存放用户改变的数据,方便做还原
    SQL>select path from v$rlogfile;  
    SQL>select path,rlog_size/1024/1024 from v$rlogfile;
    
  3. 控制文件
    数据库的架构信息,数据库的版本,创建时间等
    SQL>select para_name,para_value from v$dm_ini where para_name='CTL_PATH';
    SQL>select para_name,para_value from v$dm_ini where para_name='CTL_BAK_PATH';
    SQL>select para_name,para_value from v$dm_ini where para_name='CTL_BAK_NUM';
    
  4. 配置文件
    数据配置相关的参数
    desc v$dm_ini;
    SQL>select para_name,para_value,para_type from v$dm_ini;
    

二.实例

实例一般是由一组正在运行的DM 后台进程/线程以及一个大型的共享内存组成

  1. 数据缓冲区
    buffer 存放读取和修改的数据块
    SQL>select path from v$datafile;
    
  2. 字典缓冲区
    存放最近使用的数据字典,减少IO
    SQL>select para_name,para_value from v$dm_ini where para_name like 'DICT_BUF_SIZE';
    
  3. 重做日志缓冲区
    存放改变的数据块的信息
    SQL>select para_name,para_value from v$dm_ini where para_name like 'RLOG_BUF_SIZE';
    
  4. SQL缓冲区
    存放最近使用的SQL和DMSQL代码,SQL的执行计划和sql的结果集
    SQL>select sql_id,TOP_SQL_TEXT from v$sql_history;
    SQL>select sql_id,sql_text from v$sqltext;
    SQL>desc v$sqltext;
    SQL>select sql_id,sql_text from v$sqltext;
    SQL>select para_name,para_value from v$dm_ini where para_name like 'CACHE_POOL_SIZE';
    
  5. 排序区
    排序操作,隐含排序操作:distinct 有排序动作时才有排序区
    SQL>select para_name,para_value from v$dm_ini where para_name like 'SORT_BUF_SIZE';
    
  6. Hash区
    hash join存放hash值
    SQL>select para_name,para_value from v$dm_ini where para_name like 'HJ_BUF_SIZE';
    
  7. SSD缓冲区
    SQL>select para_name,para_value from v$dm_ini where para_name like 'SSD_BUF_SIZE';
    

三.后台进程和线程

  1. 监听线程
    检测外部会话连接
  2. IO线程
    把脏数据写磁盘(完全检查点)
  3. 日志刷新线程
    把日志缓冲区的数据写磁盘
  4. 日志重做线程
    数据库异常关闭,下次启动利用日志重做线程,构造脏数据(数据已经写到重做日志文件,但未写到数据文件的)
  5. 日志归档线程
    把重做日志做一个副本
  6. 工作线程
    执行调度线程分配的任务
  7. 调度线程
    回收失效的段,唤醒工作线程执行任务,分配任务给工作线程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值