UNDO表空间丢失报错:ORA-01157

本文介绍了一种解决Oracle数据库中损坏的UNDO表空间的方法。通过将SYSTEM表空间设置为临时UNDO表空间,使数据库能够启动,并随后创建新的UNDO表空间。文章详细记录了每一步的操作命令。
SQL> startup
ORACLE instance started.

Total System Global Area 2505338880 bytes
Fixed Size            2215944 bytes
Variable Size         1392513016 bytes
Database Buffers     1107296256 bytes
Redo Buffers            3313664 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3:
'/u01/app/oracle/oradata/EISOO/datafile/o1_mf_undotbs1_cnq9gsym_.dbf'


在mount状态下查看数据文件信息,发现数据文件3位UNDO回滚段表空间

解决思路:由于undo表空间数据文件损坏,所以决定使用SYSTEM表空间作为临时undo,将数据库open,然后删除原来的undotbs1表空间,重建undotbs2表空

间,并修改参数文件,重新启动数据库。

具体步骤:
1、修改参数文件
*.undo_management='manual'
*.undo_tablespace='SYSTEM'
#_allow_resetlogs_corruption=true
#_corrupted_rollback_segments=

(_SYSSMU1_3780397527$,_SYSSMU2_2232571081$,_SYSSMU3_2097677531$,_SYSSMU4_1152005954$,_SYSSMU5_1527469038$,_SYSSMU6_2443381498$,_SYSSMU7_3

286610060$,_SYSSMU8_2012382730$,_SYSSMU9_1424341975$,_SYSSMU10_3550978943$)

备注:上面的undo回归段是在原来数据库open时查询V$rollname视图得到的。

2、启动数据库到mount状态
SQL> startup mount;

SQL> alter database datafile 3 offline;

SQL> alter database open;

SQL> drop tablespace undotbs1 including contents and datafiles;

SQL> create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/EISOO/datafile/undo02.dbf' size 100M;

3、关闭数据库,重新更改参数文件如下:

*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS2'

4、重新启动数据库

SQL> show parameter undo

NAME                     TYPE                   VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management              string                   AUTO
undo_retention                 integer                   900
undo_tablespace              string                   UNDOTBS2

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30373263/viewspace-2109202/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30373263/viewspace-2109202/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值