Oracle与MySQL数据库运行状态快速检查指南

数据库运行状态检查不能只看"进程在不在",而要从操作系统层面 和数据库层面 两方面综合判断。

操作系统正常,只能说明宿主环境基本可用;数据库查询正常,才能说明实例或服务真正处于可用状态。

一、Oracle数据库正常吗?运维常用检查步骤整理

先检查操作系统磁盘、负载、内存、Oracle/ASM进程是否正常,再登录数据库检查实例是否 OPEN、数据库是否 READ WRITE、SQL 查询是否正常返回,若均正常,则可判断 Oracle 数据库运行正常。

复制代码
Oracle 数据库状态检查顺序:

一、先检查操作系统层面
1. 查看磁盘空间
df -h

2. 查看主机负载
uptime

3. 查看内存使用
free -g

4. 查看 Oracle 关键进程
ps -ef | grep pmon
ps -ef | grep oracle

5. 如果使用 ASM,再查看磁盘组状态
su - grid
asmcmd lsdg

判断要点:
- 磁盘空间不能打满
- 负载不能明显异常过高
- 内存不能严重不足
- pmon 进程必须存在
- ASM 磁盘组状态应为 MOUNTED

二、再检查数据库层面
su - oracle
sqlplus / as sysdba

1. 查看实例状态
select instance_name,status,startup_time from v$instance;

2. 查看数据库状态
select name,open_mode,database_role from v$database;

3. 查看当前时间是否能正常返回
select systimestamp from dual;

4. 如果是 CDB/PDB,查看当前容器
show con_name;

判断要点:
- STATUS = OPEN
- OPEN_MODE = READ WRITE
- DATABASE_ROLE 与实际角色一致
- systimestamp 能正常返回
- PDB 名称正确

二、MySQL数据库正常吗?运维常用检查步骤整理

先检查操作系统磁盘、负载、内存、MySQL进程和服务状态,再登录数据库检查服务是否可响应、SQL是否可正常执行、运行时间是否正常增长;若均正常,则可判断MySQL数据库运行正常。

MySQL是否正常,不能只看进程是否存在,还要结合操作系统资源、服务状态和数据库响应情况综合判断。

复制代码
MySQL数据库状态检查顺序:

一、先检查操作系统层面
1. 查看磁盘空间
df -h

2. 查看主机负载
uptime

3. 查看内存使用
free -g

4. 查看 MySQL 进程
ps -ef | grep mysqld

5. 查看 MySQL 服务状态
systemctl status mysqld
或
systemctl status mysql

判断要点:
- 磁盘空间不能打满
- 主机负载不能明显异常过高
- 内存不能严重不足
- mysqld 进程必须存在
- MySQL 服务状态应为 active (running)

二、再检查数据库层面
1. 检查服务是否可响应
mysqladmin -uroot -p ping

2. 登录数据库
mysql -uroot -p

3. 查看版本和运行时间
select version();
show global status like 'Uptime';

4. 查看是否可正常执行SQL
select now();

5. 查看连接数
show global status like 'Threads_connected';

6. 查看监听端口
show variables like 'port';
show variables like 'socket';

判断要点:
- mysqladmin ping 返回 mysqld is alive
- 能正常登录数据库
- select now() 能正常返回结果
- Uptime 持续增长
- 连接数无明显异常
相关推荐
Zan16 分钟前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶1 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan2 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB2 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹3 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen3 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶4 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农6 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan6 小时前
搭建Oracle RAC 集群
数据库·oracle