|
上个星期四,做了应用分割,因为我们使用终端服务器,我仅仅能解决这部分,占很大的比例.
做法很简单:
建立两个服务:
一个连接实例1优先,另外一个连接实例2优先.
修改各个终端服务器的tnsnames.ora 配置,测试OK.
现在查询:
WITH system_event AS
(SELECT CASE
WHEN wait_class IN ('User I/O', 'System I/O')
THEN event ELSE wait_class
END wait_type, e.*
FROM v$system_event e)
SELECT wait_type, SUM(total_waits) / 1000 waits_1000,
ROUND(SUM(time_waited_micro) / 1000000 / 3600, 2)
time_waited_hours,
ROUND(SUM(time_waited_micro) / SUM(total_waits) / 1000, 2)
avg_wait_ms,
ROUND( SUM(time_waited_micro)
* 100
/ SUM(SUM(time_waited_micro)) OVER (), 2)
pct
FROM (SELECT wait_type, event, total_waits, time_waited_micro
FROM system_event e
UNION
SELECT 'CPU', stat_name, NULL, VALUE
FROM v$sys_time_model
WHERE stat_name IN ('background cpu time', 'DB CPU')) l
WHERE wait_type <> 'Idle'
GROUP BY wait_type
ORDER BY SUM(time_waited_micro) DESC;
如图:
Cluster 等待下降许多,原来升级前接近10%,没有分割前5%上下,现在仅仅3%. |
|