背景

  • 1.数据库版本:11.2.0.4
  • 2.未开启归档
  • 3.没有备份:无RMAN备份、无DUMP备份
  • 4.数据库redo log全部删除。

解决思路:

Oracle 的隐含参数:
_allow_resetlogs_corruption=TRUE
SYS>alter system set "_allow_resetlogs_corruption"=true scope=spfile;
数据库关闭数据库,在启动
SQL> shutdown immediate;
SQL> startup

出现如下错误:

ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [1030200641], [0],
[1030304018], [12583040], [], [], [], [], [], []
Process ID: 31791
Session ID: 694 Serial number: 5

问题的原因解释:数据库损坏之后,使用_allow_resetlogs_corruption 不一定能打开。也会出现如上的问题。其中[2662]代表的意思如下:ORA-600 [2662]"Block sCN is ahead of Current SCN

说明当前数据库的数据块保存的SCN大于当前的SCN,因为Current SCN会和dependent SCN进行比比较。如果[Current SCN] <[dependent SCN],那么数据库就会产生这个ORA-600[2662]的错误了。这个错误一共有五个参数,分别代表不同的含义,

  • ORA-600 [2662] [a] [b] [c] [d] [e]
  • Arg [a] Current SCN WRAP
  • Arg [b]Current SCN BASE
  • Arg [c] dependent SCN WRAP
  • Arg [d] dependent SCN BASE(数据库块的SCN)

我这边故障的数据库。当前的SCN为[1030200641],而数据库依赖的dependent SCN为[1030304018]。

所以,数据库需要不断推进SCN号,才能正常启动。

实战操作的思路

由于数据库,不断的重启,会不断推进SCN号,直到大于依赖的SCN号。如下:

第一次启动

SCN号为[1030220646],SCN号往前走了20000多。

SQL> startup
ORACLE instance started. Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 671090720 bytes
Database Buffers 155189248 bytes
Redo Buffers 6606848 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [1030220646], [0],
[1030304018], [12583040], [], [], [], [], [], []
Process ID: 32058
Session ID: 694 Serial number: 5

第二次启动

SCN号为[1030240651],SCN号往前走了20000多。

SQL> startup
ORACLE instance started. Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 671090720 bytes
Database Buffers 155189248 bytes
Redo Buffers 6606848 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [1030240651], [0],
[1030304018], [12583040], [], [], [], [], [], []
Process ID: 32271
Session ID: 694 Serial number: 5

第三次启动

SCN号为[1030260656],SCN号往前走了20000多

SQL> startup
ORACLE instance started. Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 671090720 bytes
Database Buffers 155189248 bytes
Redo Buffers 6606848 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [1030260656], [0],
[1030304018], [12583040], [], [], [], [], [], []
Process ID: 32460
Session ID: 694 Serial number: 5

第N次启动

如此反复,不断推进。然后SCN号最终推进到[1030300665],和[1030304018]只相差了4000多。说明最后一次启动,SCN再推进20000,数据库应该能打开,

SQL> startup
ORACLE instance started. Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 671090720 bytes
Database Buffers 155189248 bytes
Redo Buffers 6606848 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2663], [0], [1030300665], [0],
[1030304018], [], [], [], [], [], [], []
Process ID: 450
Session ID: 694 Serial number: 5

最后一次启动

SQL> startup
ORACLE instance started. Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 671090720 bytes
Database Buffers 155189248 bytes
Redo Buffers 6606848 bytes
Database mounted.
Database opened.

数据库正常启动,立马做出expdp导出操作,保障数据不丢失。

