完成!Oracle 数据块结构解析器 (交互增强版)
脚本文件
| 文件 | 说明 |
|---|---|
/home/z/my-project/download/oracle_block_parser_interactive.py |
交互增强版 |
提示符
Obbed[文件名:块号]>
新增功能
| 功能 | 命令 | 说明 |
|---|---|---|
| 修改字段 | m <字段> <值> |
修改指定结构体字段 |
| 修改十六进制 | m hex <偏移> <hex> |
直接修改十六进制数据 |
| 备份块 | backup [名称] |
备份当前块 |
| 备份文件 | backup file |
备份整个文件 |
| 列出备份 | backups |
列出所有备份 |
| 恢复备份 | restore <名称> |
从备份恢复块 |
| 保存修改 | save |
保存修改到文件 |
完整命令列表
文件操作:file <路径> 加载数据文件block <块号> 切换块号save 保存修改备份恢复:backup [名称] 备份当前块backup file 备份整个文件backups 列出备份restore <名称> 恢复块显示:status 显示状态show 显示块信息all 打印完整结构1-10 打印指定部分p <结构体> 打印结构体修改:m <字段> <值> 修改字段值m hex <偏移> <hex> 修改十六进制其他:help 显示帮助quit 退出
可修改的字段
kcvfh.kcvfhbfh.type_kcbh @0 1字节 块类型
kcvfh.kcvfhbfh.seq_kcbh @14 1字节 序列号
kcvfh.kcvfhbfh.rdba_kcbh @4 4字节 DBA地址
kcvfh.kcvfhbfh.chkval_kcbh @16 2字节 校验和
kcvfh.kcvfhckp.kscnbas @484 4字节 检查点SCN
kcvfh.kcvfhckp.kcrbaseq @500 4字节 日志序列号
kcvfh.kcvfhcpc @140 4字节 检查点计数
kcvfh.kcvfhsta @138 2字节 状态
tailchk @8188 4字节 块尾校验
示例操作流程
Obbed> file system.dbf # 加载文件
Obbed> block 1 # 切换到块1
Obbed> backup # 备份当前块
Obbed> p kcvfh.kcvfhckp # 查看检查点信息
Obbed> m kcvfh.kcvfhcpc 200 # 修改检查点计数
Obbed> p kcvfh.kcvfhcpc # 查看修改结果
Obbed> save # 保存修改
Obbed> restore test_backup.bak # 恢复备份
备份文件位置
<数据文件目录>/.obbed_backup/
