OracleRAC11gr2性能调优解决查询慢问题教学内容.docx

上传人:b****7 文档编号:10304760 上传时间:2023-02-10 格式:DOCX 页数:19 大小:23.44KB
下载 相关 举报
OracleRAC11gr2性能调优解决查询慢问题教学内容.docx_第1页
第1页 / 共19页
OracleRAC11gr2性能调优解决查询慢问题教学内容.docx_第2页
第2页 / 共19页
OracleRAC11gr2性能调优解决查询慢问题教学内容.docx_第3页
第3页 / 共19页
OracleRAC11gr2性能调优解决查询慢问题教学内容.docx_第4页
第4页 / 共19页
OracleRAC11gr2性能调优解决查询慢问题教学内容.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

OracleRAC11gr2性能调优解决查询慢问题教学内容.docx

《OracleRAC11gr2性能调优解决查询慢问题教学内容.docx》由会员分享,可在线阅读,更多相关《OracleRAC11gr2性能调优解决查询慢问题教学内容.docx(19页珍藏版)》请在冰豆网上搜索。

OracleRAC11gr2性能调优解决查询慢问题教学内容.docx

OracleRAC11gr2性能调优解决查询慢问题教学内容

知也无涯

OracleRAC11gr2查询太慢

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

OracleRAC11gr2查询太慢

ProblemDescription

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

Redhat5双机

测试1:

双实例,ASM磁盘组包含3个磁盘(SAN)。

在其中一个实例中执行:

SELECTc.operaccount||':

'||c.PASSWORD||'@'||a.PATH,

a.dll,a.description,'1.gif'

FROMhcs2000.dllnamesa,hcs2000.operdllnamesb,hcs2000.operaccountc

WHEREa.dllnameid=b.dllnameid

ANDb.operid=c.operid

ANDupper(c.operaccount)=USER

ORDERBYa.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中的查询太慢了,请问怎么查看问题原因,如何调优?

 

1、现代文化对大学生饰品消费的影响 

据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助。

Dearcustomer,

请您执行以下动作:

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

ACTIONPLAN

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

1.Pleasegenerate10046traceforyoursql:

SQL>connectusername/password

SQL>altersessionsettimed_statistics=true;

SQL>altersessionsetstatistics_level=all;

SQL>altersessionsetmax_dump_file_size=unlimited;

SQL>altersessionsetevents'10046tracenamecontextforever,level12';

SQL>

SQL>altersessionsetevents'10046tracenamecontextoff';

2.Formatyour10046tracefile:

$tkprof

例如

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

寻找UDUMP路径,请参考

SQL>showparameteruser_dump_dest

之后,format您的文件

$cd/u01/OracleAPP/oracle/admin/R1020/udump

$ls-ltr

$tkprofr1020_ora_9638.trc9638.output

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

但这些困难并非能够否定我们创业项目的可行性。

盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:

如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。

§8-2购物环境与消费行为2004年3月20日 

 

 

3、消费“多样化” 

二、资料网址:

Dearcustomer,

目前来看,您问题表中遇到了并行的配置。

为了进一步诊断,请执行以下动作,并提供输出结果:

ACTIONPLAN

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

请分别在测试2:

在其中一台主机上创建基于ASM磁盘组的实例

以及

测试4:

在PC的VMware虚拟机里面单实例查询

的测试环境中执行以下动作

SQL>showparameterparallel_min_servers

SQL>selecttable_name,degreefromdba_tableswheretable_name='dllnames';

SQL>selecttable_name,degreefromdba_tableswheretable_name='operdllnames';

SQL>selecttable_name,degreefromdba_tableswheretable_name='operaccount';

并请提供以上测试2,4环境的数据库alert日志位于bdump下面

SQL>showparameterbackground_dump_dest

Thealert.logisnamedasalert_.log.

手工艺品,它运用不同的材料,通过不同的方式,经过自己亲手动手制作。

看着自己亲自完成的作品时,感觉很不同哦。

不论是01年的丝带编织风铃,02年的管织幸运星,03年的十字绣,04年的星座手链,还是今年风靡一时的针织围巾等这些手工艺品都是陪伴女生长大的象征。

为此,这些多样化的作品制作对我们这一创业项目的今后的操作具有很大的启发作用。

