oracle*难度问题,招募高手解决!急急急!!

时间:2021-03-07 10:53:58
     ORACLE数据库10g,内存16G,经常占用10G左右,CPU使用5%,空闲95%。ORACLE个别表192G,一亿多条记录,ERP系统计算超级慢。。。如何优化ORACLE数据库??如有实践经验,可以聘用。

31 个解决方案

#1


不是dba 不懂

#2


做不做归档?

#3


木有看到实物,一切都是浮云…

#4


麻烦把环境和遇到的问题描述清楚,否则,不好分析啊。

#5


不懂 

不过erp系统 表太大了 ,做历史表吧 

#6


引用楼主 lyx6668 的回复:
ORACLE数据库10g,内存16G,经常占用10G左右,CPU使用5%,空闲95%。ORACLE个别表192G,一亿多条记录,ERP系统计算超级慢。。。如何优化ORACLE数据库??如有实践经验,可以聘用。

缺乏足够资料,只能泛泛而谈:
针对个别表192G,应该限制对这个表的查询修改操作,表结构可以根据需要设置分区或者是分表
数据库虽然占用了10G内存,但是未必就说明这10G内存被有效的利用了,经常遇到的一种情况是在创建数据库时,把数据库占操作系统内存的百分比调整到3/4比例,但是没有根据实际需要进行调整,导致oracle只是在程序运行时分配了很多内存而已。
如果系统运行还是很慢,但是CPU使用率不高,那么是否可以看一下硬件的性能?比如磁盘IO的性能,配置CPU并行SMP情况等等

#7


引用楼主 lyx6668 的回复:
ORACLE数据库10g,内存16G,经常占用10G左右,CPU使用5%,空闲95%。ORACLE个别表192G,一亿多条记录,ERP系统计算超级慢。。。如何优化ORACLE数据库??如有实践经验,可以聘用。


描述的很冗统  最好是做过快照分析下

#8


先分析下表的构成,索引什么的吧.比如你那个亿级的表是否分区,索引是否合理等等.
然后分析下sql.
最后再调整下sga什么的.

#9


lz公司在哪儿?能开多少米?

#10


问题不是问题,米才是我们最关心滴..............

#11


--- 具体问题具体对待!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)

-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!

#12


你需要打开ORACLE的性能分析功能,然后根据统计表中的信息进行分析,具体是哪些语句慢?

比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。

第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。

#13


10g的数据库应该是采取的自动内存的管理,
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。

做好做个statspack请专家分析下。。。给出方案。。

#14


如果有钱俺可以优化(民工的价格别找俺),这种库优化是比较简单的事,可能会做一些规划上的调整与SQL优化。

#15


lz纯粹来招人的吧?

#16


招聘还是解决问题

#17


引用 15 楼 dajun539 的回复:
lz纯粹来招人的吧?

图片有点意思。。嘿嘿。。

#18


招DBA,没个1w,甭开价了,
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等

#19


你的数据量太大了,是否有分区,看看TOP SQL 
再试试能否优化TOP SQL

#20


首先从需求角度考虑,减少查询次数,简化统计方法,是效率最高的优化;
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。

#21


说的不详细,LZ说慢是怎么个慢法,另外发下具体的快照好分析啊

#22


调优是需要经验的,估计也只有现场多观察才能发现问题,实在不行可以找个OCM到公司现场调优

#23


该回复于2011-02-23 09:20:17被版主删除

#24


1、定期做表分析
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。

#25


该回复于2011-02-23 16:35:59被版主删除

#26


俺碰到过类似情况,最后原因居然是硬件存储的速度比较慢

#27


我觉得楼主也可以优化下代码。

#28


CPU使用5%

这个率这么低??

#29


看来csdn还是有牛人! oracle*难度问题,招募高手解决!急急急!!

#30


10g用ADDM吧,方便快捷。

#31


引用 29 楼 gelyon 的回复:
看来csdn还是有牛人!


我一直很顶你哈,,你是我的偶像。。

#1


不是dba 不懂

#2


做不做归档?

#3


木有看到实物,一切都是浮云…

#4


麻烦把环境和遇到的问题描述清楚,否则,不好分析啊。

#5


不懂 

不过erp系统 表太大了 ,做历史表吧 

#6


引用楼主 lyx6668 的回复:
ORACLE数据库10g,内存16G,经常占用10G左右,CPU使用5%,空闲95%。ORACLE个别表192G,一亿多条记录,ERP系统计算超级慢。。。如何优化ORACLE数据库??如有实践经验,可以聘用。

缺乏足够资料,只能泛泛而谈:
针对个别表192G,应该限制对这个表的查询修改操作,表结构可以根据需要设置分区或者是分表
数据库虽然占用了10G内存,但是未必就说明这10G内存被有效的利用了,经常遇到的一种情况是在创建数据库时,把数据库占操作系统内存的百分比调整到3/4比例,但是没有根据实际需要进行调整,导致oracle只是在程序运行时分配了很多内存而已。
如果系统运行还是很慢,但是CPU使用率不高,那么是否可以看一下硬件的性能?比如磁盘IO的性能,配置CPU并行SMP情况等等

#7


引用楼主 lyx6668 的回复:
ORACLE数据库10g,内存16G,经常占用10G左右,CPU使用5%,空闲95%。ORACLE个别表192G,一亿多条记录,ERP系统计算超级慢。。。如何优化ORACLE数据库??如有实践经验,可以聘用。


描述的很冗统  最好是做过快照分析下

#8


先分析下表的构成,索引什么的吧.比如你那个亿级的表是否分区,索引是否合理等等.
然后分析下sql.
最后再调整下sga什么的.

#9


lz公司在哪儿?能开多少米?

#10


问题不是问题,米才是我们最关心滴..............

#11


--- 具体问题具体对待!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)

-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!

#12


你需要打开ORACLE的性能分析功能,然后根据统计表中的信息进行分析,具体是哪些语句慢?

比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。

第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。

#13


10g的数据库应该是采取的自动内存的管理,
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。

做好做个statspack请专家分析下。。。给出方案。。

#14


如果有钱俺可以优化(民工的价格别找俺),这种库优化是比较简单的事,可能会做一些规划上的调整与SQL优化。

#15


lz纯粹来招人的吧?

#16


招聘还是解决问题

#17


引用 15 楼 dajun539 的回复:
lz纯粹来招人的吧?

图片有点意思。。嘿嘿。。

#18


招DBA,没个1w,甭开价了,
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等

#19


你的数据量太大了,是否有分区,看看TOP SQL 
再试试能否优化TOP SQL

#20


首先从需求角度考虑,减少查询次数,简化统计方法,是效率最高的优化;
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。

#21


说的不详细,LZ说慢是怎么个慢法,另外发下具体的快照好分析啊

#22


调优是需要经验的,估计也只有现场多观察才能发现问题,实在不行可以找个OCM到公司现场调优

#23


该回复于2011-02-23 09:20:17被版主删除

#24


1、定期做表分析
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。

#25


该回复于2011-02-23 16:35:59被版主删除

#26


俺碰到过类似情况,最后原因居然是硬件存储的速度比较慢

#27


我觉得楼主也可以优化下代码。

#28


CPU使用5%

这个率这么低??

#29


看来csdn还是有牛人! oracle*难度问题,招募高手解决!急急急!!

#30


10g用ADDM吧,方便快捷。

#31


引用 29 楼 gelyon 的回复:
看来csdn还是有牛人!


我一直很顶你哈,,你是我的偶像。。