Oracle 9i 的性能问题,请大侠伸手

[复制链接]
查看11 | 回复7 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我的数据库是Oracle9i Enterprise Edition Release 9.2.0.4.0,以前一直没有问题,但最近出现了一个奇怪的问题:
现象:
1.应用程序在启动的时候需要加载一些数据到缓存中,以前,整个加载过程历时不到1分钟就可以结束,但昨天发现程序启动1个小时了,也没有加载完成。
2.我把数据库重起之后,数据库自身的线程占用内存下于100M,这时候程序运行状态非常好,但随着运行一段时间后,oracle自身的几个线程占用了小于300M的时候,我的程序从数据库中select的时候会非常慢,即使在sqlplus中也是这样
配置:
OS : AIX 4
Oracle : Oracle9i Enterprise Edition Release 9.2.0.4.0
Mem : 2G
Swap : 2G
系统情况:
这是当时的top情况:
top - 11:52:43 up 6 days,1:41,4 users,load average: 1.56, 1.79, 1.79
Tasks: 109 total, 1 running, 108 sleeping, 0 stopped, 0 zombie
Cpu(s):0.3% us,0.7% sy,0.0% ni, 49.1% id, 49.8% wa,0.0% hi,0.2% si
Mem: 2074808k total,2070516k used, 4292k free,40052k buffers
Swap:4096532k total,78024k used,4018508k free,1864304k cached
PID USERPRNIVIRTRESSHR S %CPU %MEMTIME+COMMAND

29924 oracle16 0477m 256m 254m S0.0 12.6 7:50.00 oracle

30952 oracle16 0477m 254m 252m S0.0 12.6 2:01.16 oracle

30946 oracle16 0476m 254m 252m S0.0 12.6 1:46.92 oracle

30916 oracle16 0477m 254m 252m S0.0 12.6 1:46.80 oracle

30924 oracle16 0477m 254m 252m S0.0 12.5 1:38.47 oracle

30948 oracle16 0476m 253m 252m S0.0 12.5 1:41.47 oracle

30950 oracle16 0477m 253m 251m S0.0 12.5 1:40.95 oracle

30928 oracle16 0476m 253m 251m S0.0 12.5 1:34.36 oracle

30936 oracle16 0477m 253m 251m S0.0 12.5 1:31.93 oracle

30977 oracle16 0477m 253m 251m S0.0 12.5 1:23.61 oracle
这是当时的vmstat情况:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
rb swpd free buffcache si sobibo incs us sy id wa
0178024 418840096 1862960001936 294053 54 38
0178024 438039952 186284400 4412835 1579 967 337 26 34
0178024 438439976 186282000 0 613 1197 41001 50 50
0178024 432040008 186278800 0 567 1157 35700 49 51
9778024 420040016 18630400087 900 1280 51572 44 48
0178024 374440056 186352000 1591817 1441 676 204 35 41
0178024 375240064 186351200 0 635 1181 39200 50 50
1178024 375240096 186348000 0 649 1176 39100 49 50
0178024 369240112 186372400 0 589 1167 36001 50 50
0178024 362840136 186370000 0 580 1155 35100 50 50
从上面看top的时候,CPU,内存,负载都比较正常,只是vmstat的bi不太正常。
数据检查:
在sqlplus中使用 select sid,event,p1,p1text from v$session_wait
WHERE EVENT NOT LIKE 'SQL*Net%'; 的结果也比较正常
我的数据库配置:
*.aq_tm_processes=1
*.compatible='9.2.0.0.0'
*.db_block_size=4096
*.db_cache_size=33554432
*.db_domain=''
*.db_file_multiblock_read_count=8
*.fast_start_mttr_target=300
*.hash_join_enabled=FALSE
*.instance_name='NADDB'
*.java_pool_size=52428800
*.job_queue_processes=10
*.large_pool_size=102400000
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=200
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=184800000
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=900
请大侠们多多帮忙,帮我找一下问题,或者告诉应该怎么去找问题,我现在是头疼之及,Help me !!!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你的large怎么这么大啊100来M,,还有你的DB_CATACH也有点小了吧,才30来M
先把这个调整一下看看,
上边除了ORACLE还有别的应用吗
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
sga配置有问题,慢到底慢在哪里?看top负载很小啊
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
这个服务器上没有其他的服务了,就只有Oracle,慢的情况体现在,运行select语句的时候,比如:一个条语句在sqlplus中执行,以前是1秒,现在是40秒,同样在应用程序中的查询也是这样的效果。 : show sga
Total System Global Area437327188 bytes
Fixed Size
451924 bytes
Variable Size
402653184 bytes
Database Buffers 33554432 bytes
Redo Buffers
667648 bytes
这里的 Variable Size 是太大了吧,我看有些帖子说SGA的大小应该是物理的1/2,是这样吗?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
db_cache_size=33554432太小。
看看共享池的使用情况。
SELECT 'shared pool' area, NAME, SUM (BYTES)
FROM v$sgastat
WHERE pool = 'shared pool'
AND NAME IN

('library cache', 'dictionary cache', 'free memory', 'sql area')
GROUP BY NAME
UNION ALL
SELECT 'shared pool' area, 'miscellaneous', SUM (BYTES)
FROM v$sgastat
WHERE pool = 'shared pool'
AND NAME NOT IN

('library cache', 'dictionary cache', 'free memory', 'sql area')
GROUP BY pool
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
large_pool_size= 102400000 100M
shared_pool_size=184800000 180M
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
操作系统级别有错误吗?
errpt -a
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
共享池的使用情况 :
AREANAME
SUM(BYTES)
----------- -------------------------- ----------
shared pool dictionary cache
1614976
shared pool free memory
18539188
shared pool library cache
72248344
shared pool sql area
83250784
shared pool miscellaneous
42450516

Library Cache的情况:
SQL> SELECT SUM(pins),SUM(reloads) FROM v$librarycache;
SUM(PINS) SUM(RELOADS)
---------- ------------
4186260711386
数据字典高速缓存情况:
SQL> SELECT (1-(SUM(getmisses)/(SUM(gets)+SUM(getmisses))))*100 FROM v$rowcache;
(1-(SUM(GETMISSES)/(SUM(GETS)+SUM(GETMISSES))))*100
---------------------------------------------------

99.8940162
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行