标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,682)
- DB2 (22)
- MySQL (73)
- Oracle (1,544)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (67)
- Oracle Bug (8)
- Oracle RAC (53)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (565)
- Oracle安装升级 (92)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (79)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- 断电引起的ORA-08102: 未找到索引关键字, 对象号 39故障处理
- ORA-00227: corrupt block detected in control file
- 手工删除19c rac
- 解决oracle数据文件路径有回车故障
- .wstop扩展名勒索数据库恢复
- Oracle Recovery Tools工具一键解决ORA-00376 ORA-01110故障(文件offline)
- OGG-02771 Input trail file format RELEASE 19.1 is different from previous trail file form at RELEASE 11.2.
- OGG-02246 Source redo compatibility level 19.0.0 requires trail FORMAT 12.2 or higher
- GoldenGate 19安装和打patch
- dd破坏asm磁盘头恢复
- 删除asmlib磁盘导致磁盘组故障恢复
- Kylin Linux 安装19c
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
标签归档:undo异常
undo异常总结和恢复思路
UNDO异常报错千奇百怪,针对本人遇到的比较常见的undo异常报错进行汇总,仅供参考,数据库恢复过程是千奇百怪的,不能照搬硬套.
ORA-00704/ORA-00376
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 2
ORA-00376: file 3 cannot be read at this time
ORA-01110: data file 3: ‘/u01/oracle/oradata/ora11g/undotbs01.dbf’
Error 704 happened during db open, shutting down database
USER (ospid: 17864): terminating the instance due to error 704
Instance terminated by USER, pid = 17864
ORA-1092 signalled during: alter database open…
opiodr aborting process unknown ospid (17864) as a result of ORA-1092
ORA-00600[4097]
Fri Aug 31 23:14:10 2012
Errors in file /u01/oradata/orcl/bdump/orcl_smon_15589.trc:
ORA-00600: internal error code, arguments: [4097], [], [], [], [], [], [], []
Fri Aug 31 23:14:12 2012
Non-fatal internal error happenned while SMON was doing logging scn->time mapping.
SMON encountered 1 out of maximum 100 non-fatal internal errors.
ORA-01595/ORA-00600[4194]
Fri Aug 31 23:14:14 2012
Errors in file /u01/oradata/orcl/bdump/orcl_smon_15589.trc:
ORA-01595: error freeing extent (2) of rollback segment (4))
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [48], [34], [], [], [], [], []
0RA-00600[4193]
Tue Feb 14 09:35:34 2012
Errors in file d:\oracle\product\10.2.0\admin\interlib\udump\interlib_ora_2824.trc:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [4193], [2005], [2008], [], [], [], [], []
ORA-00600[kcfrbd_3]
Wed Dec 05 10:26:35 2012
SMON: enabling tx recovery
Wed Dec 05 10:26:35 2012
Database Characterset is ZHS16GBK
Wed Dec 05 10:26:35 2012
Errors in file d:\oracle\product\10.2.0\admin\orcl\bdump\orcl_smon_548.trc:
ORA-00600: internal error code, arguments: [kcfrbd_3], [2], [2279045], [1], [2277120], [2277120], [], []
SMON: terminating instance due to error 474
ORA-00600[4137]
Fri Jul 6 18:00:40 2012
SMON: ignoring slave err,downgrading to serial rollback
Fri Jul 6 18:00:41 2012
Errors in file /usr/local/oracle/admin/techdb/bdump/techdb_smon_16636.trc:
ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []
ORACLE Instance techdb (pid = 8) – Error 600 encountered while recovering transaction (3, 17).
ORA-01595/ORA-01594
Sat May 12 21:54:17 2012
Errors in file /oracle/app/admin/prmdb/bdump/prmdb2_smon_483522.trc:
ORA-01595: error freeing extent (2) of rollback segment (19))
ORA-01594: attempt to wrap into rollback segment (19) extent (2) which is being freed
ORA-00704/ORA-01555
Fri May 4 21:04:21 2012
select ctime, mtime, stime from obj$ where obj# = :1
Fri May 4 21:04:21 2012
Errors in file /oracle/admin/standdb/udump/perfdb_ora_1286288.trc:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01555: snapshot too old: rollback segment number 40 with name “_SYSSMU40$” too small
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 1286288
ORA-1092 signalled during: alter database open resetlogs…
ORA-00607/ORA-00600[4194]
Block recovery completed at rba 3994.5.16, scn 0.89979533
Thu Jul 26 13:21:11 2012
Errors in file /orasvr/admin/mispdata/udump/mispdata_ora_2865.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [31], [2], [], [], [], [], []
Error 604 happened during db open, shutting down database
USER: terminating instance due to error 604
Instance terminated by USER, pid = 2865
ORA-1092 signalled during: ALTER DATABASE OPEN…
ORA-00704/ORA-00600[4000]
Thu Feb 28 19:29:13 2013
Errors in file /u1/PROD/prodora/db/tech_st/10.2.0/admin/PROD_oracle/udump/prod_ora_20989.trc:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [4000], [50], [], [], [], [], [], []
Thu Feb 28 19:29:13 2013
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 20989
ORA-1092 signalled during: ALTER DATABASE OPEN RESETLOGS…
undo异常恢复处理思路
除了极少数undo坏块,undo文件丢失外,大部分undo异常是因为redo未被正常进行前滚,从而导致undo回滚异常数据库无法open,解决此类问题,需要结合一般需要结合redo异常处理技巧在其中,一般undo异常处理思路
1.切换undo_management= MANUAL尝试启动数据库,如果不成功进入2
2.设置10513 等event尝试启动数据库,如果不成功进入3
3.使用_offline_rollback_segments/_corrupted_rollback_segments屏蔽回滚段
4.如果依然不能open数据库,考虑使用bbed工具提交事务,修改回滚段状态等操作
5.如果依然还不能open数据库,考虑使用dul
如果您按照上述步骤还不能解决,请联系我们,将为您提供专业数据库技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
姊妹篇
ORACLE REDO各种异常恢复
ORACLE丢失各种文件导致数据库不能OPEN恢复
发表在 Oracle备份恢复
标签为 ORA-00376, ORA-00704, ORA-01595, ORA-600 4000, ORA-600 4097, ORA-600 4193, ORA-600 4194, ORA-6004137, oracle异常恢复, ORACLE恢复, undo异常
评论关闭
重建控制文件丢失undo异常恢复—ORA-600 25025模拟与恢复
在现实的情况中,有些人因为某种原因重建控制文件(丢失undo[有意或者无意]),然后又resetlogs库尝试恢复,这样的操作可能导致各种比较麻烦的恢复,这里模拟ORA-600[25025]异常恢复
模拟ORA-600[25025]错误
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production SQL> alter database backup controlfile to trace as '/tmp/ctl'; Database altered. SQL> create table chf.t_xifenfei_www as select * from dba_objects where 1=0; Table created. SQL> insert into chf.t_xifenfei_www select * from dba_objects; 74749 rows created. --另外一个会话abort SQL> shutdown abort; ORACLE instance shut down. SQL> STARTUP NOMOUNT ORACLE instance started. Total System Global Area 175775744 bytes Fixed Size 1343668 bytes Variable Size 117444428 bytes Database Buffers 50331648 bytes Redo Buffers 6656000 bytes SQL> !vi /tmp/ctl.sql CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/u01/oracle/oradata/ora11g/redo01.log' SIZE 50M BLOCKSIZE 512, GROUP 2 '/u01/oracle/oradata/ora11g/redo02.log' SIZE 50M BLOCKSIZE 512, GROUP 3 '/u01/oracle/oradata/ora11g/redo03.log' SIZE 50M BLOCKSIZE 512 DATAFILE '/u01/oracle/oradata/ora11g/system01.dbf', '/u01/oracle/oradata/ora11g/sysaux01.dbf', -- '/u01/oracle/oradata/ora11g/undo02.dbf', '/u01/oracle/oradata/ora11g/users01.dbf', '/u01/oracle/oradata/ora11g/dbfs01.dbf', '/u01/oracle/oradata/ora11g/tts_xifenfei02.dbf', '/u01/oracle/oradata/ora11g/tts_xifenfei01.dbf', '/u01/oracle/oradata/ora11g/system02.dbf', '/u01/oracle/oradata/ora11g/czum01.dbf', '/u01/oracle/oradata/ora11g/undotbs02.dbf', '/u01/oracle/oradata/sp2008', '/u01/oracle/oradata/sp_2009', '/u01/oracle/oradata/sp_2010', '/u01/oracle/oradata/sp_2011', '/u01/oracle/oradata/sp_2012', '/u01/oracle/oradata/sp_2013', '/u01/oracle/oradata/sp_2014', '/u01/oracle/oradata/sp_2015', '/u01/oracle/oradata/sp_2016', '/u01/oracle/oradata/sp_2017', '/u01/oracle/oradata/sp_2018', '/u01/oracle/oradata/sp_2019', '/u01/oracle/oradata/sp_2020', '/u01/oracle/oradata/sp_2021', '/u01/oracle/oradata/sp_2022', '/u01/oracle/oradata/sp_2023', '/u01/oracle/oradata/sp_2024', '/u01/oracle/oradata/sp_2025', '/u01/oracle/oradata/sp_20max' CHARACTER SET ZHS16GBK ; "/tmp/ctl.sql" [New] 43L, 1519C written SQL> @/tmp/ctl.sql Control file created. SQL> recover database using backup controlfile until cancel; ORA-00279: change 12696930343864 generated at 05/18/2013 01:17:54 needed for thread 1 ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_38_805394597.dbf ORA-00280: change 12696930343864 for thread 1 is in sequence #38 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} /u01/oracle/oradata/ora11g/redo01.log ORA-00310: archived log contains sequence 37; sequence 38 required ORA-00334: archived log: '/u01/oracle/oradata/ora11g/redo01.log' ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '/u01/oracle/oradata/ora11g/system01.dbf' SQL> recover database using backup controlfile until cancel; ORA-00279: change 12696930343864 generated at 05/18/2013 01:17:54 needed for thread 1 ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_38_805394597.dbf ORA-00280: change 12696930343864 for thread 1 is in sequence #38 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} /u01/oracle/oradata/ora11g/redo03.log ORA-00310: archived log contains sequence 39; sequence 38 required ORA-00334: archived log: '/u01/oracle/oradata/ora11g/redo03.log' ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '/u01/oracle/oradata/ora11g/system01.dbf' SQL> recover database using backup controlfile until cancel; ORA-00279: change 12696930343864 generated at 05/18/2013 01:17:54 needed for thread 1 ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_38_805394597.dbf ORA-00280: change 12696930343864 for thread 1 is in sequence #38 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} /u01/oracle/oradata/ora11g/redo02.log ORA-00279: change 12696930370956 generated at 08/26/2013 13:00:25 needed for thread 1 ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_39_805394597.dbf ORA-00280: change 12696930370956 for thread 1 is in sequence #39 ORA-00278: log file '/u01/oracle/oradata/ora11g/redo02.log' no longer needed for this recovery Specify log: {<RET>=suggested | filename | AUTO | CANCEL} /u01/oracle/oradata/ora11g/redo03.log Log applied. Media recovery complete. SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [25025], [3], [], [], [], [], [], [], [], [], [], [] Process ID: 12603 Session ID: 125 Serial number: 3
alert日志信息
ORA-279 signalled during: ALTER DATABASE RECOVER database using backup controlfile until cancel ... ALTER DATABASE RECOVER LOGFILE '/u01/oracle/oradata/ora11g/redo02.log' Media Recovery Log /u01/oracle/oradata/ora11g/redo02.log Mon Aug 26 13:05:00 2013 ORA-279 signalled during: ALTER DATABASE RECOVER LOGFILE '/u01/oracle/oradata/ora11g/redo02.log' ... Mon Aug 26 13:05:10 2013 ALTER DATABASE RECOVER LOGFILE '/u01/oracle/oradata/ora11g/redo03.log' Media Recovery Log /u01/oracle/oradata/ora11g/redo03.log Mon Aug 26 13:05:10 2013 Incomplete recovery applied all redo ever generated. Recovery completed through change 12696930370973 time 08/26/2013 13:00:56 Media Recovery Complete (ora11g) Completed: ALTER DATABASE RECOVER LOGFILE '/u01/oracle/oradata/ora11g/redo03.log' alter database open resetlogs RESETLOGS after complete recovery through change 12696930370973 Archived Log entry 1 added for thread 1 sequence 37 ID 0xfa6fa6cb dest 1: Archived Log entry 2 added for thread 1 sequence 38 ID 0xfa6fa6cb dest 1: Archived Log entry 3 added for thread 1 sequence 39 ID 0xfa6fa6cb dest 1: Clearing online redo logfile 1 /u01/oracle/oradata/ora11g/redo01.log Clearing online log 1 of thread 1 sequence number 37 Mon Aug 26 13:05:22 2013 Clearing online redo logfile 1 complete Clearing online redo logfile 2 /u01/oracle/oradata/ora11g/redo02.log Clearing online log 2 of thread 1 sequence number 38 Clearing online redo logfile 2 complete Clearing online redo logfile 3 /u01/oracle/oradata/ora11g/redo03.log Clearing online log 3 of thread 1 sequence number 39 Clearing online redo logfile 3 complete Resetting resetlogs activation ID 4201621195 (0xfa6fa6cb) Online log /u01/oracle/oradata/ora11g/redo01.log: Thread 1 Group 1 was previously cleared Online log /u01/oracle/oradata/ora11g/redo02.log: Thread 1 Group 2 was previously cleared Online log /u01/oracle/oradata/ora11g/redo03.log: Thread 1 Group 3 was previously cleared Mon Aug 26 13:05:33 2013 Setting recovery target incarnation to 2 Mon Aug 26 13:05:33 2013 Using SCN growth rate of 16384 per second Mon Aug 26 13:05:33 2013 Assigning activation ID 4220644150 (0xfb91eb36) LGWR: STARTING ARCH PROCESSES Mon Aug 26 13:05:33 2013 ARC0 started with pid=20, OS id=12679 ARC0: Archival started LGWR: STARTING ARCH PROCESSES COMPLETE ARC0: STARTING ARCH PROCESSES Mon Aug 26 13:05:35 2013 ARC1 started with pid=21, OS id=12683 Mon Aug 26 13:05:35 2013 ARC2 started with pid=22, OS id=12687 Mon Aug 26 13:05:36 2013 ARC3 started with pid=24, OS id=12691 ARC1: Archival started ARC2: Archival started ARC1: Becoming the 'no FAL' ARCH ARC1: Becoming the 'no SRL' ARCH ARC2: Becoming the heartbeat ARCH Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: /u01/oracle/oradata/ora11g/redo01.log Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Mon Aug 26 13:05:36 2013 SMON: enabling cache recovery ARC3: Archival started ARC0: STARTING ARCH PROCESSES COMPLETE Errors in file /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_12603.trc (incident=146705): ORA-00600: internal error code, arguments: [25025], [3], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/oracle/diag/rdbms/ora11g/ora11g/incident/incdir_146705/ora11g_ora_12603_i146705.trc Mon Aug 26 13:05:45 2013 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Undo initialization errored: err:600 serial:0 start:57601994 end:57610584 diff:8590 (85 seconds) Errors in file /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_12603.trc: ORA-00600: internal error code, arguments: [25025], [3], [], [], [], [], [], [], [], [], [], [] Errors in file /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_12603.trc: ORA-00600: internal error code, arguments: [25025], [3], [], [], [], [], [], [], [], [], [], [] Error 600 happened during db open, shutting down database USER (ospid: 12603): terminating the instance due to error 600 Instance terminated by USER, pid = 12603 ORA-1092 signalled during: alter database open resetlogs... opiodr aborting process unknown ospid (12603) as a result of ORA-1092 Mon Aug 26 13:05:47 2013 ORA-1092 : opitsk aborting process
trace文件
*** 2013-08-26 13:05:38.945 dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0) ----- Current SQL Statement for this session (sql_id=7j16t46cacjt9) ----- alter database open resetlogs ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- skdstdst()+41 call kgdsdst() BF8A34E4 ? 2 ? ksedst1()+77 call skdstdst() BF8A34E4 ? 0 ? 1 ? 8592C38 ? 8592AB6 ? 8592C38 ? ksedst()+33 call ksedst1() 0 ? 1 ? dbkedDefDump()+2704 call ksedst() 0 ? BF8A40E7 ? 47EF1FF4 ? BF8A3D66 ? 0 ? BF8A3BF4 ? ksedmp()+47 call dbkedDefDump() 3 ? 2 ? ksfdmp()+59 call ksedmp() 3EB ? BF8A5458 ? F1DADED ? 116056E0 ? 3EB ? 116056E0 ? dbgexPhaseII()+1725 call 00000000 116056E0 ? 3EB ? dbgexProcessError() call dbgexPhaseII() B6C515AC ? B6A0C890 ? +2550 BF8A8D30 ? dbgeExecuteForError call dbgexProcessError() B6C515AC ? B6A0C890 ? 1 ? 0 ? ()+65 B6C515AC ? B6A0C890 ? dbgePostErrorKGE()+ call dbgeExecuteForError B6C515AC ? B6A0C890 ? 0 ? 1 ? 1794 () 0 ? dbkePostKGE_kgsf()+ call dbgePostErrorKGE() 116056E0 ? B6C330D4 ? 258 ? 50 kgeade()+324 call 00000000 116056E0 ? B6C330D4 ? 258 ? kgeriv_int()+107 call kgeade() 116056E0 ? 11605808 ? B6C330D4 ? 258 ? 0 ? 61C1 ? kgeriv()+25 call kgeriv_int() 116056E0 ? B6C330D4 ? 61C1 ? 0 ? 1 ? BF8A96B8 ? kgesiv()+98 call kgeriv() 116056E0 ? B6C330D4 ? 61C1 ? 1 ? BF8A96B8 ? ksesic1()+48 call kgesiv() 116056E0 ? B6C330D4 ? 61C1 ? 1 ? BF8A96B8 ? 61C1 ? 1 ?krta2rfn()+78 call ksesic1() 61C1 ? 0 ? 3 ? 0 ? kttsinfo()+496 call krta2rfn() 3 ? 0 ? 0 ? 0 ? 0 ? 0 ? ktusmout_online_ut( call kttsinfo() 9 ? 0 ? 0 ? BF8A9948 ? )+810 ktusmiut_init_ut()+ call ktusmout_online_ut( B000 ? 89E57F8 ? 9 ? BF8A96B8 ? 348 ) ktuini()+518 call ktusmiut_init_ut() 0 ? 0 ? 0 ? 0 ? 1 ? 0 ? adbdrv()+46345 call ktuini() 0 ? BF8A9DE0 ? 1004BF42 ? BF8AA258 ? B6A0BFFC ? 10EA1F20 ? opiexe()+16835 call adbdrv() 25C8F1F8 ? 0 ? 0 ? 2A34F528 ? 2A0400C8 ? BF8AF07C ? opiosq0()+3437 call opiexe() 4 ? 0 ? BF8AFE8C ? kpooprx()+239 call opiosq0() 3 ? E ? BF8B0184 ? A4 ? 0 ? kpoal8()+607 call kpooprx() BF8B2D6C ? BF8B10AC ? 1D ? 1 ? 0 ? A4 ? opiodr()+962 call 00000000 5E ? 1C ? BF8B2D68 ? ttcpip()+1930 call 00000000 5E ? 1C ? BF8B2D68 ? 0 ? opitsk()+1355 call ttcpip() 11616580 ? 5E ? BF8B2D68 ? 0 ? BF8B29F8 ? BF8B2E90 ? FDEBA80 ? 0 ? BF8B2EBC ? opiino()+827 call opitsk() 0 ? 0 ? opiodr()+962 call 00000000 3C ? 4 ? BF8B3E2C ? opidrv()+479 call opiodr() 3C ? 4 ? BF8B3E2C ? 0 ? sou2o()+80 call opidrv() 3C ? 4 ? BF8B3E2C ? opimai_real()+109 call sou2o() BF8B3E10 ? 3C ? 4 ? BF8B3E2C ? ssthrdmain()+212 call 00000000 2 ? BF8B3F58 ? 0 ? 47DA6F14 ? BF8B3F14 ? 47D9A670 ? main()+147 call ssthrdmain() 2 ? BF8B3F58 ? __libc_start_main() call 00000000 2 ? BF8B4054 ? BF8B4060 ? +220 47D9A828 ? 0 ? 1 ? _start()+33 call __libc_start_main() 856F3B4 ? 2 ? BF8B4054 ? BCC1EA0 ? BCC1E90 ? 47D8C790 ? --------------------- Binary Stack Dump ---------------------
MOS中有类似描述ORA-600 [25025] [25] While Opening the Clone Database in Resetlog Mode (Doc ID 603100.1),该解决方案是重建控制文件增加所有数据文件,在本次测试中,我就是人为除掉了undo,模拟undo丢失[其实数据库已经resetlogs过了,就算加入undo重建控制文件也不会成功(人工修改undo文件头除外)],又做了不正确的重建控制文件操作的故障,我提供解决方案如下
解决办法
--参数文件修改 undo_management='manual' --尝试open数据库 recover database; alter database open; --新建undo create undo tablespace undo_new datafile '' size 100m autoextend on next 10m maxsize 30G; --屏蔽需要恢复回滚段 select tablespace_name,segment_name,status from dba_rollback_segs; _corrupted_rollback_segments --重启数据库使得_corrupted_rollback_segments生效 shutdown immediate; startup --删除老undo drop tablespace old_undo --修改参数 shutdonw immediate undo_management='auto' undo_tablespace='unod_new' --启动数据库 startup --导出数据,导入新库