ora-01578&&ora-01110
环境: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来获取对应的回滚段信息。通过如下方法来获取
$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,二者的区别在哪里?对应的回滚段参数应当填写哪一个回滚段?
隐含参数回滚段列表_OFFLINE_ROLLBACK_SEGMENTS OR _CORRUPTED_ROLLBACK_SEGMENTS应当填写那些回滚段?
==> 极端一点 上面脚本得到的信息全部填进去。 否则要分析 哪些undo segment上出现了ORA-01578
回滚段_SYSSMU9_1650507775与_SYSSMU9_508477954,二者的区别在哪里?对应的回滚段参数应当填写哪一个回滚段?
==>可以都填进去 , 来源应当是undo$ 基表 谢谢刘大的回复。
页:
[1]