急:oracle的速度越来越慢?(参加讨论给分)

gaobh 2003-10-08 08:10:33
这几天碰到一个头痛的问题,用户那边反映oracle在重新启动时很快,但运行几天下来速度就变得越来越慢,不知道是什么问题?各位有没有碰到相同的现象?
运行环境:hp-lh6000 内存512m,硬盘9G+18G
操作系统:scounix 7.3.4
数据库 :shared pool size 100m
db_block_buffers*db_block_size=100m
回滚段 :4个,合计100m
数据量 :exp的文件600m
其中有三个表容量一百多万条记录,别的表不大.
大概就这些了.

...全文
339 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaobh 2003-10-16
  • 打赏
  • 举报
回复
谢谢各位,由于这些天出差没有能及时结分,我将按照大家上面的做法,再试试
awjx 2003-10-14
  • 打赏
  • 举报
回复
我再做一个总结:你说的所问题只跟一问题有关,就是系统(硬件或软件)的性能有问题!
只要解决这个问题,所有的问题就了了!
lujing19 2003-10-14
  • 打赏
  • 举报
回复
病毒的原因基本可以排除啦,百万级的表这样的配置应该也够,看看内存碎片吧
szocean 2003-10-14
  • 打赏
  • 举报
回复
上面分析都有道理。呵呵,这差不多有点像WIN98了。。。关注!
davidtc 2003-10-13
  • 打赏
  • 举报
回复
配置低了
合计100M少了,照你的数据量,怎么也得4个100M啊(恐怕也少了)
硬盘9 + 18 ,估计没有raid吧,性能差了
hp-lh6000,如果我没记错的话,cpu应该是2 x 至强550MHz 吧,比P4慢多啦,不过CPU不是主要问题,还是硬盘和内存,还有回滚段。
basagx 2003-10-13
  • 打赏
  • 举报
回复
gz
itti 2003-10-13
  • 打赏
  • 举报
回复
我想是内存资源耗尽的表现。
  • 打赏
  • 举报
回复
有可能是客户端占用的连接没有释放,不停地连接了许多次,浪费了资源。
Santos 2003-10-13
  • 打赏
  • 举报
回复
可从如下两个方面寻找解决途径:
1、sql语句,在某个客户端打开sql plus,分别执行insert、update、delete和select(加条件和不加任何条件)

如果发现执行insert、update、delete时,速度明显慢,则需要仔细察看索引、视图、触发器等是否合理,不合理的改掉;
如果发现select语句慢,说明索引或回滚段有问题,或者索引设置不合理,如重复建立索引;或者回滚段太小,并发用户多时,影响了速度。

2、调整数据库参数
shared pool size和db_block_buffers*db_block_size按参考值中的中型或大型去值,参数配置文件中有参考值。
回滚段多设,如4个100m,再加一个large的,如1024m,oracle会自己管理这些空间的,不会造成浪费的。不必担心。
playmud 2003-10-13
  • 打赏
  • 举报
回复
1,硬盘作raid速度会比原来一块硬盘慢,随意没有raid不是性能差,而是安全性差。
2,SHARED_POOL_SIZE 已经够大了,可以减小到40m看看,100m有些大,你的内存有1G吗?
3,数据才百万,你的系统足够了,肯定不是硬件问题。
楼上很多建议不错,查出原因才好解决。
yinzzz 2003-10-12
  • 打赏
  • 举报
回复
mark
major16 2003-10-12
  • 打赏
  • 举报
回复
将索引重建
angelgundam 2003-10-12
  • 打赏
  • 举报
回复
系统资源不足吧,或者是硬盘太久没整理了,磁盘碎片太多,整理一下吧。
codecopyking 2003-10-12
  • 打赏
  • 举报
回复
如下步骤试一试:
1、如果数建立很久,可以把数据导出来,重建数据库
2、把几个数据行多的大表分区并确保建立索引
3、对几个大表的操作建立专门的回滚段
xfkk 2003-10-12
  • 打赏
  • 举报
回复
gz
yuxuan 2003-10-11
  • 打赏
  • 举报
回复
影响性能几个方面:
1.碎片影响,包括表空间和硬盘盘区碎片

2.操作系统和网络性能影响

3.磁盘I/O影响

4.是否合理建立索引

5.参数配置合理性

hrb_qiuyb 2003-10-10
  • 打赏
  • 举报
回复
稍总结一下:

1、慢的问题是一个很有意思的问题,有些时侯让你无从下手,不过还是有一定的检查步骤的。

2、我们应该先确定问题,是什么操作慢(select,update,insert还是其它),对哪个表的的操作慢.

3、观注一下操作系统,用sar、vmstat等一些工具观注一下cpu、内存的繁忙程序,哪个进程占的资源大,然后看一下这个进程执行的要sql,分析一下sql看其写的是否合理。

4、大于大表,分区是很必要的,况且你的配置又不是很高。

5、在库中我们应该观注一下v$session_wait这个视图,它能体现出一些直的原因,可以用如下的语句看哪种等待事件多。
select * from v$session_wait where event not like '%SQL%';


Chuff 2003-10-10
  • 打赏
  • 举报
回复
gz
rock29 2003-10-10
  • 打赏
  • 举报
回复
你们说的都不对,是机子染上病毒了!!!
pyyouth 2003-10-10
  • 打赏
  • 举报
回复
在操作过程中肯定是有相关的触发器对其操作,使oracle的后台任务过多。
加载更多回复(18)

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