Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

3

主题
1#
发表于 2016-8-30 20:44:43 | 查看: 3548| 回复: 2
环境:redhat 6.5 + oracle 11.2.0.4 单机

问题:_CORRUPTED_ROLLBACK_SEGMENTS错误回滚段填写的疑问

告警日志信息:

Errors in file /home/oracle/app/diag/rdbms/devdb/DEVDB/trace/DEVDB_ora_14085.trc  (incident=1353):
ORA-01578: ORACLE ????? (??? 3, ?? 144)
ORA-01110: ???? 3: '/home/oracle/app/oradata/DEVDB/undotbs01.dbf'
Incident details in: /home/oracle/app/diag/rdbms/devdb/DEVDB/incident/incdir_1353/DEVDB_ora_14085_i1353.trc
Errors in file /home/oracle/app/diag/rdbms/devdb/DEVDB/trace/DEVDB_ora_14085.trc:
ORA-01578: ORACLE ????? (??? 3, ?? 144)
ORA-01110: ???? 3: '/home/oracle/app/oradata/DEVDB/undotbs01.dbf'
Errors in file /home/oracle/app/diag/rdbms/devdb/DEVDB/trace/DEVDB_ora_14085.trc:
ORA-01578: ORACLE ????? (??? 3, ?? 144)
ORA-01110: ???? 3: '/home/oracle/app/oradata/DEVDB/undotbs01.dbf'
Error 1578 happened during db open, shutting down database

数据文件信息:

SQL> l
  1* select * from v$dbfile

     FILE# NAME
---------- --------------------------------------------------
         4 /home/oracle/app/oradata/DEVDB/users01.dbf
         3 /home/oracle/app/oradata/DEVDB/undotbs01.dbf
         2 /home/oracle/app/oradata/DEVDB/sysaux01.dbf
         1 /home/oracle/app/oradata/DEVDB/system01.dbf
         5 /home/oracle/app/oradata/DEVDB/cbmain_data_01.dbf
         6 /home/oracle/app/oradata/RDPDB/cbmain_data_01.dbf

已选择6行。

通过以下参数及隐含参数来完成恢复过程。

UNDO_MANAGEMENT=MANUAL
_OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU1$, _SYSSMU2$, _SYSSMU3$, …etc)
or
_CORRUPTED_ROLLBACK_SEGMENTS=(_SYSSMU1$, _SYSSMU2$, _SYSSMU3$, …etc)

由于数据库不能正常open,不能通过dba_rollback_segs来获取对应的回滚段信息。通过如下方法来获取

[oracle@localhsot devdbbak20160829]$strings  system01.dbf  | grep _SYSSMU | cut -d $ -f 1 | sort -u
        <9    ' and substr(drs.segment_name,1,7) != ''_SYSSMU''');
and substr(drs.segment_name,1,7) != '_SYSSMU'
and substr(drs.segment_name,1,7) != '_SYSSMU'
        c;    ' and substr(drs.segment_name,1,7) != ''_SYSSMU'' ' ||
_SYSSMU10_1197734989
_SYSSMU10_3470984480
_SYSSMU11_894599432
_SYSSMU12_1573055333
_SYSSMU1_2603659607
_SYSSMU13_3860906822
_SYSSMU1_3724004606
_SYSSMU14_3319140121
_SYSSMU15_1436577151
_SYSSMU16_1689093467
_SYSSMU17_1049158485
_SYSSMU18_1557221903
_SYSSMU19_2284825117
_SYSSMU20_2312497597
_SYSSMU2_2996391332
_SYSSMU2_73114111
_SYSSMU3_1723003836
_SYSSMU3_596277271
_SYSSMU4_1254879796
_SYSSMU4_2523322691
_SYSSMU5_4008018903
_SYSSMU5_898567397
_SYSSMU6_1263032392
_SYSSMU6_4235600416
_SYSSMU7_2070203016
_SYSSMU7_2271882308
_SYSSMU8_517538920
_SYSSMU8_854328387
_SYSSMU9_1650507775
_SYSSMU9_508477954

问题一:
隐含参数回滚段列表_OFFLINE_ROLLBACK_SEGMENTS OR _CORRUPTED_ROLLBACK_SEGMENTS应当填写那些回滚段?

问题二:

回滚段_SYSSMU9_1650507775与_SYSSMU9_508477954,二者的区别在哪里?对应的回滚段参数应当填写哪一个回滚段?
2#
发表于 2016-8-31 16:06:20
隐含参数回滚段列表_OFFLINE_ROLLBACK_SEGMENTS OR _CORRUPTED_ROLLBACK_SEGMENTS应当填写那些回滚段?

==> 极端一点 上面脚本得到的信息全部填进去。 否则要分析 哪些undo segment上出现了ORA-01578

回滚段_SYSSMU9_1650507775与_SYSSMU9_508477954,二者的区别在哪里?对应的回滚段参数应当填写哪一个回滚段?

==>可以都填进去 , 来源应当是undo$ 基表

回复 只看该作者 道具 举报

3#
发表于 2016-9-3 00:50:28
谢谢刘大的回复。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-18 00:42 , Processed in 0.047145 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569