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

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

通过检查

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.

1 由于ARCHIVE挂起导致数据库挂死 2 NIT文件中SGA区设置太大,导致内存不够用,数据库和系统都挂死 3 由于临时表空间无法扩展导致数据库被挂起 4由于未打补丁导致RMAN备份时将数据库挂起 5由于BLOB类型的表记录数太多操作又太频繁导致数据库效率急差 6由于未对特大表(达到或超过100万条记录)定期做表分析导致数据库操作特别慢 7由于空间不够导致插入数据时扩展索引失败 8由于REDOLOG破坏导致数据库异常 9由于控制文件被破坏导致数据库无法正常启动 10由于数据文件丢失或破坏导致数据库无法正常启动 11由于空间参数设置不合理导致扩展表空间、索引等失败 12由于时间格式的环境变量设置问题导致话单无法入库 13由于大事务未使用大回滚段导致事务挂起 14由于数据库连接数太多导致服务器进程数多或内存耗尽 15由于使用了MTS方式,导致数据库操作特别慢(包括备份) 16由于存在一个大事务操作,导致数据库性能特别差或产生频繁日志切换 17由于没有COMMIT,导致数据库表被锁住 18索引创建不合理,导致数据库查询特别慢 19 由于BUFFER参数设置不合理导致EXP失败 20由于EXP不向上兼容,语言不兼容,导致不同版本、不同字符集的数据库无法导入 21 由于创建表空间时误将其创建在以‘本地管理’,导致在表空间上的所有对象无法修改其存储参数 22 错误地在系统表空间上建无关的数据文件 23 ORACLE客户端在P4上安装不成功 24由于LISTENER.ORA或TNSNAMES.ORA配置问题导致网络问题 25由于环境变量设置问题导致VERSOIN版本启动问题 26用户数据、表破坏下的数据恢复 27 由于OS层问题导致数据库ORA-600错误 .....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeBe@r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值