`
itspace
  • 浏览: 981730 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

记一次数据库open打开错误ora-00600 [3619]处理

 
阅读更多
事情起源:
客户需求:数据文件过大,客户业务表格清空数据之后需要缩小数据文件
SQL> select file_id,max(BLOCK_ID) from dba_extents where OWNER='TERSA' and SEGMENT_NAME='AA065' group by file_id;  

   FILE_ID MAX(BLOCK_ID)
---------- -------------
         4        102537

SQL> select max(BLOCK_ID) from dba_extents where file_id=4;

MAX(BLOCK_ID)
-------------
       102537

SQL> truncate table TERSA.AA065;

Table truncated.

SQL> select max(BLOCK_ID) from dba_extents where file_id=4;

MAX(BLOCK_ID)
-------------
        22793

SQL> select 22793*8192 from dual;

22793*8192
----------
186720256

SQL> !ls -l /lank/db/lank/users01.dbf
-rw-r----- 1 ora10g dba 841490432 Nov 14 13:18 /lank/db/lank/users01.dbf

客户将其缩小至200m
SQL> alter database datafile '/lank/db/lank/users01.dbf' resize 200m;

Database altered.

谁知!!!出于业务原因,该库在指定时间进行定期闪回,由于4号文件进行了resize缩小数据文件操作,闪回不支持
SQL> flashback database to restore point p1;
flashback database to restore point p1
*
ERROR at line 1:
ORA-38766: cannot flashback data file 4; file resized smaller
ORA-01110: data file 4: '/lank/db/lank/users01.dbf'

这时,同事将4号文件offline,将数据库进行了强制闪回,这里需要注意的是闪回之后如果打开数据库,4号文件的数据将全部丢失,同事看到此错误时,心里没底了。
SQL> alter database datafile 4 offline;

Database altered.

SQL> flashback database to restore point p1;
flashback database to restore point p1
*
ERROR at line 1:
ORA-38795: warning: FLASHBACK succeeded but OPEN RESETLOGS would get error
below
ORA-01245: offline file 4 will be lost if RESETLOGS is done
ORA-01110: data file 4: '/lank/db/lank/users01.dbf'

于是打算今天的数据不进行闪回,将数据库恢复至最新状态
SQL> recover database;
ORA-00279: change 11000524201524 generated at 11/14/2011 13:09:10 needed for
thread 1
ORA-00289: suggestion : /lank/db/arch/1_425_764441717.dbf
ORA-00280: change 11000524201524 for thread 1 is in sequence #425


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 11000524205605 generated at 11/14/2011 13:10:25 needed for
thread 1
ORA-00289: suggestion : /lank/db/arch/1_426_764441717.dbf
ORA-00280: change 11000524205605 for thread 1 is in sequence #426
ORA-00278: log file '/lank/db/arch/1_425_764441717.dbf' no longer needed for
this recovery

。。。
Log applied.
Media recovery complete.
SQL> alter database datafile 4 online;

Database altered.

悲剧的是数据库打开时,出现[3619]错误
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [3619], [1], [0], [], [], [], [], []

后台日志显示:
Mon Nov 14 13:56:34 CST 2011
Errors in file /app/admin/lank/udump/lank_ora_5394.trc:
ORA-00600: internal error code, arguments: [3619], [1], [0], [], [], [], [], []
ORA-600 signalled during: alter database open...

跟踪文件显示:
Media Recovery drop redo thread 1
File 1 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 3 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 5 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 6 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 7 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 8 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 9 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 10 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
File 11 (stop scn 11000524225166) completed recovery at checkpoint scn 11000524225166
*** 2011-11-14 13:56:34.778
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [3619], [1], [0], [], [], [], [], []
Current SQL statement for this session:




进一步检查相关文件的ckpt
SQL> select file#,checkpoint_change#,last_change#,status from v$datafile;

     FILE#  CHECKPOINT_CHANGE#        LAST_CHANGE# STATUS
---------- ------------------- ------------------- -------
         1      11000524225166      11000524225166 SYSTEM
         3      11000524225166      11000524225166 ONLINE
         4      11000524201524                     ONLINE
         5      11000524225166      11000524225166 ONLINE
         6      11000524225166      11000524225166 ONLINE
         7      11000524225166      11000524225166 ONLINE
         8      11000524225166      11000524225166 ONLINE
         9      11000524225166      11000524225166 ONLINE
        10      11000524225166      11000524225166 ONLINE
        11      11000524225166      11000524225166 ONLINE

10 rows selected.


SQL> select file#,fuzzy,checkpoint_change# from v$datafile_header;

     FILE# FUZ  CHECKPOINT_CHANGE#
---------- --- -------------------
         1 NO       11000524225166
         3 NO       11000524225166
         4 NO       11000524225167
         5 NO       11000524225166
         6 NO       11000524225166
         7 NO       11000524225166
         8 NO       11000524225166
         9 NO       11000524225166
        10 NO       11000524225166
        11 NO       11000524225166

10 rows selected.

SQL> select checkpoint_change#,last_change# from v$datafile;

     CHECKPOINT_CHANGE#          LAST_CHANGE#
----------------------- ---------------------
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167

10 rows selected.

SQL>
SQL> select file#,fuzzy,checkpoint_change# from v$datafile_header;

     FILE# FUZ      CHECKPOINT_CHANGE#
---------- --- -----------------------
         1 NO           11000524225166
         3 NO           11000524225166
         4 NO           11000524225167
         5 NO           11000524225166
         6 NO           11000524225166
         7 NO           11000524225166
         8 NO           11000524225166
         9 NO           11000524225166
        10 NO           11000524225166
        11 NO           11000524225166

10 rows selected.

SQL> alter database backup controlfile to trace noresetlogs;

Database altered.

cp /lank/db/lank/control01.ctl /lank/db/lank/control01.ctl_bak

重建控制文件,并进行数据库recover

SQL> recover database;
Media recovery complete.
SQL> select file#,fuzzy,checkpoint_change# from v$datafile_header;

     FILE# FUZ      CHECKPOINT_CHANGE#
---------- --- -----------------------
         1 NO           11000524225167
         3 NO           11000524225167
         4 NO           11000524225167
         5 NO           11000524225167
         6 NO           11000524225167
         7 NO           11000524225167
         8 NO           11000524225167
         9 NO           11000524225167
        10 NO           11000524225167
        11 NO           11000524225167

10 rows selected.

SQL> select checkpoint_change#,last_change# from v$datafile;

     CHECKPOINT_CHANGE#          LAST_CHANGE#
----------------------- ---------------------
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167
         11000524225167        11000524225167

10 rows selected.

SQL>
SQL> alter database open;

Database altered.
分享到:
评论

相关推荐

    启动oracle数据库报错:ORA-00600

    在Oracle数据库管理中,"ORA-00600"是一个内部错误代码,通常表示数据库遇到了一个未知或未处理的内部错误。这个错误是由于多种原因引起的,包括数据文件损坏、控制文件问题、实例恢复不完整或者软件bug等。在描述中...

    使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查

    在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...

    BLOG_【故障处理】Oracle_lhr_ORA-01565 告警日志报“ORA-01565 Unable To open Spfile”.pdf

    ### 故障处理:Oracle ORA-01565 "Unable To Open Spfile" 错误 #### 故障背景与概述 在Oracle数据库管理过程中,遇到ORA-01565错误提示是一个较为常见的问题,特别是对于采用RAC(Real Application Clusters)...

    ora-01033 oracle initialization or shutdown in progress

    下面是一段解决ORA-01033错误的示例脚本,其中包含了上述步骤: ```sql -- 登录到数据库 sqlplus / as sysdba -- 正常关闭数据库 shutdown normal -- 等待数据库关闭 -- (如果有需要,可以使用 shutdown abort ...

    Oracle 10g启动后报ORA-16038错误的解决方法

    如果数据库尚未打开,则会收到ORA-01109错误提示: ``` ORA-01109: database not open ``` 这是正常的,因为我们在尝试立即关闭数据库。接下来,数据库将会被卸载并最终关闭。 ##### 步骤三:分析问题原因 根据...

    离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法

    ORA-01033是Oracle数据库启动过程中遇到的一种常见错误。当数据库实例在启动过程中无法正常初始化或打开时,就会触发此错误。该错误通常出现在数据库实例启动到系统全局区(SGA)阶段后,但尚未完全加载数据文件之前...

    oracle数据库ORA-29275.txt

    ### Oracle数据库ORA-29275错误解析与解决方案 #### 错误概述 在Oracle数据库操作过程中,遇到ORA-29275错误时,通常意味着系统内部发生了某些问题,影响了数据库的正常运行。根据提供的部分脚本内容及上下文推测,...

    解决ORA-01033 ORACLE 正在初始化或关闭

    在Oracle数据库管理中,遇到ORA-01033错误是较为常见的问题之一,该错误通常出现在数据库启动或关闭的过程中。ORA-01033错误的全称是“ORA-01033: ORACLE 正在初始化或关闭”,它表明Oracle实例可能没有正确启动或...

    ORACLE出现错误1033和错误ORA-00600的解决方法

    在处理Oracle数据库时,遇到错误1033和ORA-00600是常见的问题,尤其是当数据库遭遇非法关机或断电等情况时。错误1033通常提示“ORACLE initialization or shutdown in progress”,意味着数据库正在初始化或关闭过程...

    ora-01033错误解决方法

    ORA-01033 错误通常表示在启动或关闭数据库实例时出现了问题,具体表现为“Oracle 无法为操作系统打开进程”。 本文将详细介绍如何解决 ORA-01033 错误,并通过一段示例日志来分析其他可能的错误原因及解决方案。 ...

    ora-01033:oracle initialization or shutdown in progress 解决方法

    - 尝试打开数据库时,可能会遇到如“ORA-01157: 无法标识/锁定数据文件19 - 请参阅DBWR跟踪文件”这样的错误。此时,可以通过以下命令来解决: ``` SQL&gt; alter database datafile 19 offline drop; ``` 其中,`...

    ORA-01157解决方案.txt

    ORA-01157 错误是 Oracle 数据库中一个常见的错误代码,其全称是:“ORA-01157: 无法识别/文件 - DBWR 文件”。这个错误通常发生在数据库启动过程中,当数据库尝试读取或写入数据文件时出现问题。 #### 问题原因 此...

    ORA-16038解决办法

    例如,“ORA-16038:-3к5035无法打开”这一描述,尽管语法上显得有些混乱,但实际上是在试图传达数据库无法访问指定的重做日志文件“REDO03.LOG”,该文件可能处于不可用状态,如被损坏或物理路径不存在。...

    oracle ora-各种常见java.sql.SQLException归纳

    ORA-06511 是一个常见的错误信息,通常发生在尝试打开已经打开的指针时。这种错误通常是由于开发者在编写 PL/SQL 语句时,忘记了某个指针的状态,导致 Oracle 无法打开指针。解决这个错误的方法是,检查 PL/SQL 语句...

    oracle报错大全(珍藏版)

    #### ORA-00064: Unable to Open O/S File 打开操作系统文件时失败。这可能是由于文件权限问题、文件不存在或其他操作系统级别的问题。 #### ORA-00065: FIXED_DATE Parameter Value Incorrect 当FIXED_DATE参数值...

    expdp 中ORA-39002、ORA-39070错误详解及解决办法

    在使用Oracle数据库进行数据泵导出操作(expdp)时,可能会遇到错误ORA-39002和ORA-39070。ORA-39002通常表示遇到了无效的操作,而ORA-39070则指出无法打开日志文件。这两个错误通常会伴随其他错误信息,如ORA-29283...

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: ORA-01000: maximum open cursors exceeded`: 当打开的游标超过数据库允许的最大值时会出现此错误。检查代码中游标的关闭情况,避免资源泄漏。 8. **锁冲突** - `java.sql....

    oracle 12 c ORA-01017: 用户名/口令无效; 登录被拒绝

    ### Oracle 12c ORA-01017 错误详解及解决方案 #### 错误概述 在Oracle数据库管理过程中,用户可能会遇到ORA-01017错误:“用户名/口令无效;登录被拒绝”。这一错误通常出现在尝试连接数据库时,提示提供的用户名...

    oracle ORA-01033报错分析和解决方案跟踪文档

    其中之一就是著名的"ORA-01033"错误。这个错误通常会在数据库启动或恢复过程中出现,提示用户数据库的初始化参数设置不正确或者数据库处于非正常状态。以下是对"ORA-01033: ORACLE initialization or shutdown in ...

Global site tag (gtag.js) - Google Analytics