Skip to content

DM 日志配置

重做日志(Redo Log)配置

配置参数

参数名描述默认值建议值
RLOG_BUFFER_SIZE重做日志缓冲区大小16M32M-128M,根据业务量调整
RLOG_FILE_SIZE单个重做日志文件大小256M512M-2G,建议设置较大值减少切换频率
RLOG_FILE_NUM重做日志文件个数44-10,确保至少有2个可用日志文件
RLOG_SEND_APPLY_MON日志发送和应用监控开关01,开启监控便于观察日志同步状态

配置方法

  1. 通过dm.ini文件配置
ini
# 修改dm.ini文件中的参数
RLOG_BUFFER_SIZE = 64M
RLOG_FILE_SIZE = 1024M
RLOG_FILE_NUM = 6
RLOG_SEND_APPLY_MON = 1
  1. 通过SQL命令在线修改
sql
-- 在线修改重做日志缓冲区大小
ALTER SYSTEM SET RLOG_BUFFER_SIZE = 64M SPFILE;

-- 在线修改日志发送和应用监控开关
ALTER SYSTEM SET RLOG_SEND_APPLY_MON = 1 SPFILE;
  1. 调整重做日志文件大小和数量
sql
-- 添加重做日志文件
ALTER DATABASE ADD LOGFILE '/dm/data/DAMENG/DAMENG03.log' SIZE 1024;
ALTER DATABASE ADD LOGFILE '/dm/data/DAMENG/DAMENG04.log' SIZE 1024;

-- 删除重做日志文件(需要确保该日志文件未被使用)
ALTER DATABASE DELETE LOGFILE '/dm/data/DAMENG/DAMENG01.log';

归档日志(Archive Log)配置

配置参数

参数名描述默认值建议值
ARCH_INI是否启用归档配置文件01,启用独立的归档配置文件
ARCH_SEND_DELAY主库归档发送延迟时间00,实时发送

配置方法

  1. 修改dm.ini启用归档
ini
ARCH_INI = 1
  1. 创建归档配置文件dmarch.ini
ini
# 本地归档配置
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

# 远程归档配置(适用于DataWatch等场景)
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = GRP1_RT_02
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
  1. 通过SQL命令配置归档
sql
-- 启用归档模式
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

-- 设置归档参数
ALTER SYSTEM SET ARCH_INI = 1 SPFILE;

错误日志(Error Log)配置

配置参数

参数名描述默认值建议值
SVR_LOG是否启用服务器日志11,建议开启
SVR_LOG_FILE_SIZE单个日志文件大小64M128M-512M
SVR_LOG_FILE_NUM日志文件个数1020-50,保留更多历史日志
SVR_LOG_LEVEL日志级别11,记录所有错误信息

配置方法

ini
# 修改dm.ini文件中的参数
SVR_LOG = 1
SVR_LOG_FILE_SIZE = 256
SVR_LOG_FILE_NUM = 30
SVR_LOG_LEVEL = 1

事件日志(Event Log)配置

配置参数

参数名描述默认值建议值
ENABLE_EVENT_LOG是否启用事件日志01,建议开启便于监控数据库事件
EVENT_LOG_SIZE事件日志文件大小100M200M-500M
EVENT_LOG_PATH事件日志存储路径与数据库实例同目录建议单独指定路径

配置方法

ini
# 修改dm.ini文件中的参数
ENABLE_EVENT_LOG = 1
EVENT_LOG_SIZE = 300
EVENT_LOG_PATH = /dm/log/event

审计日志(Audit Log)配置

配置参数

参数名描述默认值建议值
ENABLE_AUDIT是否启用审计01,建议开启以满足安全合规要求
AUDIT_FILE_SIZE单个审计文件大小100M200M-500M
AUDIT_FILE_NUM审计文件个数1020-50
AUDIT_SPACE_LIMIT审计空间限制00,无限制
AUDIT_DSC_TBL_SPACEDSC环境审计表空间MAIN建议使用独立表空间

配置方法

  1. 修改dm.ini启用审计
ini
ENABLE_AUDIT = 1
AUDIT_FILE_SIZE = 256
AUDIT_FILE_NUM = 30
  1. 创建审计表空间(可选)
sql
-- 创建审计表空间
CREATE TABLESPACE AUDIT_TBS DATAFILE '/dm/data/DAMENG/audit_tbs01.dbf' SIZE 1024 AUTOEXTEND ON NEXT 256;

-- 设置审计表空间
ALTER SYSTEM SET AUDIT_DSC_TBL_SPACE = 'AUDIT_TBS' SPFILE;
  1. 配置审计规则
sql
-- 启用登录审计
SP_SET_PARA_VALUE(2, 'ENABLE_AUDIT', 1);

-- 添加审计规则
AUDIT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES BY ALL;
AUDIT CREATE, DROP ON ALL TABLES BY ALL;

SQL日志(SQL Log)配置

配置参数