此次调查以女生为主,男生只占很少比例,调查发现58%的学生月生活费基本在400元左右,其具体分布如(图1-1)

3、你是否购买过DIY手工艺制品?

 

 

 

(1)专业知识限制

 

 

 

 

Name

--------

===ODMDataCollection===

SELECTc.operaccount||':

'||c.PASSWORD||'@'||a.PATH,

a.dll,a.description,'1.gif'

FROMdllnamesa,operdllnamesb,operaccountc

WHEREa.dllnameid=b.dllnameid

ANDb.operid=c.operid

ANDupper(c.operaccount)=USER

ORDERBYa.dllnameid

callcountcpuelapseddiskquerycurrentrows

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

Parse10.000.000000

Execute10.0111.140300

Fetch20.032.240001

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

total40.0513.390301

Missesinlibrarycacheduringparse:

1

Optimizermode:

ALL_ROWS

Parsinguserid:

5

RowsRowSourceOperation

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

1PXCOORDINATOR(cr=3pr=0pw=0time=0us)

0PXSENDQC(ORDER):

TQ10001(cr=0pr=0pw=0time=0uscost=3size=68card=1)

0SORTORDERBY(cr=0pr=0pw=0time=0uscost=3size=68card=1)

0PXRECEIVE(cr=0pr=0pw=0time=0us)

0PXSENDRANGE:

TQ10000(cr=0pr=0pw=0time=0us)

0NESTEDLOOPS(cr=0pr=0pw=0time=0us)

0NESTEDLOOPS(cr=0pr=0pw=0time=0uscost=2size=68card=1)

0NESTEDLOOPS(cr=0pr=0pw=0time=0uscost=2size=19card=1)

0PXBLOCKITERATOR(cr=0pr=0pw=0time=0us)

0TABLEACCESSFULLOPERACCOUNT(cr=0pr=0pw=0time=0uscost=2size=11card=1)

0INDEXFULLSCANOPERDLLNAMESINDEX(cr=0pr=0pw=0time=0uscost=1size=16card=2)(objectid73471)

0INDEXUNIQUESCANPK_DLLNAMEID(cr=0pr=0pw=0time=0uscost=0size=0card=1)(objectid73465)

0TABLEACCESSBYINDEXROWIDDLLNAMES(cr=0pr=0pw=0time=0uscost=1size=49card=1)

Elapsedtimesincludewaitingonfollowingevents:

EventwaitedonTimesMax.WaitTotalWaited

----------------------------------------Waited----------------------

rdbmsipcreply20.000.00

osthreadstartup960.1510.46

PXDeq:

JoinACK780.250.39

latchfree100.000.01

latch:

parallelqueryallocbuffer10.000.00

PXDeq:

ParseReply660.040.21

SQL*Netmessagetoclient20.000.00

PXDeq:

ExecuteReply1320.010.15

PXDeqCredit:

sendblkd151.982.03

SQL*Netmessagefromclient20.000.00

PXDeq:

SignalACKRSG700.000.01

latch:

callallocation40.000.01

PXDeq:

SlaveSessionStats20.000.00

enq:

PS-contention20.000.00

********************************************************************************

Elapsedtimesincludewaitingonfollowingevents:

EventwaitedonTimesMax.WaitTotalWaited

----------------------------------------Waited----------------------

SQL*Netmessagetoclient30.000.00

SQL*Netmessagefromclient359.9059.90

rdbmsipcreply20.000.00

osthreadstartup960.1510.46

PXDeq:

JoinACK780.250.39

latchfree100.000.01

latch:

parallelqueryallocbuffer10.000.00

PXDeq:

ParseReply660.040.21

PXDeq:

ExecuteReply1320.010.15

PXDeqCredit:

sendblkd151.982.03

PXDeq:

SignalACKRSG700.000.01

latch:

callallocation40.000.01

PXDeq:

SlaveSessionStats20.000.00

enq:

PS-contention20.000.00

FileName

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

mytestas1_ora_4262.trc.output

FileComment

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

 

Dearcustomer,

感谢您的配合。

目前来看,您问题表中遇到了并行的配置。

为了进一步诊断,请执行以下动作,并提供输出结果:

