简介:本文聚焦达梦数据库日常操作的核心环节,涵盖连接管理、SQL执行、备份恢复、性能监控及安全配置五大模块,通过代码示例与场景化解析,为开发者提供系统性操作指南。
达梦数据库(DM Database)的连接管理是日常操作的基础,需掌握两种核心连接方式:
命令行工具连接
使用disql工具(达梦交互式SQL工具)连接数据库,语法如下:
disql username/password@host:port
例如连接本地默认实例:
disql SYSDBA/SYSDBA@127.0.0.1:5236
关键参数说明:
SYSDBA:默认超级用户,拥有系统级权限 5236:达梦数据库默认端口 dm.ini配置文件中的PORT_NUM参数图形化工具连接
达梦管理工具(DM Manager)提供可视化操作界面,支持:
V$SESSION视图查看活跃会话
SELECT SID, SERIAL#, STATUS, PROGRAM FROM V$SESSION;
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
达梦兼容标准SQL语法,同时支持Oracle风格扩展:
-- 表创建示例(带注释)CREATE TABLE EMP (EMP_ID INT PRIMARY KEY,EMP_NAME VARCHAR(50) NOT NULL,DEPT_ID INT REFERENCES DEPT(DEPT_ID));-- 分页查询(达梦特有语法)SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM EMP ORDER BY EMP_ID) A WHERE ROWNUM <= 20) WHERE RN > 10;
SET AUTOCOMMIT OFF; -- 显式关闭自动提交BEGININSERT INTO EMP VALUES(1, '张三', 10);UPDATE DEPT SET BUDGET = BUDGET - 1000 WHERE DEPT_ID = 10;COMMIT; -- 或 ROLLBACK;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
使用dmrman工具执行全库备份:
dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO '/backup/full_backup' BACKUPSET '/backup/full_backup'"
关键参数:
FULL:表示全量备份 BACKUPSET:指定备份集目录通过dexp/dimp工具实现表级数据导出导入:
# 导出EMP表结构及数据dexp SYSDBA/SYSDBA@localhost:5236 FILE=/export/emp.dmp TABLES=EMP# 导入到目标库dimp SYSDBA/SYSDBA@target_host:5236 FILE=/export/emp.dmp TABLES=EMP
基于归档日志实现PITR(时间点恢复):
dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/backup/full_backup'"dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' TO TIME '2023-08-01 12:00:00'"
V$SYSTEM_EVENT:系统等待事件统计
SELECT EVENT, TOTAL_WAITS, TIME_WAITED FROM V$SYSTEM_EVENTORDER BY TIME_WAITED DESC FETCH FIRST 10 ROWS ONLY;
V$SQLAREA:SQL执行统计
SELECT SQL_TEXT, EXECUTIONS, ELAPSED_TIME/1000000 "总耗时(s)"FROM V$SQLAREA ORDER BY ELAPSED_TIME DESC;
CREATE INDEX IDX_EMP_DEPT ON EMP(DEPT_ID, EMP_ID);
SELECT * FROM V$OBJECT_USAGE WHERE INDEX_NAME = 'IDX_EMP_DEPT';
CREATE ROLE HR_MANAGER;GRANT SELECT, INSERT ON EMP TO HR_MANAGER;GRANT HR_MANAGER TO USER1;
-- 列级权限控制GRANT UPDATE(SALARY) ON EMP TO USER2;
启用SQL审计:
-- 修改dm.ini参数SVR_LOG_AUDIT_LEVEL = 4 -- 启用审计AUDIT_WRITE_MODE = 2 -- 同步写入审计日志-- 创建审计规则CALL SP_SET_AUDIT_RULE('EMP_AUDIT', 'TABLE', 'EMP', 'ALL');CALL SP_ENABLE_AUDIT_RULE('EMP_AUDIT');
systemctl status dmserver
netstat -tulnp | grep 5236
firewall-cmd --list-ports | grep 5236
使用达梦性能诊断工具(DM Performance Analyzer):
dmaperf COLLECT INTERVAL=5 DURATION=60 OUTPUT=/perf/report
生成报告后重点分析:
#!/bin/bash# 每日备份脚本示例BACKUP_DIR="/backup/daily_$(date +%Y%m%d)"mkdir -p $BACKUP_DIRdmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO '$BACKUP_DIR'"
V$ALERT_LOG视图获取系统告警 达梦数据库的日常操作需要兼顾功能实现与系统稳定性,本文从基础连接管理到高级性能调优,系统梳理了关键操作要点。实际运维中建议:
通过规范化操作与主动式运维,可显著提升达梦数据库的运行效率与数据安全性,为企业数字化转型提供坚实的数据支撑。