Oracle【ORA-00600 internal error code arguments [2662]】恢复一例的更多相关文章

  1. ORA-00600: internal error code, arguments: [2662]

    转自 http://www.eygle.com/archives/2005/12/oracle_diagnostics_howto_deal_2662_error.html 在ORA-00600 22 ...

  2. 简单记录一次ORA-00600: internal error code, arguments: [2662]

    接上一个,REDO报错搞定后OPEN数据库时又报错ORA-00600: internal error code, arguments: [2662]. 原因是_ALLOW_RESETLOGS_CORR ...

  3. ORA-00600: internal error code, arguments: [2662], [0], [1106971], [0], [1107731], [12583040]

    今天是2014-06-06,在进行数据库恢复的时候出现了一个久违的ora-600 [2662]错误.特整理例如以下: 问题描写叙述: system及数据文件误删,採用恢复数据文件的方式将数据库恢复到開 ...

  4. ORA-00600: internal error code, arguments: [13030], [20]一例解决

    两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...

  5. 07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], [0], [9710724], [0], [9711142], [], [], [], [], [], [], []

    07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], ...

  6. oracle 断电启动失败:ORA-00600: internal error code, arguments

    转载地址: http://www.2cto.com/database/201312/261602.html 由于服务器断电,启动 oracle 时报 ORA-00600 错误 查看 oracle tr ...

  7. ORA-00600: internal error code, arguments: [4194]

    使用PlateSpin复制出来的一数据库服务器(Oracle 10g)在启动数据库实例时遇到"ORA-00600: internal error code, arguments: [4194 ...

  8. ORA-00600: internal error code, arguments: [17281], [1001], [0x1FF863EE8], [], [], [], [], []

    我们生产服务器中的一个数据库发出监控告警日志的邮件,内容如下所示,在31号09:11分出现了大名鼎鼎的ORA-00600错误. Dear All: The Instance xxx' alert lo ...

  9. ORA-00600: internal error code, arguments: [kdBlkCheckError]

    ORA-00600: internal error code, arguments: [kdBlkCheckError] Table of Contents 1. 现象 2. 分析 3. 故障处理 1 ...

  10. ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose]

      案例环境: 操作系统版本: Red Hat Enterprise Linux ES release 4 数据库版本  : 10.2.0.4.0 32 bit 案例介绍: 今天我执行stop_ora ...

随机推荐

  1. verilog中的数据类型

    Verilog中的数据格式 1.基本概念 verilog中写一个数据的通用格式是 n'b000_000_···_000,表示一个n位的二进制数.基于这个通用式,可以将其分为三个部分:位数.加权数和实际 ...

  2. C#第一个helloworld程序

    1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 usin ...

  3. OpenHarmony持久化存储UI状态:PersistentStorage

      前两个小节介绍的LocalStorage和AppStorage都是运行时的内存,但是在应用退出再次启动后,依然能保存选定的结果,是应用开发中十分常见的现象,这就需要用到PersistentStor ...

  4. 面试必备HashMap源码解析

    Map的实现有很多种,而HashMap算是最经典的实现之一了吧,在平时的使用中,绝大部分的使用也都是HashMap,我记得刚入行那会,脑子里对Map的使用就是Map map = new HashMap ...

  5. C# 做个Splash(启动屏幕)

    现在有好些splash的做法,我的比较简单,而且如果你的素材不错的话,应该可以做出很好的效果,这个教程不依赖任何第三方控件,直接使用vs的就行了,下面这个是预览图: 正文开始: 我们首先新建一个win ...

  6. 我只用了3步,实现了一个逼真的3D场景渲染

    给3D模型及环境场景渲染出兼具质感和真实感的材质效果,需要经历几步? 显然,目前的3D模型材质渲染技术,还无法实现简单几步就能搞定的标准化作业来量化,完成一个质量过关的3D模型渲染,一般需要: 1.准 ...

  7. MogDB/openGauss如何实现事务的rollback

    MogDB/openGauss 如何实现事务的 rollback 本文出处:https://www.modb.pro/db/113262 数据库最主要的功能就是存储数据,然而我们在进行数据库操作时,却 ...

  8. leetcode-数组中两元素的最大乘积

    题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums ...

  9. mysql 必知必会整理—组合查询与全文搜索[九]

    前言 简单整理一下组合查询与全文搜索. 正文 什么是组合查询,就是我们常说的交并补集. 直接上例子. 举一个例子,假如需要价格小于等于5的所有物品的一个列表,而且还想包括供应商1001和1002生产的 ...

  10. Object类的派生-c++

    /* * @Issue: 生成一个Object抽象类 * @Author: 一届书生 * @LastEditTime: 2020-02-24 10:34:13 */ #include<iostr ...