现在跑一个存储过程,老是假死状态,起初20多分钟搞定,现在需要半小时,有时直接假死。一个晚上都跑不完。安装的10G,装的时候都是选的默认安装,曾对数据库优化如下:
alter system set pga_aggregate_target=512M scope=both
alter system set sga_max_size=1600M scope=spfile
alter system set sga_target=1600M scope=spfile
电脑物理内存2G,除了这3个语句优化内存,还有其他优化的方法没呢?第一次用ORACLE,各种不懂,存储过程里面有大量的UPDATE语句,是不是跑多了,日志写多了的原因呢,还有数据库日志怎么删除,删除会不会快点?

解决方案 »

  1.   

    优化是各方面的, 过程慢应该和日志关系不大。
    你SQL 怎么写的~ 考虑优化SQL ~
      

  2.   

    先做一些系统监控和数据库级别的监控看看究竟是哪里慢。你的调整只是基于内存方面的调整,如果是sql执行路径慢,或者严重的是由于死锁等造成的,你的方案就不能满足了。
      

  3.   

    开启跟踪,确认一下你的执行过程中那个环节耗时最长。你的内存设置也有问题的,一共2G内存的话,分配不能超过1.2G到oracle,否则,操作系统本身可能就有问题了
      

  4.   


    从SQL 入手,Oracle 本身的优化是很有限的。 btw: inthirties 很久没见了。