Oracle Recovery Tools 使用说明

软件概述

(一)软件简介

Oracle Recovery Tools 是由惜分飞自主研发的专业 Oracle 数据库恢复工具,专为解决 Oracle 数据库各类数据损坏、SCN 异常等问题设计,提供高效、精准的数据库修复解决方案,助力数据库管理员快速恢复数据库正常运行。

(二)核心功能

  1. 单个 / 批量坏块修复:支持对数据库单个数据块或批量数据块的损坏修复,覆盖不同场景下的坏块处理需求。
  2. 单个 Block 坏块标记:可手动将指定数据块标记为坏块,便于后续针对性处理。
  3. 数据块内容操作:支持查看指定数据块的原始内容,同时允许对数据块中的具体数据进行修改。
  4. 文件头信息修改:涵盖 checkpoint SCN、resetlogs SCN、fuzzy 标记等关键文件头信息的修改,解决因文件头异常导致的数据库启动问题。
  5. 跨文件数据块拷贝:支持在不同数据文件之间进行数据块的复制迁移,灵活调配数据资源。
  6. 进程内存修改:可修改 Oracle 进程内存中的关键数据,常见于调整 Oracle SCN 等核心参数。
  7. 进程挂起功能:支持挂起 Oracle 数据库启动进程,为字典异常等问题的修复提供操作窗口。
  8. 备份还原机制:在修改数据前自动备份相关数据块,支持通过备份文件快速还原数据,保障数据安全。

(三)适配环境

  1. .NET Framework 版本支持
    • OraRecovery_Net2.exe:适配 .NET Framework 2.0、3.0、3.5 版本(兼容 Windows Server 2008 及更早操作系统)。
    • OraRecovery_Net4.exe:适配 .NET Framework 4.0 及以上版本(兼容 Windows Server 2012 及更新操作系统)。
  2. 数据库版本支持:兼容 Oracle 9i 至 Oracle 21C 全系列版本。

(四)版权与联系方式

  • 软件版权:惜分飞(www.xifenfei.com)所有,未经授权不得擅自传播或修改。

注册软件

(一)注册流程

  1. 运行软件后,在 "软件授权" 模块中获取本机机器码。

  2. 将机器码提供给官方作者,由作者生成对应的注册码。

  3. 在软件注册界面输入注册码,点击 "注册" 完成授权激活。

(二)未注册版本限制

未注册版本仅支持以下有限功能,不可用于生产环境:

  1. 仅可修改 file# 不为 1 的数据文件的文件头 SCN。
  2. SCN 值为程序自动计算生成,无法自定义设置为实际需求值,仅作功能测试使用。

(三)注册成功提示

注册成功后,软件将弹出 "注册成功" 提示弹窗,此时可解锁全部功能,支持生产环境下的数据库修复操作。

单个 Block 坏块修复

  1. 操作路径:进入 "数据块修复" 模块。
  2. 操作步骤
    • 点击 "选择文件",指定需要修复的数据文件(如 F:\temp\system01.dbf)。
    • 填写目标数据块编号(需准确输入待修复的 block 号)。
    • 确认数据块大小(默认 8192 字节,可根据数据库实际配置调整)、字节序(默认 "小" 端)及数据库版本。
    • 点击 "修复" 按钮,完成单个坏块的修复。

单个 Block 坏块标记

  1. 操作路径:进入 "数据块修复" 模块。
  2. 操作步骤
    • 选择需要标记的目标数据文件。
    • 输入待标记的 data block 编号。
    • 核对数据块大小、字节序、数据库版本等参数。
    • 点击 "坏块" 按钮,即可将指定数据块标记为坏块。

批量修复坏块

  1. 操作路径:进入 "数据块修复" 模块下的 "批量修复坏块" 功能页。
  2. 操作步骤
    • 点击 "选择需要修复文件",添加所有待修复的坏块数据文件。
    • 上传 "坏块文件列表"(需按回车分割格式整理坏块信息)。
    • 选择参照文件(用于提供正常数据块作为修复基准)。
    • 确认数据块大小、块偏移量等参数。
    • 点击 "批量修复" 按钮,系统将自动批量处理所有坏块。

查看数据块内容

  1. 操作路径:进入 "数据块修复" 模块。
  2. 操作步骤
    • 选择目标数据文件。
    • 输入数据块编号及块偏移量(精确到字节位置)。
    • 选择字节序和数据库版本。
    • 点击 "查看数据" 按钮,下方将显示该数据块的十六进制原始内容(如 01043D38 00000100 等)。

修改数据块中数据

  1. 操作路径:进入 "数据块修复" 模块。
  2. 操作步骤
    • 选择需要修改的数据文件,输入目标数据块编号和块偏移量。
    • 点击 "查看数据",确认当前数据内容。
    • 在 "修改值" 输入框中,按十六进制格式输入新的数值。
    • 点击 "修改数据" 按钮,完成数据块内容的更新(修改前系统将自动备份当前块)。

修复数据文件头 SCN 信息

  1. 适用场景
    • 数据文件缺少归档日志,无法正常联机(online)。
    • 数据库启动报错,提示 SCN 异常,需调整文件头 checkpoint SCN。
  2. 操作路径:进入 "文件头修复" 模块。
  3. 操作步骤
    • 点击 "选择多文件",勾选所有需要修复 SCN 的数据文件。
    • 在 "CKP_SCN" 输入框中,填写目标 checkpoint SCN 值。
    • 支持 "全选""反选""刷新列表" 等操作管理文件列表。
    • 点击 "修复文件头" 按钮,完成 SCN 信息修复。

