undo表空间坏块

问题:启动数据库报错,坏块

ORA-01578: ORACLE data block corrupted (file # 3, block # 395885)

ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/undotbs01.dbf'

1、查看回滚段(因为数据库已经无法启动,无法查到回滚段,找的相同的镜像查询的结果)

SQL> select * from v$rollname;

       USN NAME
---------- ------------------------------
         0 SYSTEM
         1 _SYSSMU1_3724004606$
         2 _SYSSMU2_2996391332$
         3 _SYSSMU3_1723003836$
         4 _SYSSMU4_1254879796$
         5 _SYSSMU5_898567397$
         6 _SYSSMU6_1263032392$
         7 _SYSSMU7_2070203016$
         8 _SYSSMU8_517538920$
         9 _SYSSMU9_1650507775$
        10 _SYSSMU10_1197734989$

2、修改pfile文件

sql>create pfile='/home/oracle/initorcl.ora' from spfile

添加以下内容 (跳过undo回滚段检测)

*.undo_management=manual
*._allow_resetlogs_corruption=true

*._corrupted_rollback_segments=('_SYSSMU1_3724004606$','_SYSSMU2_2996391332$','_SYSSMU3_1723003836$','_SYSSMU4_1254879796$','_SYSSMU5_898567397$','_SYSSMU6_1263032392$','_SYSSMU7_2070203016$','_SYSSMU8_517538920$','_SYSSMU9_1650507775$','_SYSSMU10_1197734989$')


3、通过pfile启动数据库,并创建新的undo表空间

sql>startup pfile='/home/oracle/initorcl.ora'

sql>create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/orcl/undotbs02.dbf' size 100M reuse AUTOEXTEND ON;

sql>shutdown immediate

4、修改pfile文件,将undo表空间指定到undotbs2  

*.undo_tablespace='UNDOTBS2'

5、删除undotbs1

SQL>startup pfile='/home/oracle/initorcl.ora'
SQL>alter tablespace undotbs1 offline normal;
SQL>drop tablespace UNDOTBS1 including contents and datafiles; 

SQL>shutdown immediate

6、注释掉添加的参数

sql>startup pfile='/home/oracle/initorcl.ora'

sql>create spfile from pfile

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值