数据库进程与实例状态
进程存活检查:
执行 ps -ef | grep dmserver | grep -v grep,无输出说明进程已终止。
手动启动:进入达梦二进制目录(DM_HOME/bin),执行 ./dmserver /dm/data/DAMENG/dm.ini(指定实例配置文件),若启动失败,会在控制台直接输出报错(如 “数据文件损坏”“端口被占用”)。
实例健康检查:
用 disql 连接后,执行 select status from v$instance;,返回 “OPEN” 表示实例正常运行,“MOUNT” 表示仅挂载未开放连接,“SHUTDOWN” 表示已关闭。
表空间状态:执行 select tablespace_name, status from dba_tablespaces;,若状态为 “OFFLINE”,需执行 alter tablespace 表空间名 online; 恢复(多因磁盘空间不足或文件损坏导致)。
连接与锁冲突排查
连接失败细分场景:
提示 “用户名或密码错误”:确认账号密码是否正确,执行 alter user SYSDBA identified by 新密码; 重置密码。
提示 “网络无法连接”:检查目标服务器 IP 是否可达(ping IP)、端口是否开放(telnet IP 5236)。
锁冲突(业务卡顿常见原因):
执行 select * from vlock; 查看锁持有情况,重点关注 LOCK_MODE(锁模式)、WAIT_FOR_LOCK(是否等待锁)。
找到阻塞会话:select a.sess_id, a.sql_text, b.sess_id block_sess from vsession a, v$lock b where a.sess_id = b.sess_id and b.wait_for_lock = 1;,通过 sp_close_session(阻塞会话ID); 关闭阻塞会话。
三、工具辅助:具体工具用法 + 场景适配