修复数据文件头 resetlogs 信息

  1. 操作路径:进入 "文件头修复" 模块。
  2. 操作步骤
    • 在文件列表中选择需要修复 resetlogs 信息的数据文件。
    • 切换至 "ResetLogs" 标签页,确认目标文件的 R_SCN 参数。
    • 点击 "修复文件头" 按钮,系统将自动修复文件头中的 resetlogs 相关信息。

修复数据文件头 fuzzy 信息

  1. 操作路径:进入 "文件头修复" 模块。
  2. 操作步骤
    • 选择需要修复的目标数据文件(可多选)。
    • 切换至 "Fuzzy" 标签页,查看当前文件的 Fz 标记状态。
    • 点击 "修复文件头" 按钮,完成 fuzzy 标记的修复(清除异常标记或设置为正常状态)。

数据块拷贝

  1. 操作路径:进入 "数据块拷贝" 模块。
  2. 操作步骤
    • 选择 "参考数据文件"(提供源数据块的文件)。
    • 在 "拷贝原文件数据块" 中,按逗号分割格式输入待拷贝的 block 号(如 1,2,3)。
    • 点击 "选择目标文件",指定接收数据块的目标数据文件。
    • 在 "目标数据文件块号" 中,输入对应的目标 block 号(如 1,2,3,支持与源块号不一致映射)。
    • 勾选 "拷贝相同数据块"(可选,如需源块与目标块编号完全一致)。
    • 点击 "拷贝数据块" 按钮,完成跨文件数据块迁移。

修改数据库内存中内容

  1. 前置要求:必须以管理员权限运行 OraRecovery 程序。
  2. 操作路径:进入 "修改内存" 模块。
  3. 操作步骤
    • 系统将自动检索当前运行的 Oracle 数据库进程,显示进程 PID、版本信息、进程路径(如 c:\app\xff\product\19.3\bin\ORACLE.EXE)。
    • 选择需要修改的目标进程。
    • 输入内存地址(需按十六进制格式填写)。
    • 点击 "查看内存值",确认当前内存中的十六进制和十进制数值。
    • 在 "需要修改内容" 中,分别填写十六进制和十进制的新值。
    • 点击 "修改内存值" 按钮,完成进程内存数据的更新(常见用于修改 Oracle SCN)。

挂起Oracle启动过程

  1. 适用场景:数据库启动过程中因字典异常导致自动崩溃,需挂起启动进程以修复字典。
  2. 操作路径:进入 "挂起 Oracle 进程" 模块。
  3. 操作步骤
    • 启动数据库至 mount 状态(通过 sqlplus 执行 startup mount)。
    • 在软件中选择目标 Oracle 进程(对应待挂起的数据库实例)。
    • 点击 "挂起 Oracle 进程" 按钮,暂停数据库启动流程。
    • 通过其他会话连接数据库(sqlplus /as sysdba),修复字典异常。
    • 修复完成后,点击 "取消挂起",数据库将继续启动至 open 状态。

备份还原

  1. 备份机制:软件在修改文件头(前 4 个 block)或指定数据块前,将自动备份相关数据,备份文件存储在程序执行目录下的 "当前时间" 命名文件夹中(如 20200723002758)。
  2. 还原操作步骤
    • 进入 "备份还原" 模块。
    • 点击 "选择文件",指定备份目录中的备份文件(如 modify_datafile_header_ok.txt)。
    • 勾选需要还原的数据文件(支持多文件选择)。
    • 点击 "还原备份" 按钮,系统将数据恢复至修改前的状态。

其他说明

  1. 权限要求:修改进程内存、挂起 Oracle 进程等操作,必须以管理员权限运行软件,否则将操作失败。
  2. 数据安全
    • 未注册版本仅用于功能测试,严禁在生产环境中使用,避免因 SCN 计算值异常导致数据损坏。
    • 执行任何修改操作前,建议手动备份数据库关键数据文件,双重保障数据安全。
    • 软件自动备份的文件需妥善保存,便于后续必要时还原。
  3. 操作规范
    • 输入数据块编号、内存地址、SCN 等参数时,需确保准确性,错误参数可能导致数据库无法启动。
    • 批量修复坏块、跨文件拷贝数据块时,需提前核对源文件与目标文件的数据库版本、数据块大小,避免不兼容。
  4. 版本匹配:根据操作系统的 .NET Framework 版本选择对应的软件 exe 文件(Net2 或 Net4 版本),否则将无法正常运行。
相关推荐
如旧呀3 小时前
爬虫小知识
数据库·爬虫·mysql
培根芝士3 小时前
解决DBeaver对PostgresSQL备份数据库时报错
数据库
Hello World呀4 小时前
登录时,redis出现错误
数据库·redis·缓存
企鹅侠客4 小时前
第02章—先导基础篇:初识Redis
数据库·redis·缓存
哈哈老师啊4 小时前
Springboot新冠检测信息管理系统10m6v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
7ioik4 小时前
MySQL默认事物隔离级别是什么?
数据库·mysql
程序边界4 小时前
金仓数据库MongoDB兼容深度体验:从协议到性能的硬核拆解
数据库·mongodb
Miqiuha4 小时前
软删除的好处
数据库
愚公搬代码4 小时前
【愚公系列】《扣子开发 AI Agent 智能体应用》020-扣子数据库实战(创建/使用扣子数据库)
数据库·人工智能