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. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 13:36:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 13:36:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 13:36:03       45 阅读
  4. Python语言-面向对象

    2024-07-22 13:36:03       55 阅读

热门阅读

  1. 深入语音识别:贝叶斯准则的细致解析

    2024-07-22 13:36:03       18 阅读
  2. 从统计学、到机器学习和ChatGPT

    2024-07-22 13:36:03       17 阅读
  3. MobaXterm远程工具

    2024-07-22 13:36:03       21 阅读
  4. 【TORCH】获取第一个batch数值的几种方法

    2024-07-22 13:36:03       19 阅读
  5. [Python]使用pyttsx3将文字转语音

    2024-07-22 13:36:03       14 阅读
  6. 【QT】线程控制和同步

    2024-07-22 13:36:03       15 阅读
  7. [基础算法理论] --- 双指针

    2024-07-22 13:36:03       17 阅读
  8. PHP银行卡实名认证接口对接、银行卡识别

    2024-07-22 13:36:03       17 阅读
  9. 27. 移除元素【 力扣(LeetCode) 】

    2024-07-22 13:36:03       17 阅读
  10. HTML5+CSS3学习笔记第一天

    2024-07-22 13:36:03       15 阅读
  11. LeetCode 常见题型汇总

    2024-07-22 13:36:03       16 阅读
  12. electron 主进程和渲染进程通信

    2024-07-22 13:36:03       14 阅读
  13. 一个养殖类的网站的设计

    2024-07-22 13:36:03       17 阅读
  14. 基于深度学习的病变检测

    2024-07-22 13:36:03       16 阅读
  15. 阿里云服务器使用Docker安装JDK 8

    2024-07-22 13:36:03       13 阅读
  16. Model Import Settings

    2024-07-22 13:36:03       13 阅读