南大通用GBase 8c数据库定位数据库故障,可从以下方面进行排查分析:
- 日志:数据库日志记录了数据库服务端启动、运行或停止时出现的问题,当数据库在启动、运行或停止的过程中出现问题时,数据库用户可以通过运行日志快速分析问题的产生原因,并根据不同的原因采取相应的处理方法,尽可能地解决问题。
- 视图:数据库提供了许多视图,用于展示数据库的内部状态,在定位故障时,经常使用的视图如下:
- pg_stat_activity,用于查询当前实例上各个 session 的状态。
- pg_thread_wait_status,用于查询该实例上各个线程的等待事件。
- pg_locks,用于查询当前实例上的锁状态。
- CORE 文件:数据库相关进程在运行过程中可能会因为各种意外情况导致数据库崩溃(Coredump),而崩溃时产生的 core 文件对于迅速定位程序崩溃的原因及位置非常重要。如果进程运行时出现 Coredump 现象,建议立即收集 core 文件便于分析、定位故障。
- 对性能有一定的影响,尤其是进程频繁异常时对性能的影响更大。
- core 文件会占用磁盘空间。因此,当检查到 core 文件产生后,应及时解决以避免对操作系统带来更严重的影响。操作系统自带 core dump 机制。开启后,系统中所有出现 Coredump 问题时都会生成 core 文件,对操作系统带来性能和磁盘占用的影响。
- 设置 core 文件生成路径。修改/proc/sys/kernel/core_pattern 内容。# cat /proc/sys/kernel/core_pattern /data/jenkins/workspace/GBase 8cInstall/dbinstall/cluster/corefile/core-%e-%p-%t