参数名描述默认值建议值
SQL_TRACE是否启用SQL跟踪00,生产环境建议关闭,调试时开启
SQL_TRACE_MASKSQL跟踪掩码3根据需要调整,建议只跟踪慢SQL
SLOW_SQL_TIME慢SQL阈值(毫秒)1000500-2000,根据业务要求调整
SLOW_SQL_TRACE_LEVEL慢SQL跟踪级别01,记录完整的慢SQL信息

配置方法

ini
# 修改dm.ini文件中的参数
SQL_TRACE = 0
SLOW_SQL_TIME = 1000
SLOW_SQL_TRACE_LEVEL = 1
  1. 通过SQL命令临时开启SQL跟踪
sql
-- 临时开启SQL跟踪
ALTER SYSTEM SET SQL_TRACE = 1;

-- 查看慢SQL
SELECT * FROM V$SLOW_SQL WHERE EXECUTE_TIME > 1000;

性能日志(Performance Log)配置

配置参数

参数名描述默认值建议值
ENABLE_TIMER_LOG是否启用定时器日志01,建议开启便于性能分析
TIMER_LOG_INTERVAL定时器日志记录间隔(秒)6060-300,根据监控粒度调整

配置方法

ini
# 修改dm.ini文件中的参数
ENABLE_TIMER_LOG = 1
TIMER_LOG_INTERVAL = 60

日志配置最佳实践

  1. 根据业务需求调整日志级别:生产环境建议只记录必要的日志信息,避免过多日志影响性能
  2. 合理设置日志文件大小和数量:平衡日志完整性和管理便利性
  3. 分离日志存储位置:将日志与数据文件存储在不同的磁盘上,提高性能和可靠性
  4. 定期清理过期日志:避免日志占用过多磁盘空间
  5. 备份重要日志:定期备份审计日志、错误日志等重要日志文件
  6. 监控日志增长情况:设置告警机制,当日志空间使用率超过阈值时及时通知
  7. 加密敏感日志:对包含敏感信息的日志进行加密存储

版本差异说明

版本主要变化
DM 7基础日志功能完善,支持多种日志类型
DM 8增强了审计日志功能,支持更细粒度的审计规则;优化了日志性能
DM 8.1新增了更多性能日志指标,优化了日志配置界面

常见问题(FAQ)

Q1: 如何查看当前日志配置?

A1: 可以通过查询V$DM_INI视图或使用DM管理工具查看当前日志配置:

sql
-- 查询日志相关配置
SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE '%LOG%' OR PARA_NAME LIKE '%ARCH%';

Q2: 日志文件过大怎么办?

A2: 可以通过以下方法解决:

  • 调整日志文件大小参数,减小单个日志文件大小
  • 增加日志文件个数,分散日志存储
  • 启用日志自动清理机制
  • 定期手动清理过期日志

Q3: 如何监控日志空间使用情况?

A3: 可以通过以下方式监控:

  • 查询V$ARCH_FILE视图查看归档日志使用情况
  • 设置告警规则,当日志空间使用率超过阈值时通知
  • 使用DM监控工具实时监控日志空间

Q4: 如何优化日志性能?

A4: 可以从以下方面优化:

  • 合理设置日志缓冲区大小
  • 使用高性能存储设备存储日志
  • 减少不必要的日志记录
  • 优化SQL语句,减少日志生成量

Q5: 归档日志无法写入怎么办?

A5: 可能的原因和解决方法:

  • 磁盘空间不足:清理磁盘空间或扩展存储
  • 权限问题:检查日志目录权限
  • 归档进程异常:重启数据库实例
  • 配置错误:检查dmarch.ini配置是否正确

Q6: 如何启用远程归档?

A6: 配置步骤:

  1. 在dmarch.ini中添加远程归档配置
  2. 确保主备库之间网络连通
  3. 配置正确的归档目标实例名
  4. 重启数据库实例使配置生效

Q7: 如何查看慢SQL日志?

A7: 可以通过以下方式查看:

  • 查询V$SLOW_SQL视图
  • 查看慢SQL日志文件(默认路径:/dm/data/DAMENG/slowlog)
  • 使用DM性能监控工具查看

Q8: 审计日志如何管理?

A8: 审计日志管理建议:

  • 使用独立表空间存储审计数据
  • 定期备份审计日志
  • 对审计日志进行加密保护
  • 根据合规要求设置审计日志保留期限
  • 定期清理过期审计日志

Q9: 如何关闭不必要的日志?

A9: 根据业务需求,在dm.ini中修改相应的日志开关参数:

  • 关闭SQL跟踪:SQL_TRACE = 0
  • 关闭事件日志:ENABLE_EVENT_LOG = 0
  • 关闭定时器日志:ENABLE_TIMER_LOG = 0

Q10: 日志配置修改后是否需要重启数据库?

A10: 大部分日志配置参数修改后需要重启数据库才能生效,部分参数支持在线修改。建议在维护窗口进行日志配置修改,并重启数据库确保配置生效。