Oracle RAC 11g r2查询太慢

在Oracle RAC 11g r2环境中,查询速度出现显著延迟,尤其在双实例和ASM磁盘组配置下。经过多次测试,查询速度在不同配置下有所变化,从几秒到25秒不等。问题主要集中在双实例运行时,而单实例(无论是基于ASM还是文件系统)以及VMware虚拟机环境中的查询则更快。寻求解决查询性能问题和调优的方法。
摘要由CSDN通过智能技术生成


Oracle RAC 11g r2查询太慢

---------------------------------------------------



Problem Description
---------------------------------------------------
Redhat 5 双机

测试1:双实例,ASM磁盘组包含3个磁盘(SAN)。在其中一个实例中执行:
SELECT c.operaccount || ':' || c.PASSWORD || '@' || a.PATH,
a.dll, a.description, '1.gif'
FROM hcs2000.dllnames a, hcs2000.operdllnames b, hcs2000.operaccount c
WHERE a.dllnameid = b.dllnameid
AND b.operid = c.operid
AND upper(c.operaccount) = USER
ORDER BY a.dllnameid;
第一次查询,25秒。第二次查询,3秒。第三次查询,1.6秒。过10分钟后查询,26秒。

测试2:在其中一台主机上创建基于ASM磁盘组的单个实例,
第一次查询,14秒。第二次查询,3秒。第三次查询,0.7秒。第四次查询,3.5秒。

测试3:在其中一台主机上创建基于文件系统的单个实例,
第一次查询,5秒。第二次查询,2.2秒。第三次查询,2.1秒。

测试4:在PC的VMware虚拟机里面单实例查询,只需0.001秒或0秒。

测试1中的查询太慢了,请问怎么查看问题原因,如何调优?

 

Dear customer,

请您执行以下动作:
如果可以,请在您提到的4个场景下都生成以下文件,并请添加您的说明后,作为附件更新到SR上:

ACTION PLAN
-----------------------

1. Please generate 10046 trace for your sql:
SQL>connect username/password 
SQL>alter session set timed_statistics = true;
SQL>alter session set statistics_level=all;
SQL>alter session set max_dump_file_size = unlimited;
SQL>alter session set events '10046 trace name context forever, level 12';
SQL><Run your SQL here;> 
SQL>alter session set events '10046 trace name context off';

2.Format your 10046 trace file:
$tkprof <trace file> <output file> 

例如
生成的文件应该是在您的udump路径下面。

寻找UDUMP路径,请参考 
SQL> show parameter user_dump_dest 

之后,format您的文件
$cd /u01/OracleAPP/oracle/admin/R1020/udump
$ls -ltr
$tkprof r1020_ora_9638.trc 9638.output

3.请提交您 10046 trace 以及 tkprof 输出文件9638.output 


 

 

   
Dear customer,

目前来看,您问题表中遇到了并行的配置。为了进一步诊断,请执行以下动作,并提供输出结果:

ACTION PLAN
-----------------------
请分别在测试2:在其中一台主机上创建基于ASM磁盘组的实例
以及
测试4:在PC的VMware虚拟机里面单实例查询
的测试环境中执行以下动作
SQL> show parameter parallel_min_servers
SQL> select table_name,degree from dba_tables where table_name='dllnames';
SQL> select table_name,degree from dba_tables where table_name='operdllnames';
SQL> select table_name,degree from dba_tables where table_name='operaccount';

并请提供以上测试2, 4环境的数据库alert 日志 位于bdump下面
SQL> show parameter background_dump_dest
The alert.log is named as alert_<sid>.log.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值