暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

达梦日常简单运维SQL

原创 平凡 2021-08-31
615

1.生成AWR数据库运行报告。

1、启用AWR包: call SP_INIT_AWR_SYS(1); 2、查询AWR快照: SELECT * FROM SYS.WRM$_SNAPSHOT; 3、设置快照间隔,如果不设置快照间隔,手动执行快照后SYS.WRM$_SNAPSHOT视图中没有记录: CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(50); --该间隔为50分钟生成一次 4、在两个时间点分别手动创建快照,或者等待系统自动生成: 10:00时创建第一快照: call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); 30分钟后再创建一个,10:30, call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); 5、查询AWR快照: SELECT * FROM SYS.WRM$_SNAPSHOT; 6、创建AWR报告,SYS.AWR_REPORT_HTML(快照ID1,快照ID2,'AWR报告存放路径','AWR报告名称.HTLM');: SYS.AWR_REPORT_HTML(1,2,'C:\','AWR1.HTML'); 7、关闭AWR包: call SP_INIT_AWR_SYS(0); --由于AWR报告主要用于分析一定周期内的数据库运行情况,在使用完后建议选择关闭;

2.查看当前数据库环境下慢于5秒的SQL;

select * from ( SELECT sess_id,sql_text,datediff(ss,last_send_time,sysdate) ss, SF_GET_SESSION_SQL(SESS_ID) fullsql FROM V$SESSIONS WHERE STATE='ACTIVE' and sess_id <> sessid()) where ss>=1; --ss>=1表示1秒及以上的慢SQL,可以替换成其他时间;

3.当出现死锁的情况,可以通过执行一下SQL;

select O.OBJECT_NAME ,S.SESS_ID,S.SQL_TEXT,L.ADDR,L.TRX_ID,L.LTYPE,L.LMODE,L.BLOCKED,L.TABLE_ID,L.ROW_IDX FROM V$LOCK L,DBA_OBJECTS O,V$SESSIONS S WHERE L.TABLE_ID=O.OBJECT_ID AND L.TRX_ID=S.TRX_ID AND L.BLOCKED=1; --清除阻塞SQL; SP_CLOSE_SESSION(上述查到的SESS_ID);
最后修改时间:2021-09-06 14:45:18
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论