Oracle数据库ORA-16038报错的解决方法(日志无法归档)

oracle 数据库错误日志,【案例】Oracle报错ORA-00316 ORA-00312 数据库redo联机日志损坏的处理办法... 天萃荷净运维DBA反映Oracle数据库存储异常修复后无法正常open打开,报错ORA-00316 ORA-00312,分析原因为数据库redo在线联机日志损坏导致1.Oracle报错ORA-00316: log 1 of thread 1, type 286 in header is not log file,异常终止Fri Feb 21 08:44:42 2014Thread 1 advanc... 阅读详情

Oracle数据库ORA-16038报错的解决方法(日志无法归档)


数据库装载完毕。
ORA-16038: 日志 3 序列号 5035 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1:
......REDO03.LOG'

DB是归档模式, 每个日志组只有一个文件(新太公司的人通常使用的方法,FT), 没办法, 搜寻文档和晚上的资料, 有如下的解决方法:

损坏非当前联机日志: 

1、启动数据库,遇到ORA-00312 or ORA-00313错误,如: 
ORA-00313: open failed for members of log group 4 of thread 1 
ORA-00312: online log 3 thread 1: '/opt/oracle/db04/oradata/ORCL/redo03.log' 
从这里我们知道日志组1的数据文件损坏或丢失了 
从报警文件可以看到更详细的信息


2、查看V$log视图: 
SQL> select group#,sequence#,archived,status from v$log; 
GROUP# SEQUENCE# ARC STATUS 
---------- ---------- --- ---------------- 
1 54 YES INACTIVE 
2 55 NO CURRENT 
3 53 YES INACTIVE 

可以知道,该组1是非当前状态,而且已经归档。


3、用CLEAR命令重建该日志文件 
SQL>alter database clear logfile group 3; 

如果是该日志组还没有归档,则需要用 
SQL>alter database clear unarchived logfile group 3;


4、打开数据库,重新备份数据库 
SQL>alter database open;


说明: 
1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就需要强行clear。 
2)、建议clear,特别是强行clear后作一次数据库的全备份。 
3)、此方法适用于归档与非归档数据库。 

损坏当前联机日志: 

归档模式下当前日志的损坏有两种情况, 
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived logfile group n来重建。


二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法 
A. 最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份 
B. 通过强制性恢复,但是可能导致数据库不一致。


下面分别用来说明这两种恢复方法 
5.1.2.1 通过备份来恢复 
1、打开数据库,会遇到一个类似的错误 
ORA-00313: open failed for members of log group 1 of thread 1 
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG' 
ORA-27041: unable to open file 
OSD-04002: unable to open file 
O/S-Error: (OS 2) 系统找不到指定的文件 

2、查看V$log,发现是当前日志 
SQL> select group#,sequence#,archived,status from v$log; 

GROUP# SEQUENCE# ARCHIVED STATUS 
---------- ---------- -------- ---------------- 
1 1 NO CURRENT 
2 2 YES INACTIVE 
3 3 YES INACTIVE 

3、发现clear不成功 
SQL> alter database clear unarchived logfile group 1; 
alter database clear unarchived logfile group 1 
* 
ERROR at line 1: 
ORA-01624: log 1 needed for crash recovery of thread 1 
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG' 

4、拷贝有效的数据库的全备份,并不完全恢复数据库 
可以采用获取最近的SCN的办法用until scn恢复或用until cancel恢复 
recover database until cancel 
先选择auto,尽量恢复可以利用的归档日志,然后重新 
recover database until cancel 
这次输入cancel,完成不完全恢复,也就是说恢复两次。 
如: 
SQL> recover database until cancel; 
Auto 
…… 
SQL> recover database until cancel; 
Cancel; 
5、利用alter database open resetlogs打开数据库


说明: 
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据 
2、这种方法适合于归档数据库并且有可用的数据库全备份。 
3、恢复成功之后,记得再做一次数据库的全备份。 
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。 

如果没有备份,进行强制性恢复 
1、打开数据库,会遇到一个类似的错误 
ORA-00313: open failed for members of log group 1 of thread 1 
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG' 
ORA-27041: unable to open file 
OSD-04002: unable to open file 
O/S-Error: (OS 2) 系统找不到指定的文件 

