目錄
一、添加自定義計數(shù)器的方法
1、要創(chuàng)建自定義查詢,請執(zhí)行以下操作:
2、配置文件示例對象
二、常用自定義計數(shù)器列表
三、LR中監(jiān)控ORACLE數(shù)據(jù)庫常用計數(shù)器遇到問題及處理
一、添加自定義計數(shù)器的方法
1、要創(chuàng)建自定義查詢,請執(zhí)行以下操作:
1.?在安裝路徑的Mercury LoadRunner\dat\monitors找到vmon.cfg文件,打開。
2. 在vmon.cfg文件的第三行中,CustomCounters=指出要創(chuàng)建的自定義計數(shù)器個數(shù)。
3. 在vmon.cfg文件中為新計數(shù)器新建一節(jié),每節(jié)都有以下格式:
? ? ?[Custom0]
? ? ?Name=Five Hundred
Description=This counter always returns 500.
Query=SELECT 500 FROM DUAL
IsRate=0
4.?在[Custom#]行,將計數(shù)器順序中的下一個數(shù)字分配給新的自定義計數(shù)器。
注意:自定義計數(shù)器必須是以數(shù)字0開始的聯(lián)系順序。
5.在Name行,輸入新計數(shù)器的名稱(可以輸入中文)。
6. 在Description行,輸入對該計數(shù)器的描述或解釋(可以輸入中文)。
7.??在Query行,輸入恰好返回數(shù)據(jù)庫一行的SQL查詢的文本,該行必須包含一列數(shù)值。
注意:自定義查詢文本不能夠超過512字符。
8.?在IsRate行,如果希望數(shù)據(jù)庫將計數(shù)器報告為一個絕對值,請輸入0;如果希望數(shù)
據(jù)庫報告每單位時間計數(shù)器的更改,請輸入1。
注意:自定義查詢無法返回負(fù)值。
例:
[Custom0]
;Name must be unique
Name=庫快存命中率
Description=該計數(shù)器返回當(dāng)前庫快存命中率
Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache?
IsRate=0
2、配置文件示例對象
安裝路徑的Mercury LoadRunner\dat\monitors找到vmon.cfg文件:
V$ Monitor]
Counters=150
CustomCounters=12
;How many seconds for each data sample?
SamplingRate=10
[Custom0]
;Name must be unique
Name=庫快存命中率
Description=該計數(shù)器返回當(dāng)前庫快存命中率
Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache?
IsRate=0
[Custom1]
;Name must be unique
Name=高速緩存區(qū)命中率
Description=oracle database shoot straight
Query=SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END ?DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END ?CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets'))
IsRate=0
[Custom2]
;Name must be unique
Name=共享區(qū)庫緩存區(qū)命中率
Description=命中率應(yīng)大于0.99
Query=Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache
IsRate=0
[Custom3]
;Name must be unique
Name=共享區(qū)字典緩存區(qū)命中率
Description=命中率應(yīng)大于0.85
Query=Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache
IsRate=0
[Custom4]
;Name must be unique
Name=檢測回滾段的爭用
Description=應(yīng)該小于1%
Query=select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat
IsRate=0
[Custom5]
;Name must be unique
Name=檢測回滾段收縮次數(shù)
Description=應(yīng)該小于1%
Query=select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn
IsRate=0
[Custom6]
;Name must be unique
Name=監(jiān)控表空間的I/O讀總數(shù)
Description=監(jiān)控表空間的I/O
Query=select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0
[Custom7]
;Name must be unique
Name=監(jiān)控表空間的I/O塊讀總數(shù)
Description=監(jiān)控表空間的I/O
Query=select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0
[Custom8]
;Name must be unique
Name=監(jiān)控表空間的I/O寫總數(shù)
Description=監(jiān)控表空間的I/O
Query=select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0
.
.
.
.
.
(以上為12個自定義的計數(shù)器,以下為LR工具自帶的計數(shù)器)
[0]
Name=CPU used by this session
Description=This is the amount of CPU time (in 10s of milliseconds) used by a session between when a user call started and ended. Some user calls can complete within 10 milliseconds and as a result, the start and end user-call time can be the same. In this case, 0 milliseconds are added to the statistic. A similar problem can exist in the reporting by the operating system, especially on systems that suffer from many context switches.
IsRate=0
[1]
Name=CPU used when call started
Description=The CPU time used when the call is started.
IsRate=0
二、常用自定義計數(shù)器列表
1、 ? 數(shù)據(jù)高速緩存區(qū)命中率 ? ? ? ?
SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END ?DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END ?CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets')) ? ? ? ?(監(jiān)控 SGA 的命中率)命中率應(yīng)大于0.90最好
2、 ? 庫快存命中率 ? ? ?
SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache
?該計數(shù)器返回當(dāng)前庫快存命中率
3 、 ?共享區(qū)庫緩存區(qū)命中率 ? ? ?
Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache ? ? ?
?(監(jiān)控 SGA 中共享緩存區(qū)的命中率)命中率應(yīng)大于0.99
4、 ? 監(jiān)控 SGA 中字典緩沖區(qū)的命中率 ? ? ? ?
Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache ? ?
(共享區(qū)字典緩存區(qū)命中率)命中率應(yīng)大于0.85
5、 ? 檢測回滾段的爭用 ? ? ?
?select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat ? ? ? ?小于1%
6、 ? 檢測回滾段收縮次數(shù) ? ? ?
select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn ?
?7、 ? 監(jiān)控表空間的 I/O讀總數(shù) ? ? ?
select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id ? ? ? ?
監(jiān)控表空間的 I/O
8、 ? ?監(jiān)控表空間的 I/O塊讀總數(shù) ? ? ? ?
select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id ? ?
? ?監(jiān)控表空間的 I/O
9、 ? ?監(jiān)控表空間的 I/O寫總數(shù) ? ?
select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id ? ? ? ?
監(jiān)控表空間的 I/O
10、 ?監(jiān)控表空間的 I/O塊寫總數(shù) ? ? ? ?
select sum(f.phyblkwrt) pbw ?from v$filestat f, dba_data_files df where f.file# = df.file_id ?
?監(jiān)控表空間的 I/O11、 ? 監(jiān)控 SGA 中重做日志緩存區(qū)的命中率 ? ? ?
SELECT Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2 FROM v$latch WHERE name IN ('redo copy') ? ? ? ?
應(yīng)該小于1%
12、 ? 監(jiān)控內(nèi)存和硬盤的排序比率 ? ? ? ?
select round(sum(case when name='sorts (disk)' then value else 0 end) / sum(case when name='sorts (memory)' then value else 0 end)*100,2) from (SELECT ?name, value FROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)')) ?
最好使它小于 10%
13、ORACLE常用自定義計數(shù)器列表
以下是一些常用的ORACLE自定義計數(shù)器列表,包含字段:序號、監(jiān)控名稱、SQL算法和說明。
序號 | 監(jiān)控名稱 | SQL算法 | 說明 |
---|---|---|---|
1 | Buffer Cache Hit Ratio | (1 - (physical_reads / (db_block_gets + consistent_gets))) * 100 | 表示緩沖區(qū)高速緩存命中率,用于評估數(shù)據(jù)庫的性能。 |
2 | CPU Usage | (1 - (value1 / (value1 + value2))) * 100 | 表示CPU的使用率,用于評估系統(tǒng)的負(fù)載情況。 |
3 | Disk Sorts Ratio | (disk sorts / (memory sorts + disk sorts)) * 100 | 表示磁盤排序比率,用于評估系統(tǒng)是否頻繁進(jìn)行磁盤排序操作。 |
4 | Library Cache Hit Ratio | (1 - (pins / (pins + reloads))) * 100 | 表示庫緩存高速緩存命中率,用于評估SQL語句的共享情況。 |
5 | Log Buffer Space | ((value1 - value2) / value3) * 100 | 表示日志緩沖區(qū)的使用情況,用于評估日志寫入的效率。 |
6 | PGA Memory Usage | (value1 / value2) * 100 | 表示PGA內(nèi)存的使用率,用于評估排序、哈希等操作的內(nèi)存消耗情況。 |
7 | Redo Log Space Requests | (value1 / value2) * 100 | 表示重做日志空間請求的比率,用于評估重做日志的使用情況。 |
8 | Shared Pool Free Memory | (value1 / value2) * 100 | 表示共享池的空閑內(nèi)存比率,用于評估共享SQL和PL/SQL代碼的緩存情況。 |
9 | Table Lock Contention | (value1 / value2) * 100 | 表示表級鎖爭用的比率,用于評估表級鎖的使用情況。 |
10 | User Sessions | value1 | 表示當(dāng)前活動的用戶會話數(shù)量,用于評估數(shù)據(jù)庫的并發(fā)連接數(shù)。 |
請注意,這只是一些常見的ORACLE自定義計數(shù)器,具體選擇和定制計數(shù)器應(yīng)根據(jù)實際需求和環(huán)境來決定。
三、LR中監(jiān)控ORACLE數(shù)據(jù)庫常用計數(shù)器遇到問題及處理
當(dāng)在LR中監(jiān)控Oracle數(shù)據(jù)庫時,常用的計數(shù)器包括:
- Oracle Active Sessions:顯示正在執(zhí)行的活動會話數(shù)。
- Oracle Database Time:顯示連接到Oracle數(shù)據(jù)庫的總時間。
- Oracle Transactions/sec:顯示每秒鐘處理的事務(wù)數(shù)。
- Oracle CPU Time:顯示Oracle數(shù)據(jù)庫使用的總CPU時間。
- Oracle Wait Time:顯示等待數(shù)據(jù)庫處理的總時間。
如果遇到監(jiān)控Oracle數(shù)據(jù)庫的計數(shù)器無法顯示數(shù)據(jù)或顯示錯誤,可以考慮以下處理方法:
-
檢查數(shù)據(jù)庫連接:確保LR能夠成功連接到Oracle數(shù)據(jù)庫??梢試L試重新連接或重啟LR來排除可能的連接問題。
-
檢查LR版本:確認(rèn)LR版本是否支持所需的Oracle計數(shù)器。如果LR版本過舊,則可能不支持最新版本的Oracle數(shù)據(jù)庫。
-
檢查權(quán)限:確保LR用戶具有足夠的權(quán)限來讀取Oracle數(shù)據(jù)庫的計數(shù)器??梢試L試使用具有更高權(quán)限的用戶重新連接數(shù)據(jù)庫。
-
檢查數(shù)據(jù)庫配置:確認(rèn)Oracle數(shù)據(jù)庫是否正確配置以允許LR監(jiān)控計數(shù)器??赡苄枰聰?shù)據(jù)庫配置文件或更改數(shù)據(jù)庫參數(shù)。
-
檢查網(wǎng)絡(luò)連接:確保LR能夠與Oracle數(shù)據(jù)庫進(jìn)行通信。可以嘗試使用其他工具測試網(wǎng)絡(luò)連接是否正常。文章來源:http://www.zghlxwxcb.cn/news/detail-613195.html
總的來說,當(dāng)在LR中監(jiān)控Oracle數(shù)據(jù)庫時,遇到問題時需要逐一排查問題的原因并采取相應(yīng)的處理方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-613195.html
到了這里,關(guān)于LR中監(jiān)控ORACLE數(shù)據(jù)庫常用計數(shù)器(如何自定義Oracle計數(shù)器)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!