在应用系统中,数据库往往是核心的部分,一旦数据库损坏,将会带来巨大的损失,所以数据库恢 复越来越重要使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢、查询不到符合条件的数据等。出现这些情况 的原因往往是数据库有些损坏或索引不完整。
一、SQLSERVER 数据库恢复
我们能做什么SQL数据库修复服务?
-
1、被勒索病毒加密的SQL数据库修复(不限制应用金蝶用友思迅管家婆医疗HIS等都可以,不限制勒索病毒的后缀,不限制SQL版本)
-
2、SQL数据库损坏修复(包含由于断电、系统损坏、硬盘坏道、阵列失效等各种因素导致sql数据库各种报错)
-
3、SQL数据库被删除后的碎片级数据恢复(包含本地的sql数据库修复被删除、云端的SQL数据库被误删除如阿里云腾讯云等)
-
4、因重装系统、格式化硬盘并有写入等原因导致SQL数据库被覆盖的碎片级数据恢复。
-
5、SQL数据库异常报错,比如报“恢复中”、“可疑”、“置疑”等错误的修复。
-
6、其他SQL Server数据库未知问题也可以咨询。
二、oracle 数据库恢复
服务包括但不限于:
- 针对无法打开的ORACLE数据库,实施特殊的手工修复
- 基于专业ORACLE数据库恢复工具恢复问题数据库中的数据
- 修复数据库中的坏块
- 解决关键的ORA-00600(600错误)问题
- 实施ORACLE数据库的崩溃恢复/修复
- 解决关键的ORACLE数据库性能问题,解除性能瓶颈
- 针对ORACLE的致命BUG提供解决方案
- 实施ORACLE补丁安装
- 协助解决紧急的ORACLE硬件产品故障
当你遇到如下恢复需求时,都可以找我们恢复:
意外DROP了表:请第一时间关闭应用和数据库实例,并对所有数据文件做一个备份。
- 意外DROP了column字段
- 意外truncate了表:与drop表类似
- 意外drop tablespace: 不管是drop tablespace带了including contents 还是including datafiles,都有机会恢复
- 丢失了system表空间数据文件:可以基于用户数据表空间尽可能恢复数据
- 只剩下部分数据文件: 与丢失了system表空间类似,只要你要的数据在对应数据文件里,我们就能挖掘出来
- Oracle数据字典或启动自举对象bootstrap objects存在问题
- 数据库只剩下部分备份文件,而且这些备份文件可能丢失归档日志archivelog、丢失增量备份,所以这些备份也是不一致的。
- ASM 磁盘组磁盘头/元数据存在损坏,导致ASM 磁盘组 无法成功挂载
错误 描述 与以下方面相关的腐败: ORA-1578 ORA-1578一般为Oracle检测到存在物理坏块问题,包括其检测数据块中的checksum不正确,或者tail_chk信息不正确等。 ORA-1578 在读取时认为块已损坏时报告。 块
数据块
OERR: ORA-1578 "ORACLE 数据块损坏(文件 # %s,块 # %s)" 主说明 OERR: ORA-1578 "ORACLE 数据块已损坏(文件 # %s,块 # %s)" 断裂块解释处理 Oracle7/8/8i/9i/10g/11g 中的 Oracle 块损坏 诊断和解析已分区表的本地索引上报告的 1578 ORA-1410 ORA-1410错误常见于从INDEX或其他途径获得的ROWID,到数据表中查询发现没有对应的记录。
该错误可能因为数据表与其索引存在不一致,也可能是分区的数据表本身存在问题。
当操作引用表中没有此类行的 ROWID 时,将引发此错误。
对 ROWID 的引用可能隐式来自 WHERE CURRENT OF 子句,也可以直接来自 WHERE ROWID=...第。
ORA 1410 指示 ROWID 用于不属于此表的块。排
数据行
了解 ORA-1410 包含 ORA 1410 的错误摘要 OERR: ORA 1410 "无效的 ROWID" ORA-8103 该ORA-8103可能由多个BUG引起,例如LOB在10.2.0.4之前可能会由于BUG覆盖了另一张表的segment header,导致出现ORA-8103错误。
诊断该问题可以从数据表的segment header和data_object_id入手。
自操作开始以来,该对象已被其他用户删除。
如果错误是可重现的,则可能是以下原因:-
a.)标头块具有无效的块类型。
b.)存储在块中的data_object_id (seg/obj) 与存储在段标头中的data_object_id不同。请参阅dba_objects.data_object_id,并将其与块中存储的十进制值进行比较(字段 seg/obj)。块
数据块
ORA-8103 故障排除、诊断和解决方案 OERR: ORA-8103 "对象不再存在" / 故障排除、诊断和解决方案 ORA-8102 ORA-8102常见于索引键值与表上存的值不一致。 ORA-08102 指示索引中存储的键与表中存储的值不匹配。通常发生的是索引已生成,并且在将来的某个时间,表或索引中会发生某种类型的损坏,从而导致不匹配。 指数
索引
OERR ORA-8102 "索引键未找到, obj# %s, 文件 %s, 块 %s (%s) ORA-1499 对表和索引做交叉验证时发现问题 使用 ANALYZE 命令验证索引或表时出错。
一个或多个条目不指向适当的交叉引用。指数
索引
ORA-1499.表/索引行计数不匹配 OERR:ORA-1499 表/索引交叉引用失败 – 请参阅跟踪文件 ORA-1498 通常,这是分析的结果...驗證。。。命令。
当数据/索引块中存在不一致时,此错误通常会表现出来。可能发现的一些阻止检查错误:-
a.)行被不存在的事务
锁定 b。)使用的空间量不等于块大小
c。事务标头锁定计数不匹配。
当支持人员正在处理跟踪文件时,在重新启动数据库后重新运行 ANALYZE 可能是值得的,以帮助显示损坏是否一致或是否"移动"。
将跟踪文件发送给支持分析。
如果 ANALYZE 针对索引,则应检查整个对象。例如:找到表名并执行:
分析表xxx验证结构级联;块 OERR: ORA 1498 "块检查失败 – 请参阅跟踪文件" ORA-26040 由于采用过nologging/unrecoverable选项的redo生成机制,且做过对应的recover,导致数据块中被填满了0XFF,导致报错ORA-26040。 尝试使用 NOLOGGING/UNRECOVERABLE 选项访问加载但未重做生成的块中的数据。
此错误始终与 ORA-1578 一起引发块
数据块
OERR ORA-26040 使用 NOLOGGING 选项加载数据块 ORA-1578 / ORA-26040 NOLOGGING损坏的块 – 错误解释和解决方案 LOB 段中的 ORA-1578 ORA-26040 – 解决错误的脚本 ORA-1578 ORA-26040 11g,用于直接路径,无存档日志,即使启用了日志记录 ORA-1578 ORA-26040 在 AWR 表上 备用数据库上的错误 ORA-01578、ORA-26040 工作流表 ORA-01578 ORACLE 数据块损坏 ORA-26040 使用 NOLOGGING 选项加载数据块 ORA-1578,使用 NOLOGGING 选项加载了 ORA-26040 数据块 ORA-600[12700] 从索引获得的ROWID,对应到数据表时发现不存在数据行错误。
一把是一致性度一致性阅读问题
Oracle 正在尝试使用其 ROWID 访问行,该 ROWID 是从索引中获取的。
在索引 rowid 和它所指向的数据块之间发现不匹配。rowid 指向数据块中不存在的行。损坏可能存在于数据和/或索引块中。
ORA-600 [12700] 也可以由于一致读取 (CR) 问题而被报告。一致读取
一致性读
解决 Oracle 8 及更高版本中的 ORA-600 [12700] 错误。 ORA-600 [12700] "索引条目指向缺失的 ROWID" ORA-600[3020] 主要问题是redo和数据块中的信息不一致 这被称为"卡住的恢复"。
重做中存储的信息与正在恢复的数据库块中存储的信息之间存在不一致。重做 ORA-600 [3020] "卡住恢复" ORA-600 [3020] (卡住恢复)的根本原因分析所需的信息 ORA-600[4194] 主要是redo记录与回滚rollback/undo的记录不一致 检测到重做记录和回滚(撤消)记录不匹配。
我们正在根据撤消块中记录的最大撤消记录数验证与所应用的更改相关的撤消记录编号。
验证失败时,将报告此错误。撤消 ORA-600 [4194] "添加撤消记录时撤消记录编号不匹配" 在不使用不受支持的参数的情况下求解 ORA-00600 [4194]/[4193] 错误时要遵循的基本步骤 ORA-600[4193] 主要是redo记录与回滚rollback/undo的记录不一致 检测到重做记录和回滚(撤消)记录之间不匹配。
我们正在根据与所应用的更改相关的重做块序列号来验证撤消块中的撤消块序列号。
此验证失败时,将报告此错误。撤消 ORA-600 [4193] "添加撤消记录时 seq# 不匹配" 在不使用不受支持的参数的情况下求解 ORA-00600 [4194]/[4193] 错误时要遵循的基本步骤 Ora-600 [4193] 打开或关闭数据库时 ORA-600 [4193] 尝试打开数据库时 ORA-600[4137] transaction id不匹配,问题可能存在与回滚段中或者对象本身存在讹误 在回退撤消记录时(即在回滚时),我们发现事务 ID 不匹配,指示回滚段损坏或回滚段尝试应用撤消记录的对象损坏。
这表示回滚段已损坏。撤消/重做 ORA-600 [4137] "撤消和重做中的 XID 不匹配" ORA-600[6101] 在应用 undo 期间将行插入索引叶块时,找不到足够的可用空间。 指数 ORA-600 [6101] "插入叶块(撤消)" ORA-600[2103] Oracle 正在尝试读取或更新控制文件中的通用条目。
如果条目号无效,则记录 ORA-600 [2130]。控制文件 ORA-600 [2130] "尝试访问不存在的控制文件条目" ORA-600[4512] Oracle 正在检查块中事务锁的状态。
如果锁数大于锁条目数,则会报告 ORA-600 [4512],后跟堆栈跟踪、进程状态和块转储。
此错误可能表示块损坏。块 ORA-600 [4512] "锁定计数不匹配" ORA-600[2662] 主要是发现一个数据块的SCN甚至超过了当前SCN,常规解决途径有调整SCN等,但11.2以后Oracle公司使较多调整SCN的方法失效了 数据块 SCN 位于当前 SCN 之前。
ORA-600 [2662] 在将 SCN 与存储在 UGA 变量中的从属 SCN 进行比较时发生。
如果 SCN 小于从属 SCN,则发出 ORA-600 [2662] 内部错误的信号。块 ORA-600 [2662] "块式单片机领先于当前固态硬盘" 启动期间的 ORA 600 [2662] ORA-600[4097] 访问一个回滚段头以便确认事务是否已提交时,发现XID有问题 我们正在访问回滚段标头,以查看事务是否已提交。
但是,给出的 xid 是在事务表的未来。
这可能是由于回滚段损坏问题,或者您可能遇到了以下已知问题。撤消 ORA-600 [4097] "腐败" ORA-600[4000] 这意味着 Oracle 已尝试在字典缓存中查找撤消段号,但失败了。 撤消 ORA-600 [4000] "尝试从 usn 获取撤消段标头块的 dba" ORA-600[6006] Oracle 正在撤消索引叶键操作。如果未找到该密钥,则记录 ORA-00600 [6006]。
ORA-600[6006]通常是由与磁盘写入丢失或磁盘损坏相关的介质损坏问题引起的。指数 ORA-600 [6006] ORA-600[4552] 之所以引发此断言,是因为我们尝试解锁块中的行,但收到的块类型不正确。
第二个参数是收到的块类型。块 ORA-600 [4555] ORA-600[6856] Oracle 正在检查我们即将释放的行槽是否已不在可用列表中。
此检查失败时,将引发此内部错误。排 ORA-600 [6856] "释放行插槽时损坏的块 ORA-600[13011] 在删除操作期间,我们通过一个代替触发器或一个有索引组织的表从视图中删除,并且在我们引发此异常时已超过 5000 个传递计数。 排 ORA-600 [13011] "尝试删除行时出现问题" ORA-600[13013] 在执行 UPDATE 语句期间,经过多次尝试(Arg [a] passcount),我们无法获得一组符合 WHERE 子句的稳定行。 排 ORA-600 [13013] "无法获得一组稳定的记录" 如何解析 ORA-00600 [13013]、 [5001] ORA-600[13030] ORA-600 [13030] ORA-600[25012] 我们尝试在给定表空间编号和相对文件编号的情况下生成绝对文件编号,但找不到匹配的文件编号或文件编号为零。 afn/rdba/tsn ORA-600 [25012] "相对于绝对文件编号转换错误" ORA-600[25026] 查找/检查表空间
无效的表空间 ID 和/或找到 rdbaafn/rdba/tsn ORA-600 [25026] ORA-600[25027] 发现无效的 tsn 和/或 rfn afn/rdba/tsn ORA-600 [25027] ORA-600[kcbz_check_objd_typ] 内存中的block buffer检测发现存在错误的对象 id 检查内存中的对象块缓冲区,发现其对象 ID 错误。这很可能是由于腐败造成的。 缓冲区缓存 ORA-600 [kcbz_check_objd_typ_3] ORA-600 [kcbz_check_objd_typ] ORA-600[kddummy_blkchk] ORA-600[kdblkcheckerror] 一种逻辑检测发现问题的情况 ORA-600[kddummy_blkchk]适用于10.1/10.2,ORA-600[kdblkcheckerror]适用于11级以上。 块 ORA-600 [kddummy_blkchk] 如何解决 ORA-00600[kddummy_blkchk] ORA-600 [kdblkcheckerror]
QREF – kddummy_blkchk / kdBlkCheckError – 检查代码列表(完整) [此部分对客户不可见。
QREF – kddummy_blkchk / kdBlkCheckError – Check Codes Definition && Return Values[此部分对客户不可见。 ORA-600[ktadrprc-1] 字典
字典
ORA-600 [ktadrprc-1] ORA-600[ktsircinfo_num1] 系统。SEG$字典表导致row cache字典缓存中存在意外 当从 sys.seg$ 正确获取行缓存信息时出现问题时,会发生此异常。在大多数情况下,sys.seg$ 中没有信息。 字典
字典
ORA-600 [ktsircinfo_num1] ORA-600[qertbfetchbyrowid] 排 ORA-600 [qertbfetchbyrowid] ORA-600[ktbdchk1-bad dscn] 当我们对从属 SCN 执行健全性检查并失败时,将引发此异常。
从属 scn 大于当前 scn。字典 ORA-600 [ktbdchk1: bad dscn]