2、查看V$log,发现是当前日志 
SQL> select group#,sequence#,archived,status from v$log; 

GROUP# SEQUENCE# ARCHIVED STATUS 
---------- ---------- -------- ---------------- 
1 1 NO CURRENT 
2 2 YES INACTIVE 
3 3 YES INACTIVE 

3、发现clear不成功 
SQL> alter database clear unarchived logfile group 1; 
alter database clear unarchived logfile group 1 
* 
ERROR at line 1: 
ORA-01624: log 1 needed for crash recovery of thread 1 
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG' 

4、把数据库down掉 
SQL>shutdown immediate 

5、在init<sid>.ora中加入如下参数 
_allow_resetlogs_corruption=TRUE 

6、重新启动数据库,利用until cancel恢复 
SQL>recover database until cancel; 
Cancel 
如果出错,不再理会,发出 
SQL>alter database open resetlogs; 

7、数据库被打开后,马上执行一个full export 

8、shutdown数据库,去掉_all_resetlogs_corrupt参数 

9、重建库 

10、import并完成恢复 

11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE; 
说明: 
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致 
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。 
3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析 
4、全部完成后做一次数据库的全备份 
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。


ORA-16038解决办法 学习别人的 又结合自己的情况总结了一下 希望用得上 立即下载

相关推荐

ORA-00392ORA-00312日志正在清除故障

主要介绍了ORA-00392ORA-00312日志正在清除故障的相关资料,需要的朋友可以参考下

ORACLE联机日志文件丢失或损坏的处理方法

关于联机日志损坏后恢复的问题,ITPUB上相关谈论在http://www.itpub.net/showthread.php?s=&threadid=175996工作中也经常遇到这样的问题,因此整理下来,作为自己的备忘录:联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。损坏非当前联机日志:1、启动数据库,遇到ORA-00312 o

辰风的专栏--Oracle/ClearCase管理员日记 1834

从零开始构建AURIX TC397开发环境:硬件选型与IDE配置全攻略

本文详细介绍了如何从零开始构建AURIX TC397开发环境,涵盖硬件选型、IDE配置及外设驱动开发等关键步骤。针对TriCore架构的高性能特性,提供了开发板选型建议、AURIX Development Studio(ADS)安装配置指南,以及GPIO和CAN FD驱动的实战代码示例,帮助开发者快速上手TC397系列微控制器的开发工作。

7up55的博客 203

Oracle-日志归档报错问题ORA-16038

Oracle-日志归档报错问题ORA-16038

sinat_36757755的博客 3251

UI-TARS本地部署

UI-TARS是一个用于本地部署的交互控制模型,支持桌面应用的自动化操作。部署步骤包括:首先,从官方GitHub仓库下载项目源码和模型checkpoint;其次,使用vLLM框架进行本地模型部署,启动API服务;最后,通过客户端调用API实现功能。部署过程中可能遇到pynvml模块或模型配置问题,提供了相应的解决方案。此外,还支持通过UI-TARS-Desktop客户端进行本地桌面应用的交互控制。整体流程旨在帮助用户快速实现UI-TARS的本地部署与应用。

DYF的博客 2531

RK3399跨楼层机器人:SLAM技术与商业应用解析

SLAM(即时定位与地图构建)技术是移动机器人自主导航的核心,通过激光雷达、视觉传感器等多源数据融合实现厘米级定位。RK3399作为高性能嵌入式平台,其六核架构和Mali GPU能高效处理SLAM算法与传感器数据。在商业场景中,这种技术组合可支撑机器人实现跨楼层物资配送、仓库盘点等复杂任务。以SLAMTEC Hermes平台为例,其模块化设计支持电梯控制集成,配合双深度相机和360°激光雷达,在医疗、物流等领域已实现12分钟平均配送效率和99.7%的识别准确率。

weixin_30376083的博客 618

oracle数据库报错1033,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决

