日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

达梦数据库卡慢简单分析

發(fā)布時間:2023/12/2 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 达梦数据库卡慢简单分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.檢查是否有鎖表

????????查詢鎖表:select sess_id,sql_text from v$sessions sess,v$lock lck where ????????sess.trx_id=lck.trx_id and lck.blocked=1; --查詢僵死會話

????????解鎖:根據(jù)會話ID,停止會話

????????sp_close_session(sess_id);

?2.根據(jù)v$sessions,V$LONG_EXEC_SQLS,確認(rèn)sql是否需要優(yōu)化

????????select * from v$sessions;--根據(jù)情況,可關(guān)閉執(zhí)行卡死的會話。

3.根據(jù)v$connect 確認(rèn)連接數(shù)是否過高

?select * from V$CONNECT?where STATUS$='ACTIVE';--查詢正在使用的連接

4.根據(jù)DM性能監(jiān)視工具-性能監(jiān)視-資源監(jiān)控-sql硬解析頻率是否過高,運(yùn)行參數(shù)配置是否合理

? ? ? ?1 sql硬解析引起的并發(fā)數(shù)限制,可查詢出訪問次數(shù)較高的幾個功能界面和執(zhí)行率較

????????高的硬解析語句,優(yōu)化功能的sql執(zhí)行方式。?

? ? ? ? 如:select * from test where id='123'; 改成 select * from test? where id=? 方式執(zhí)行。

或select para_value from V$DM_INI ?where para_name='USE_PLN_POOL';

????????2? 運(yùn)行參數(shù)配置不合理,可修改配置

? ? ? ?

????????如查詢:select? * from V$DM_INI? where para_name='HJ_BUF_GLOBAL_SIZE';
????????調(diào)整:alter system set 'HJ_BUF_GLOBAL_SIZE' =5000? both;

5.檢查系統(tǒng)資源

?????? cup使用率、運(yùn)行內(nèi)存使用率,磁盤使用率,IO使用是否過高,是否使用的機(jī)械硬盤有壞道等,

????????影響數(shù)據(jù)庫運(yùn)行。

? ? ? ? 系統(tǒng)資源不足可升級硬件或部署達(dá)夢讀寫分離的集群模式,分?jǐn)倝毫Α?/p>

注:DM7版本事務(wù)控制期間insert,delete ,update過程中,引起的select卡慢,可升級到DM8版本解決。

6.檢查表數(shù)據(jù)量是否存儲的比較多

? ? ? ? 表數(shù)據(jù)過多引起的sql卡慢,可對存儲數(shù)據(jù)量過多的表 分區(qū)或者分表 嘗試解決,

????????對數(shù)據(jù)量巨多的可分表+分區(qū)聯(lián)合使用解決查詢卡慢的問題。

? ? ? ? 如:test表數(shù)據(jù)過多,根據(jù)登錄賬號的usernameid創(chuàng)建hash分區(qū) (DM8_創(chuàng)建分區(qū)腳本)

????????????????CREATE TABLE "TEST_1"
????????????????(
????????????????"ID" VARCHAR2(32) NOT NULL,
????????????????"USERNAMEID" VARCHAR2(32),
????????????????"COLNAME1" VARCHAR2(199),
????????????????"COLNAME2" VARCHAR2(1) ) partition by hash (USERNAMEID) partitions 16 ? ;

????????????????alter table TEST rename to TEST_BAK;
????????????????alter table TEST_1 rename to TEST;
????????????????INSERT INTO TEST SELECT * FROM TEST_BAK;commit;

? ? ? ? CREATE ?INDEX "TEST_USERNAMEID_COLNNAME1" ON TEST("USERNAMEID" ASC,"COLNAME1" ASC) GLOBAL ? ;--分區(qū)索引

alter table TEST enable row movement;--允許分區(qū)字段更新

7.查找出耗時的sql進(jìn)行優(yōu)化

1.通過試圖查詢歷史執(zhí)行的sql

select * from V$SQL_HISTORY where time_used>3000000 order by ?start_time desc;--查詢出執(zhí)行時間超過3s的sql;

2 通過sql日志文件分析,歷史執(zhí)行的sql運(yùn)行的情況

????????如:windows 系統(tǒng)查詢耗時在10s以上的sql語句.

????????使用notepad++文本編輯器,打開達(dá)夢sql日志文件,ctrl+h打開搜索框輸入正則查詢

????????條件點(diǎn)擊全部標(biāo)記,可將耗時在10s以上的所有sql查詢出來并標(biāo)記;

????????點(diǎn)擊搜索-書簽->復(fù)制書簽行,可以將標(biāo)記的所有耗時在10s以上的sql拷貝出來。

?

?linux 系統(tǒng):查詢耗時在10s以上的sql語句.

grep -n '[0-9]\{5,10\}[(][m][s][)]' /mnt/e/dmdbms/log/dmsql_DMSERVER_20220303_171739.log

????????輸入以上命令可查詢出耗時在10s以上的sql,

????????/mnt/e/dmdbms/log/dmsql_DMSERVER_20220303_171739.log :達(dá)夢sql日志所在路徑。

????????'[0-9]\{5,10\}[(][m][s][)]'? ?:正則查詢條件

總結(jié)

以上是生活随笔為你收集整理的达梦数据库卡慢简单分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。