ora-01092: oracle 实例终止.强制断开连接,undo表空间故障特殊恢复(二)------ORA-01092: ORACLE 实例终止。强制断开连接...

本文介绍了如何处理Oracle数据库由于回滚段故障导致的实例终止问题。通过模拟实例崩溃并删除回滚段数据文件,然后通过设置隐藏参数和创建新的回滚段表空间,成功使数据库恢复正常。最后,强调了数据库恢复后的善后工作的重要性。
摘要由CSDN通过智能技术生成

原文出处:http://blog.csdn.net/wyzxg/archive/2010/09/10/5874726.aspx

undo表空间故障特殊恢复(二)------ORA-01092: ORACLE 实例终止。强制断开连接

这个测试的是instance recover(单实例里就是crash recovery)的恢复需要故障undo里的数据,

一般的情况instance recover使用联机日志文件的,当发生多版本更新的故障,也可需要回滚段数据的。

测试表

SQL> select count(1) from tabtest;

COUNT(1)

----------

17732

SQL> insert into tabtest select * from tabtest where rownum<2001;

已创建2000行。

SQL> insert into tabtest select * from tabtest where rownum<2001;

已创建2000行。

模拟断电故障,让回滚段的数据没来得回滚,使回滚段在数据库关闭时,保留未commit的事务

SQL> shutdown abort

ORACLE 例程已经关闭。

SQL> quit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options 断

只有退出sqlplus环境,才能更改回滚段数据文件,删除回滚数据文件,模拟回滚段丢失

C:\Documents and Settings\Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 9月 9 22:23:50 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  574619648 bytes

Fixed Size                  1297944 bytes

Variable Size             234881512 bytes

Database Buffers          331350016 bytes

Redo Buffers                7090176 bytes

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 2: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS13.DBF'

错误出现了,因为我已经删除文件“E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS13.DBF”

SQL> shutdown abort;

ORACLE 例程已经关闭。

这里startup force是模拟instance recover时需要回滚段里的数据情况,为什么能模拟出来,我也不清楚,我是经过多次测试发现的,哪位高人知道原因,请指点????

SQL> startup force;

ORACLE 例程已经启动。

Total System Global Area  574619648 bytes

Fixed Size                  1297944 bytes

Variable Size             234881512 bytes

Database Buffers          331350016 bytes

Redo Buffers                7090176 bytes

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 2: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS13.DBF'

SQL> alter database datafile 2 offline drop;

数据库已更改。

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01092: ORACLE 实例终止。强制断开连接

这里instance recover需要回滚段里数据,但是回滚段丢失,所以实例出现异常直接关闭

SQL> startup

ORA-24324: 未初始化服务句柄

ORA-01041: 内部错误, hostdef 扩展名不存在

SQL> quit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options 断

C:\Documents and Settings\Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 9月 9 22:27:05 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值