出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别空间是否释放, 导致数据库无法启动。解决办法:1、mount数据库sql> startup mount (注意,这时...

weixin_33168794的博客 651

com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn‘t retrieve inbound binding

错误消息:错误截图:该错误通常表示在集成配置中,未找到与特定消息匹配的入站绑定(Inbound Binding)。具体而言,错误消息中的 P/S/A(Party/Service/Action)值未在配置中找到对应的入站绑定。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 373

oracle打开错误日志文件,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决

出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别空间是否释放, 导致数据库无法启动。解决办法:1、mount数据库sql> startup mount (注意,这时...

weixin_33656211的博客 503

【33】软考软件设计师——算法题(二):贪心法与回溯法深度精讲|第4题进阶满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第33篇,承接第32篇分治法与动态规划,聚焦**下午第4题算法大题进阶核心**,详解贪心法与回溯法两大高频难点算法。全文超4000字深度拆解贪心法核心原理、贪心选择性质、局部最优推全局最优的底层逻辑,厘清贪心算法适用边界与经典误区;深挖回溯法深度优先遍历思想、递归回溯三步流程、可行性剪枝与最优性剪枝两大核心技巧;全覆盖活动选择、零钱兑换、01背包贪心禁区、八皇后、全排列等软考必考经典题型;配套标准化算法框架代码、考场填空模板、剪枝优化实操案例

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 438

全覆盖路径规划开源项目Clean-robot-turtlebot3关键函数解析(上)

本系列文章主要介绍全覆盖路径规划开源项目Clean-robot-turtlebot3的相关内容,包含如下四篇文章,分别介绍了开源项目Clean-robot-turtlebot3流程的概括总结、ROS坐标系常用坐标及其变换、Clean-robot-turtlebot3关键函数解析等内容。

慕羽★的博客 2778

ORACLE启动报错之ORA-03113&ORA-16038&ORA-30012

    2018年7月15日,一客户oracle数据库出现启动报错而无法完成open操作,故障处理过程中经历了ORA-03113&amp;ORA-16038&amp;ORA-30012相关报错和处理,最终成功开库。总结故障原因:oracle启动关闭未完成而重复启动关闭数据库报错:ORA-03113,oracle闪回空间满报错ORA-16038,oracle的pfile参数文件undo表空间设置与s...

www_xue_xi的博客 1622

uniapp - 热更新提示:WGT安装包中manifest.json文件不存在 | unexpected EOF!报错详细解决,完美搞定WGT安装包中WWW目录下manifest.json不存在问题

uniapp,安卓android,苹果ios,热更新,热更新code:-1202报错,,WGT热更新报错,uniapp热更新wgt出现报错manifest.json文件不存,uniapp安卓苹果软件热更新时出现错误unexpected EOF!如何解决,怎么解决热更新wgt报错,app新版本下载安装报错WGT安装包中manifest.json文件不存在,WGT安装包中WWW目录下manifest.json不存在,uniapp热更新报错安装失败[-1201]:WGT/WGTU文件格式错误,uniapp-wgt

✅ 精选推荐文章 1万+

oracle00312,Oracle教程:ORA-16038 ORA-19809 ORA-00312 错误解决

出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别空间是否释放, 导致数据库无法启动 .解决办法:1、mount数据库sql> startup mount (注意,这...

weixin_29843603的博客 1280

深度学习助力台风路径预测:技术剖析与实战应用全攻略(基于LSTM模型)

摘要:深度学习技术在台风路径预测领域展现出巨大潜力。通过融合多源气象数据,深度学习模型如LSTM能有效处理时间序列数据,捕捉台风路径变化规律。与传统方法相比,深度学习模型在自动特征学习和处理复杂模式方面具有独特优势,提高了预测的准确性和实时性。然而,挑战依然存在,包括数据质量问题、模型可解释性不足以及极端台风的复杂性。未来,随着观测技术的进步和新算法的开发,深度学习将在台风路径预测中发挥更大作用,为防灾减灾提供更精准的决策支持。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2227

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何解决Data Guard主库ORA-16038日志无法归档_强制日志传输报错排查

别用DELETE ARCHIVELOG ALL,除非你确定所有备份都完整且已验证可恢复归档路径不可写时,切路径比清日志更安全如果归档目标磁盘组损坏、权限丢失、ASM disk offline,或NFS挂载异常,ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP N 是高危操作——它跳过归档校验,强制重建日志,一旦数据库需要介质恢复(比如备库落后太多),这部分日志缺失会导致同步断裂甚至无法拉起DG。

2401_87169652的博客 235

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

今天数据库告警日志报错ORA-16038/ORA-19809/ORA-00312

new_svn> tail -f alert_ccdb.log Errors in file /u01/app/oracle/diag/rdbms/ccdb/ccdb/trace/ccdb_ora_25560.trc:OR...

congruo6877的博客 294

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

捉虫日志-解决 Oracle ORA-01033 ORACLE initialization or shutdown in progress以及ORA-16038: 日志 3 序列号 535 无法归档

问题 em,em, windows版本太多,oracle版本太多, 打开vmware虚拟机,打开PL/SQLdeveloper,码农的一天开始了 what 's up,man?? pl/sql developer在疫情复工首日挂了一把,抛出错误: Oracle ORA-01033 ORACLE initialization or shutdown in progress 环境...

既然选择了远方,便只顾风雨兼程 445

无法归档导致的ORA-16038 ORA-19502 ORA-00312

问题描述 通过1521端口连接数据库报错ORA-00257 ORA-00257: archiver error. Connect internal only, until freed. 原因是:存档器错误。在释放之前仅限于内部连接 问题原因 查看告警日志: ARC3: Encountered disk I/O error 19502 ARC3: Closing local archive des...

鲨鱼胃的博客 682

oracle启动时出现归档错误

SQL> startupORACLE instance started.Total System Global Area 2147483648 bytesFixed Size 1220432 bytesVariable Size 469762224 bytesDatabase Buffers 16...

weixin_34184561的博客 2584

oracle归档日志是否启用,oracle归档日志满了,导致无法启动 ORA-03113

今天在进行Oracle相关测试,因为Windows自动更新,自己重启机器了,结果重启完毕之后,我的oracle就无法正常启动了报ora-03113错误。[csharp] view plain copy print?ORA-03113: 通信通道的文件结尾进程 ID: 8636会话 ID: 192 序列号: 9去D:\app\Administrator\diag\rdbms\orcl\orcl\tr...

weixin_34039159的博客 447

Oracle归档日志满了导致无法启动ora-03113

转自:http://blog.youkuaiyun.com/linghe301/article/details/9291273   今天在进行Oracle相关测试,因为Windows自动更新,自己重启机器了,结果重启完毕之后,我的oracle就无法正常启动了 报ora-03113错误。   ORA-03113: 通信通道的文件结尾 02.进程 ID: 8636 03.会话 ID: 19...

java-hope 215

Oracle集群归档日志爆满引发的ORA-03113:从紧急故障到系统恢复的实战复盘

本文详细复盘了Oracle集群因归档日志爆满引发ORA-03113故障的全过程,从错误诊断到紧急处理再到系统恢复。通过实战案例解析了communication channel错误的真实成因,并提供了归档日志清理、数据库启动的正确方法,最后总结了预防此类事故的长效机制和关键经验。

weixin_30859423的博客 290

oracle11g ora 01033,ORA-01033错误:归档日志问题导致ORACLE无法启动

最初由 hiyangyong 发布[B]环境如下:windows+oracle9.2.0.1.0Z盘空间剩余300G操作系统访问归档日志所在目录和文件正常用oracle enterprise manager console连上实例,总是提示ora-01033提示,我查过代码,显示如下:ORA-01033ORA-01033ORACLE startup or shutdown in progressC...

weixin_33236595的博客 634

ORA-16038

在测试库上创建了个聚簇表,然后在不适用绑定变量的情况下插入10000000条记录,很长时间没有完成,然后 SQL>alter system checkpoint; SQL>shutdown abort; 重启后: ERROR at line 1: ORA-16038: log 2 sequence# 166 cannot be archived ORA-19809: limit e

Jandison_lz的专栏 433
上一篇: Oracle使用expdp时遇到ORA-39002、ORA-39070错误
下一篇: Redhat Linux 为指定网卡添加网关
听雪楼主.
博客等级 码龄10年 513粉丝 214原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值