千家信息网

redo文件损坏的示例分析

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章将为大家详细讲解有关redo文件损坏的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一种情况:asm存储方式,在数据库open步骤时,提示某个磁盘
千家信息网最后更新 2024年11月15日redo文件损坏的示例分析

这篇文章将为大家详细讲解有关redo文件损坏的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

第一种情况:

asm存储方式,在数据库open步骤时,提示某个磁盘组无法归档某个在线日志,无法写入文件,此时未归档的redo log刚好是需要启动时归档的日志。

1.确定一下 归档空间是否已经满了

如果alert日志提示,没有可用的目标空间,首先需要考虑这一点

2.如果空间释放后(使用rman进行删除),仍不能启动

需要把对应的在线日志清空

alter system clear logfile group 2;

或:alter system clear unarchived logfile group2;

3.启动后,全备份数据库

rman>backup database plush archivelog to destination='/oracle/dbbackup';

第二种情况:

普通单实例情况下,服务器重启无法打开,提示某个在线日志找不到无法打开,启动到mount状态后查询v$log发现状态为current:

alert日志有如下错误:

ORA-00313: open failed for members of log group 4 of thread 1

ORA-00312: online log 4 thread 1: '/home/oracle/oradata/orcl/redo04B.log'

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

查看对应目录文件,文件确实存在。

alter database open;提示 数据库需要crash recovery;

尝试 关闭数据库 拷贝对应的redo4.log文件,但无法拷贝。

数据库没有备份,需要进行异常恢复。

alter database mount;

recover database until cancel; -- 提示需要使用resetlogs方式打开

alter database open resetlogs; -- 提示datafile 1 需要进一步恢复

recover datafile 1; -- 又回到提示redo04B.log文件无法读取

alter system set "_allow_resetlogs_corruption"=true scope=both;

shutdown immediate;

alter dtabase mount;

recover database until cancel;

recover datafile 1;

alter database open;

此时alert中存在 ORA-00600: internal error code, arguments: [4194]错误,这是因为 undo中数据库与实际数据不一致导致的。

重建-undo可以解决此问题;

create undo tablespace undotbs2 datafile '/u01/oracledata/undotbs201.dbf' size 10G autoextend on next 100M maxsize 20G;

alter system set undo_tablespace=undotbs2 scope=both;

shutdown immediate

startup

--全备份数据库

rman>backup database plush archivelog to destination='/dbbackup/';

此时,数据库可以启动,正常访问,可能有部分数据丢失

如果有些表查询 提示ora-01555错误,可以通过忽略对应回滚段来处理

alter system set "_corrupted_rollback_segments"='_SYSSMU9_1790233411$';

如果提示 初始化参数不能修改,需要执行如下

alter system set "_corrupted_rollback_segments"='_SYSSMU9_1790233411$' scope=spfile;

shutdown immediate

startup

关于"redo文件损坏的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0