当前位置: 首页> 娱乐> 明星 > Oracle数据库启动问题排查的一般流程-解决ORA-03113和ORA-16038错误

Oracle数据库启动问题排查的一般流程-解决ORA-03113和ORA-16038错误

时间:2025/7/10 18:03:42来源:https://blog.csdn.net/weixin_60783132/article/details/140605002 浏览次数:0次

数据库启动问题排查的一般流程

通过检查

1、告警日志:该文件记录了数据库启动、关闭、实例崩溃和其他重要事件⽇志是以xml⽂件的⽅式存储的 ;

2、trace文件: alert⽇志是以⽂本⽂件的形式存储的,命名规则为alert_<oracle_sid>.log,包含了详细的错误和诊断信息 ;

3、动态性能视图V$SYSTEM_EVENTV$SESSION_WAITV$PROCESS包含了关于数据库运行时的信息, 分析数据库的性能和等待事件;

4、操作系统日志:如/var/log/messages/var/log/syslog)可以提供硬件和系统级别的错误信息。

这些方法能迅速定位问题的根本原因,在采取相应的措施,如调整数据库参数、清理磁盘空间、检查网络连接和权限设置等。

案例

今天启动虚拟机的数据库报错ORA-03113

SYS@orcl> startup;
ORACLE instance started.Total System Global Area 1653518336 bytes
Fixed Size		    2253784 bytes
Variable Size		  469765160 bytes
Database Buffers	 1174405120 bytes
Redo Buffers		    7094272 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 6154
Session ID: 125 Serial number: 5

1、查找错误原因

查看告警日志文件

[oracle@orcl:/u01/app/oracle/diag/rdbms/orcl/orcl/trace]$ ls | grep *.log
alert_orcl.log
[oracle@orcl:/u01/app/oracle/diag/rdbms/orcl/orcl/trace]$ 
[oracle@orcl:/u01/app/oracle/diag/rdbms/orcl/orcl/trace]$ tail -f  alert_orcl.log 
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6289.trc:
ORA-16038: log 2 sequence# 12 cannot be archived
ORA-19502: write error on file "", block number  (block size=)
ORA-00312: online log 2 thread 1: '/oradata/orcl/redo02.log'
ORA-00312: online log 2 thread 1: '/oradata/orcl/redo05.log'
USER (ospid: 6289): terminating the instance due to error 16038
System state dump requested by (instance=1, osid=6289), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_diag_6259_20240722102731.trc
Dumping diagnostic data in directory=[cdmp_20240722102731], requested by (instance=1, osid=6289), summary=[abnormal instance termination].
Instance terminated by USER, pid = 6289

找到原因,告警日志显示, 日志文件无法归档并且写入文件时发生错误,给出了 在线重做日志文件的路径。

2、排查错误

我首先检查了一下系统空间,根目录下的空间满了,可能是因为这个问题导致日志无法归档

[oracle@orcl:/u01/app/oracle/diag/rdbms/orcl/orcl/trace]$ df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/ol-root   10G   10G   24M  100% /
devtmpfs             2.0G     0  2.0G    0% /dev
tmpfs                3.9G     0  3.9G    0% /dev/shm
tmpfs                2.0G  9.0M  2.0G    1% /run
tmpfs                2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda1           1014M  135M  880M   14% /boot
/dev/mapper/ol-u01    75G  9.4G   66G   13% /u01
/dev/mapper/ol-tmp    10G   33M   10G    1% /tmp
tmpfs                396M     0  396M    0% /run/user/54321

3、解决方法

清除根目录下的没用文件,这里使用的是LVM,可以选择在线扩容。

这个环境的是自己电脑的虚拟机环境,我就把归档的日志都删了直接删了,生产可千万别这么干,生产硬盘应该也不会不足,哈哈

-- 查看参数文件归档路径
[oracle@orcl:/u01/app/oracle/product/11.2.0/db/dbs]$ cat spfileorcl.ora 
*.log_archive_dest_1='location=/archivelog'

[oracle@orcl:/archivelog]$ rm *
[oracle@orcl:/archivelog]$ ll
总用量 0
[oracle@orcl:/archivelog]$ 
[oracle@orcl:/archivelog]$ 
[oracle@orcl:/archivelog]$ 
[oracle@orcl:/archivelog]$ 
[oracle@orcl:/archivelog]$ df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/ol-root   10G  9.6G  461M   96% /
devtmpfs             2.0G     0  2.0G    0% /dev
tmpfs                3.9G     0  3.9G    0% /dev/shm
tmpfs                2.0G  9.0M  2.0G    1% /run
tmpfs                2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda1           1014M  135M  880M   14% /boot
/dev/mapper/ol-u01    75G  9.4G   66G   13% /u01
/dev/mapper/ol-tmp    10G   33M   10G    1% /tmp
tmpfs                396M     0  396M    0% /run/user/54321

成功启动数据库

SYS@orcl> startup;
ORACLE instance started.Total System Global Area 1653518336 bytes
Fixed Size		    2253784 bytes
Variable Size		  469765160 bytes
Database Buffers	 1174405120 bytes
Redo Buffers		    7094272 bytes
Database mounted.
Database opened.

关键字:Oracle数据库启动问题排查的一般流程-解决ORA-03113和ORA-16038错误

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: