31 个解决方案
#1
不是dba 不懂
#2
做不做归档?
#3
木有看到实物,一切都是浮云…
#4
麻烦把环境和遇到的问题描述清楚,否则,不好分析啊。
#5
不懂
不过erp系统 表太大了 ,做历史表吧
不过erp系统 表太大了 ,做历史表吧
#6
缺乏足够资料,只能泛泛而谈:
针对个别表192G,应该限制对这个表的查询修改操作,表结构可以根据需要设置分区或者是分表
数据库虽然占用了10G内存,但是未必就说明这10G内存被有效的利用了,经常遇到的一种情况是在创建数据库时,把数据库占操作系统内存的百分比调整到3/4比例,但是没有根据实际需要进行调整,导致oracle只是在程序运行时分配了很多内存而已。
如果系统运行还是很慢,但是CPU使用率不高,那么是否可以看一下硬件的性能?比如磁盘IO的性能,配置CPU并行SMP情况等等
#7
描述的很冗统 最好是做过快照分析下
#8
先分析下表的构成,索引什么的吧.比如你那个亿级的表是否分区,索引是否合理等等.
然后分析下sql.
最后再调整下sga什么的.
然后分析下sql.
最后再调整下sga什么的.
#9
lz公司在哪儿?能开多少米?
#10
问题不是问题,米才是我们最关心滴..............
#11
--- 具体问题具体对待!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)
-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)
-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!
#12
你需要打开ORACLE的性能分析功能,然后根据统计表中的信息进行分析,具体是哪些语句慢?
比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。
第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。
比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。
第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。
#13
10g的数据库应该是采取的自动内存的管理,
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。
做好做个statspack请专家分析下。。。给出方案。。
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。
做好做个statspack请专家分析下。。。给出方案。。
#14
如果有钱俺可以优化(民工的价格别找俺),这种库优化是比较简单的事,可能会做一些规划上的调整与SQL优化。
#15
lz纯粹来招人的吧?
#16
招聘还是解决问题
#17
图片有点意思。。嘿嘿。。
#18
招DBA,没个1w,甭开价了,
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等
#19
你的数据量太大了,是否有分区,看看TOP SQL
再试试能否优化TOP SQL
再试试能否优化TOP SQL
#20
首先从需求角度考虑,减少查询次数,简化统计方法,是效率最高的优化;
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。
#21
说的不详细,LZ说慢是怎么个慢法,另外发下具体的快照好分析啊
#22
调优是需要经验的,估计也只有现场多观察才能发现问题,实在不行可以找个OCM到公司现场调优
#23
#24
1、定期做表分析
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。
#25
#26
俺碰到过类似情况,最后原因居然是硬件存储的速度比较慢
#27
我觉得楼主也可以优化下代码。
#28
CPU使用5%
这个率这么低??
这个率这么低??
#29
看来csdn还是有牛人!
#30
10g用ADDM吧,方便快捷。
#31
我一直很顶你哈,,你是我的偶像。。
#1
不是dba 不懂
#2
做不做归档?
#3
木有看到实物,一切都是浮云…
#4
麻烦把环境和遇到的问题描述清楚,否则,不好分析啊。
#5
不懂
不过erp系统 表太大了 ,做历史表吧
不过erp系统 表太大了 ,做历史表吧
#6
缺乏足够资料,只能泛泛而谈:
针对个别表192G,应该限制对这个表的查询修改操作,表结构可以根据需要设置分区或者是分表
数据库虽然占用了10G内存,但是未必就说明这10G内存被有效的利用了,经常遇到的一种情况是在创建数据库时,把数据库占操作系统内存的百分比调整到3/4比例,但是没有根据实际需要进行调整,导致oracle只是在程序运行时分配了很多内存而已。
如果系统运行还是很慢,但是CPU使用率不高,那么是否可以看一下硬件的性能?比如磁盘IO的性能,配置CPU并行SMP情况等等
#7
描述的很冗统 最好是做过快照分析下
#8
先分析下表的构成,索引什么的吧.比如你那个亿级的表是否分区,索引是否合理等等.
然后分析下sql.
最后再调整下sga什么的.
然后分析下sql.
最后再调整下sga什么的.
#9
lz公司在哪儿?能开多少米?
#10
问题不是问题,米才是我们最关心滴..............
#11
--- 具体问题具体对待!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)
-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!
--- 例如:如果是销售表(昨天的数据一般不会更改),可以根据你的业务需求,每天生成昨天的销售有关的统计到相关的统计表,然后:每天去查询统计表 等(方法多多)
-- 像这样的查询,如果每次运行都要去查询“销售表”的话,我想:是任何方案也解决不了的!
#12
你需要打开ORACLE的性能分析功能,然后根据统计表中的信息进行分析,具体是哪些语句慢?
比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。
第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。
比如 select sysdate from dua; 这种语句都很慢的话,你需要去考虑一下你的硬件配置了。
第一步,把所有SESSION全部杀掉,然后仅用你自己的一个SESSION连上,看 select 1 from dual; 看结果如何。
#13
10g的数据库应该是采取的自动内存的管理,
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。
做好做个statspack请专家分析下。。。给出方案。。
你可以查看下
cache命中率超过99%,正常。buffer命中率为99%以上、tablespace使用率,
如果前两个参数比较小。。。。。你就要采取适当的方案进行调整。
做好做个statspack请专家分析下。。。给出方案。。
#14
如果有钱俺可以优化(民工的价格别找俺),这种库优化是比较简单的事,可能会做一些规划上的调整与SQL优化。
#15
lz纯粹来招人的吧?
#16
招聘还是解决问题
#17
图片有点意思。。嘿嘿。。
#18
招DBA,没个1w,甭开价了,
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等
才个把亿的数据,
要知道,oracle 的对大数据量的查询不是在cpu,关键是磁盘IO,
lz要知道sga,db_catch,pga,temp tablespace,undo tablespace
这些都是干什么用的问题解决的一小步,
个把亿的数据表肯定要partition 至于你要采用哪种,视情况而定,还有index优化,还有你的sql优化等等
#19
你的数据量太大了,是否有分区,看看TOP SQL
再试试能否优化TOP SQL
再试试能否优化TOP SQL
#20
首先从需求角度考虑,减少查询次数,简化统计方法,是效率最高的优化;
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。
再次从DB的配置上考虑,合理设置SGA区等大小,提升整个DB的性能;
然后再从减小源表大小、及时归档、分区等角度优化DB结构;
后面才是优化具体的SQL,创建索引等;
如果有钱,也可以考虑加CPU/内存/磁盘等途径。
#21
说的不详细,LZ说慢是怎么个慢法,另外发下具体的快照好分析啊
#22
调优是需要经验的,估计也只有现场多观察才能发现问题,实在不行可以找个OCM到公司现场调优
#23
#24
1、定期做表分析
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。
2、直接从大表中取数据的,可以将数据搬一部分到到物化视图(可分区)中,直接查询物化视图。并对物化视图定期刷新分析。
#25
#26
俺碰到过类似情况,最后原因居然是硬件存储的速度比较慢
#27
我觉得楼主也可以优化下代码。
#28
CPU使用5%
这个率这么低??
这个率这么低??
#29
看来csdn还是有牛人!
#30
10g用ADDM吧,方便快捷。
#31
我一直很顶你哈,,你是我的偶像。。