本文发表在 rolia.net 枫下论坛1、问题来源:用户用JDBC thin client访问数据库Oracle 8.1.7.4,说非常慢。
2、服务器是Unix,Oracle SGA开始定义为2.5G,后来我一查,靠,机器才有2G内存,一年多前是4G。估计是拔了内存没改数据库配置。难怪整天看到I/O。改为1.3G SGA以后,I/O正常
3、用户的表误建在system表空间 --- 哎,我就不说啥了,不知道是哪位DBA的大作。
4、用户所有的表加起来也才300多M,但凡是他运行一些稍微复杂一点的SQL,CPU就高达99.9%
5、该建的index都没问题
6、SGA的配置为:
Total System Global Area 1414280164 bytes
Fixed Size 103396 bytes
Variable Size 626417664 bytes
Database Buffers 786432000 bytes
Redo Buffers 1327104 bytes
在Unix上运行的sample SQL为
DELETE FROM loader_queue
WHERE EXISTS (SELECT 1
FROM loader_temp_lqv_dailies s
WHERE loader_queue.kpi_sid = s.kpi_sid
AND loader_queue.time_period_sid = s.time_period_sid
AND loader_queue.day_nr = s.day_nr
AND loader_queue.unit_lookup_id = s.unit_lookup_id)
问题:除了更换更强的CPU,还有什么计?老板坚持认为和CPU无关,虽然那是个几年前的老掉牙533 MHZ的Alpha cpu
即使把用户的表移出系统表空间system,会得到实质性的提高?更多精彩文章及讨论,请光临枫下论坛 rolia.net
2、服务器是Unix,Oracle SGA开始定义为2.5G,后来我一查,靠,机器才有2G内存,一年多前是4G。估计是拔了内存没改数据库配置。难怪整天看到I/O。改为1.3G SGA以后,I/O正常
3、用户的表误建在system表空间 --- 哎,我就不说啥了,不知道是哪位DBA的大作。
4、用户所有的表加起来也才300多M,但凡是他运行一些稍微复杂一点的SQL,CPU就高达99.9%
5、该建的index都没问题
6、SGA的配置为:
Total System Global Area 1414280164 bytes
Fixed Size 103396 bytes
Variable Size 626417664 bytes
Database Buffers 786432000 bytes
Redo Buffers 1327104 bytes
在Unix上运行的sample SQL为
DELETE FROM loader_queue
WHERE EXISTS (SELECT 1
FROM loader_temp_lqv_dailies s
WHERE loader_queue.kpi_sid = s.kpi_sid
AND loader_queue.time_period_sid = s.time_period_sid
AND loader_queue.day_nr = s.day_nr
AND loader_queue.unit_lookup_id = s.unit_lookup_id)
问题:除了更换更强的CPU,还有什么计?老板坚持认为和CPU无关,虽然那是个几年前的老掉牙533 MHZ的Alpha cpu
即使把用户的表移出系统表空间system,会得到实质性的提高?更多精彩文章及讨论,请光临枫下论坛 rolia.net