达梦数据库使用记录
1. 达梦视图sql记录
1.1 显示最近 1000 条执行时间较长的 SQL 语句
-- 显示最近 1000 条执行时间较长的 SQL 语句
SELECT * FROM V$LONG_EXEC_SQLS;
实际用起来没有效果
1.2 显示服务器启动以来执行时间最长的 20条 SQL 语句
-- 显示服务器启动以来执行时间最长的 20条 SQL 语句
SELECT * FROM V$SYSTEM_LONG_EXEC_SQLS
order by finish_time desc;
实际用起来没有效果
1.3 查询历史SQL
-- 查询历史SQL
SELECT * FROM V$SQL_HISTORY
WHERE TIME_USED > 1000;
实际用来数据完全错乱;有个单表插入,在这里经常会显示好几秒,甚至超过10秒,但是在我接口日志中,基本都是几毫秒
1.4 查询错误SQL
-- U =用户异常,S =系统异常,P =语法异常
SELECT * FROM V$RUNTIME_ERR_HISTORY;
能查到错误SQL,但是稍微长一点,SQL里面会自动截断,无法查看完整的
2. 达梦配置调整
- 开启日志写文件
SELECT * FROM V$DM_INI where "PARA_NAME" = 'SVR_LOG';
SP_SET_PARA_VALUE(1,'SVR_LOG',1);
- 修改日志文件配置,设置慢SQL日志文件数量和执行时间
-- sqllog.ini为配置文件,修改这里面
/data/dm/dmdata/DAMENG/sqllog.ini
-- 修改完后使用SYSDBA登录后重新加载配置
SP_REFRESH_SVR_LOG_CONFIG();
3. 达梦异常记录
- 批量插入或更新时,会特别慢,改为拼接SQL后会好很多