为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:WIN1O
【CPU】:
【问题描述】*:
达梦使用DBMS_LOGMNR包对归档日志进行挖掘怎么分析CLOB、BLOB、TEXT这些大字段?
挖掘出来后的sql(v$logmnr_contents 的 SQL_REDO字段)是这样的:
UPDATE XXX SET "COLUMN_TEXT" = OUT_CLOB, "COLUMN_CLOB" = OUT_CLOB, "COLUMN_BLOB" = OUT_BLOB WHERE "ID" = 'XXX'
是有哪些配置没到位还是说就挖掘出来的sql就是这样不带修改值的, 如何分析大字段。
1.日志分析的两个必要参数:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
这里要在dm.ini修改,之后重启实例。
2.执行下面的SQL进行日志分析:
alter system archive log current;
SELECT * FROM v$archived_log;
//查看所有归档文件
DBMS_LOGMNR.ADD_LOGFILE('v$archived_log中选择归档日志名字');
//可以使用多个DBMS_LOGMNR.ADD_LOGFILE增加多个归档日志文件到当前会话。
DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2066);
//开启当前会话日志分析
SELECT OPERATION_CODE , OPERATION, SCN, SQL_REDO, TIMESTAMP ,SEG_OWNER, TABLE_NAME FROM V$LOGMNR_CONTENTS WHERE TABLE_NAME is not null;
//查询日志信息,如DDL、INSERT等
DBMS_LOGMNR.END_LOGMNR();
//关闭当前会话日志分析
按着这个步骤试一下