达梦8 开启物理逻辑日志对系统的影响

物理逻辑日志,是按照特定的格式存储的服务器的逻辑操作,专门用于 DBMS_LOGMNR 包挖掘获取数据库系统的历史执行语句。当开启记录物理逻辑日志的功能时,这部分日志内 容会被存储在重做日志文件中。

要开启物理逻辑日志的功能,需要满足下面两个条件: 首先,要设置 RLOG_APPEND_LOGIC 为 1、2、3 或者 4; 其次,通过设置参数 RLOG_IGNORE_TABLE_SET=1 或者建表(或修改表)时指定 ADD LOGIC LOG 开 启 。

新安装的数据库RLOG_APPEND_LOGIC和RLOG_IGNORE_TABLE_SET参数默认0,即没有开启物理逻辑日志,无法使用DBMS_LOGMNR 包挖掘获取数据库系统的历史执行语句。

在生产库上一切变动都要格外谨慎,下面我们测试一下开启该功能前后的性能对比。

先准备一张测试表

复制代码
#创建测试表
create table t1(a int);
#插入100万行数据
insert into t1 select rownum from dual connect by level<=1000000;

准备好测试脚本

复制代码
set serveroutput on
declare
ls_arch_size varchar;
begin
   for i in 1..10 loop
      update t1 set a=a+1;
      commit;
  end loop;
  select sum(free) into ls_arch_size from v$arch_file;
  dbms_output.put_line(ls_arch_size);
end;

测试步骤:

1、删除归档日志

2、重启数据库

3、执行脚本,统计时间和生成的归档大小

4、在dm.ini文件中修改RLOG_APPEND_LOGIC和RLOG_IGNORE_TABLE_SET参数

5、删除归档日志

6、重启数据库

7、执行脚本,统计时间和生成的归档大小

结果如下:

可见,开启物理逻辑日志后,生成的归档日志由10841955328字节增长为19851532288字节。几乎增加了100%。执行测试程序耗时由5分12秒增长为8分。慢了近60%。

当然真实场景下select语句占多数,select语句不受任何影响。

相关推荐
-Xie-2 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe3 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
一个天蝎座 白勺 程序猿3 小时前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode
QQ3596773454 小时前
ArcGIS Pro实现基于 Excel 表格批量创建标准地理数据库(GDB)——高效数据库建库解决方案
数据库·arcgis·excel
学编程的小程4 小时前
突破局域网限制:MongoDB远程管理新体验
数据库·mongodb
波波烤鸭4 小时前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
l1t8 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
MarkHard12312 小时前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
island131414 小时前
【Redis#10】渐进式遍历 | 数据库管理 | redis_cli | RES
数据库·redis·bootstrap
心想事成的幸运大王14 小时前
Redis的过期策略
数据库·redis·缓存