dmlcvt 是 DM 提供的用于解析、修改日志文件的工具,包括联机日志文件和归档日志文件。
当意外情况导致系统故障或者介质故障时,需要通过日志文件进行分析、恢复。此时管理员可以使用日志解析工具 dmlcvt,通过指定日志文件类型和路径从日志文件中获取详细的日志信息,分析系统故障原因。
可以用日志解析工具 dmlcvt 获取到如下日志信息:
日志文件信息
物理事务(ptx)信息
事务对应的记录信息
页信息
警告信息和错误信息
通常 dmlcvt 解析日志需要指定读入的日志文件类型、具体路径以及结果输出路径等。
指定日志文件路径有四种方式:
一、指定归档目录,程序会解析目录下所有归档日志文件
二、指定单个归档日志文件,程序只解析指定的归档日志文件
三、指定单个联机日志文件,程序只解析指定的联机日志文件
四、指定 dm.ini 文件,程序会解析 dm.ini 中指定的控制文件找出所有联机日志文件
使用 dmlcvt 的前提条件是目标数据库要处于关闭状态。
dmlcvt 工具会对第一种方式(指定 dm.ini 文件)做检测,保证数据库处于关闭状态;其他三种情况均由用户负责检测最终结果会以文件报告的形式给出,存放在输出路径下。不同操作生成的报告有所不同,所有可能的报告分别为 file_infoxxx.txt、page_infoxxx.txt、rec_infoxxx.txt、
warn_infoxxx.txt 和 ref_pagesxxx.txt,其中 xxx 是文件后缀,从 000 开始。
下面例子是简单使用dmlcvt步骤:
[dmdba@dm1 bin]$ ./dmlcvt help
version: 03134283890-20220304-158322-10045
格式: ./dmlcvt KEYWORD=value
例程: ./dmlcvt F_TYPE=4 F_PATH=/opt/dmdbms/data/DAMENG/dm.ini OUT_PATH=/opt/temp
关键字 说明(默认值)
--------------------------------------------------------------------------------
F_TYPE 必选,表示读入的日志文件类型,与F_PATH配合使用
1 F_PATH必须指向归档目录
2 F_PATH必须指向某个归档文件
3 F_PATH必须指向单个联机日志文件
4 F_PATH必须指向文件dm.ini
5 F_PATH必须指向ptx->log组成的二进制文件
6 F_PATH必须指向从内存中dump出来的rpkg->data文件
7 F_PATH必须指向从内存中dump出来的buf_ctl->page文件
f_type=7 f_path=/xxx/24272.dat out_path=/xxx/24272 rec_data=1 desc_file=/xxx/desc.txt n_napp_flds=6 rowid_off=12
F_PATH 必选,对应F_TYPE的路径
当F_TYPE = 6:
1.gdb dump memory /tmp/x.log begin_addr end_addr
2.dmlcvt f_type=6 f_path='/tmp/x.log' out_path='/tmp/log_analyse' rec_data=1
OP_TYPE 可选,操作类型,对应不同的F_TYPE.
当F_TYPE = 1:
1 打印日志内容,默认值
当F_TYPE = 2:
1 打印日志内容,默认值
2 截断归档日志文件到指定LSN(LSN_START)
3 截断归档日志文件到SEQ(ARCH_SEQ)
4 拷贝从指定LSN(LSN_START)开始的归档文件内容到指定的输出目录(OUT_PATH)中自动新建的归档文件
5 调整归档文件元信息
6 通过归档日志构造数据页
f_type=2 f_path=/xxx/arch/x.log out_path=/xxx/arch/36121 op_type=6 ts_id=4 file_id=0 page_no=36121 rec_data=1
当F_TYPE = 3:
1 打印联机日志内容,默认值
当F_TYPE = 4:
1 打印日志内容,默认值
2 调整当前CKPT到最近的一个合法位置
3 调整当前CKPT到最老的一个合法位置
4 找出指定LSN(LSN_START)开始的REDO日志中涉及的数据页号
5 截断REDO日志到指定LSN(LSN_START)
REC_LEVEL 可选,打印日志内容级别,可选值为1,2,3,默认为3
1 仅打印ptx信息
2 仅打印rec信息
3 打印ptx和rec信息
REC_DATA 可选,打印rec数据类型,可选值为0,1,2,默认为0
0 不打印rec数据
1 打印所有类型的rec数据
2 仅打印数据类型的rec数据
PAGE_INFO 可选,是否打印页信息,bool型,可选值 1/0,默认为1
OUT_PATH 可选,输出文件路径,默认为当前路径,并包含以下文件: rec_infoxxx.txt, page_infoxxx.txt, file_infoxxx.txt, warn_infoxxx.txt
F_TYPE=4并且OP_TYPE=4,则包含ref_pagesxxx.txt
OUT_SIZE 可选,输出文件最大大小,单位(M),最小32,最大1024,默认为128
LSN_START 可选,从该lsn开始打印
LSN_END 可选,直到该lsn结束打印
ARCH_SEQ 可选,截断到的归档日志页序号
PTX_COUNT 可选,总共打印多少ptx
F_OFFSET 可选,文件偏移,仅对单个日志文件有效,即当F_TYPE=3或者F_TYPE=2且OP_TYPE=1时有效
PMNT_MAGIC 可选,库的perment magic值,仅对归档目录有效,即当F_TYPE=1时有效
DB_MAGIC 可选,库的db magic值,仅对归档目录有效,即当F_TYPE=1时有效
TS_ID 可选,指定表空间id
FILE_ID 可选,指定文件id
PAGE_NO 可选,指定页号
REC_TYPE 可选,指定记录类型
DCR_INI 可选,dmdcr.ini的路径
DM_INI 可选,dm.ini的路径
DSC_SEQNO 可选,DSC环境中节点号
HELP 查看帮助信息
[dmdba@dm1 bin]$ ./dmlcvt F_TYPE=4 F_PATH=/home/dmdba/dmdbms/data/DW_A/dm.ini OUT_PATH=/home/dmdba/tmp
checking the instance is active....
DMLCVT V8
NODE: 0
main log file:
file_name=/home/dmdba/dmdbms/data/DW_A/DW_A01.log, sig=DMRLOG, ver=7007, magic=7,
file_free=268435456,file_len=268435456
cur log file:
file_name=/home/dmdba/dmdbms/data/DW_A/DW_A02.log, sig=DMRLOG, ver=7007, magic=7,
file_free=143424000,file_len=268435456
log file count: 2
log file list:
/home/dmdba/dmdbms/data/DW_A/DW_A01.log
/home/dmdba/dmdbms/data/DW_A/DW_A02.log
LAST CKPT LSN: 12484951
LAST CKPT file id: 1
LAST CKPT file offset: 143424000
NEXT RPKG sequence: 536562
begin analyze redo log ...
begin to parse log file -> /home/dmdba/dmdbms/data/DW_A/DW_A02.log, begin_offset->143425024......
begin to parse log file -> /home/dmdba/dmdbms/data/DW_A/DW_A01.log, begin_offset->4096......
begin to parse log file -> /home/dmdba/dmdbms/data/DW_A/DW_A02.log, begin_offset->4096......
analyze start time: 2022-06-09 13:43:19 +08:00
analyze end time: 2022-06-09 13:43:27 +08:00
生成文件如下:
[dmdba@dm1 tmp]$ ll
总用量 776708
-rw-r--r--. 1 dmdba dinstall 957 6月 9 13:43 file_info000.txt
-rw-r--r--. 1 dmdba dinstall 125151469 6月 9 13:43 page_info000.txt
-rw-r--r--. 1 dmdba dinstall 134217627 6月 9 13:43 rec_info000.txt
-rw-r--r--. 1 dmdba dinstall 134217615 6月 9 13:43 rec_info001.txt
-rw-r--r--. 1 dmdba dinstall 134217620 6月 9 13:43 rec_info002.txt
-rw-r--r--. 1 dmdba dinstall 134217581 6月 9 13:43 rec_info003.txt
-rw-r--r--. 1 dmdba dinstall 133319416 6月 9 13:43 rec_info004.txt
-rw-r--r--. 1 dmdba dinstall 0 6月 9 13:43 warn_info000.txt
社区地址:https://eco.dameng.com
文章
阅读量
获赞