ACTIONPLAN

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

请分别在测试2:

在其中一台主机上创建基于ASM磁盘组的实例

以及

测试4:

在PC的VMware虚拟机里面单实例查询

的测试环境中执行以下动作

SQL>showparameterparallel_min_servers

SQL>selecttable_name,degreefromdba_tableswheretable_name='dllnames';

SQL>selecttable_name,degreefromdba_tableswheretable_name='operdllnames';

SQL>selecttable_name,degreefromdba_tableswheretable_name='operaccount';

并请提供以上测试2,4环境的数据库alert日志位于bdump下面

SQL>showparameterbackground_dump_dest

Thealert.logisnamedasalert_.log.

 

 

 

 

测试2实例的输出:

SQL>showparameterparallel_min_servers

NAMETYPEVALUE

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

parallel_min_serversinteger0

SQL>selecttable_name,degreefromdba_tableswheretable_name='DLLNAMES';

TABLE_NAMEDEGREE

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

DLLNAMES1

SQL>selecttable_name,degreefromdba_tableswheretable_name='OPERDLLNAMES';

TABLE_NAMEDEGREE

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

OPERDLLNAMESDEFAULT

SQL>selecttable_name,degreefromdba_tableswheretable_name='OPERACCOUNT';

TABLE_NAMEDEGREE

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

OPERACCOUNTDEFAULT

测试4实例的输出:

SQL>showparameterparallel_min_servers

SQL>

NAMETYPEVALUE

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

parallel_min_serversinteger0

SQL>selecttable_name,degreefromdba_tableswheretable_name='DLLNAMES'andowner='HCS2000';

TABLE_NAMEDEGREE

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

DLLNAMES1

SQL>selecttable_name,degreefromdba_tableswheretable_name='OPERDLLNAMES'andowner='HCS2000';

TABLE_NAMEDEGREE

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

OPERDLLNAMESDEFAULT

SQL>selecttable_name,degreefromdba_tableswheretable_name='OPERACCOUNT'andowner='HCS2000';

TABLE_NAMEDEGREE

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

OPERACCOUNTDEFAULT

 

 

 

 

Dearcustomer,

感谢您的更新。

从您当前的设置来看,应该很大可能与您当前RAC服务器的多颗CPU数量有关

TABLE_NAMEDEGREE

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

OPERDLLNAMESDEFAULT

您的DEGREE是默认值,该默认值的算法为

假设CPU数目为16,一般

showparameterPARALLEL_THREADS_PER_CPU

NAMETYPEVALUE

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

parallel_threads_per_cpuinteger2

showparametercpu

NAMETYPEVALUE

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

cpu_countinteger16

那么以下对于并行的默认值设置即为:

Threads/CPU=3("parallel_threads_per_cpu")

defaultDOP=(#CPU*Threads/CPU)

加入之前CPU=16,parallel_threads_per_cpu=2,

defaultDOP=3x2x16=96

================

ACTIONPLAN

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

请您提供您当前两个环境的

showparameterPARALLEL_THREADS_PER_CPU

showparametercpu

或者您可以直接执行

对于单机

ALTERSYSTEMSETparallel_min_servers=96SCOPE=BOTH;

对于RAC,执行

ALTERSYSTEMSETparallel_min_servers=96SCOPE=BOTHSID='ORCL1';

ALTERSYSTEMSETparallel_min_servers=96SCOPE=BOTHSID='ORCL2';

之后重新测试您的SQL。

 

测试环境2:

SQL>showparametercpu

NAMETYPEVALUE

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

cpu_countinteger24

parallel_threads_per_cpuinteger2

resource_manager_cpu_allocationinteger24

SQL>

SQL>ALTERSYSTEMSETparallel_min_servers=144SCOPE=BOTH;

ALTERSYSTEMSETparallel_min_servers=144SCOPE=BOTH

*

ERRORatline1:

ORA-02097:

parametercannotbemodifiedbecausespecifiedvalueisinvalid

ORA-12811:

PARALLEL_MIN_SERVERSmustbelessthanorequalto

PARALLEL_MAX_SERVERS,135

SQL>showparameterparallel_min_servers

NAMETYPEVALUE

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

parallel_min_serve

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1