易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle wait event:PX Deq Credit: send blkd

Just a few days ago a got to two Oracle DBAs discussing why the have so much “PX Deq Credit : send blkd” on a system. And if that is causing their performance problems.
The are some blog on the internet claiming it has to do with qc distribution and what ever.
But in many cases, especial if you experince huge waits on “PX Deq Credit : send blkd” the explanation can be much simpler. But first some background information.
If a query is run in parallel there is a query coordinator (QC) and the query slaves. The slaves do the actual work an send the result to the query coordinator. This is done through message buffers which you specified with the parallel_execution_message_size.
This buffer exists in the large or in the shared pool depending how PARALLEL_AUTOMATIC_TUNING is set.
Metalink states about the PX Deq Credit: send blkd event
This is considered as idle wait event.
You should investigate the sender (decode the senderid).
There is no general advice to reduce the waitime for this event.
The process wishes to send a message and does not have the flow control credit. Process must first dequeue a message to obtain the credit. Indicates that the receiver has not dequeued and/or completely consumed the prior message yet.
from that statement you could believe that is a idle even an you don’t need to care.
In this case the waits were cause by a query which look similar to this:
insert into tablex values (select /*+ parallel(32) */ from tabley);
Now it pretty clear from where the waits are coming. Since parallel query is enabled by default, but parallel dml is disabled, you feed a single insert process with 32 slaves. the insert process can never consume that much.
So the question is now, does that indicate a performance problem?
Yes, I does!
It indicates that your developer didn’t perform right. He played with parallel query without knowing what he does.
It eats your memory and produces unnecessary process on your sys


相关文档:

三步教你掌握Oracle外部表

外表(external table)就像普通的表对像一样,可以select等,只是它是只读的,数据库中只保存了表结构的描述,表数据却没有存放在数据库内,而是存放在了文件系统上。当用户想偶尔使用数据库外的结构化数据时,用起外表来就非常方便,甚至比sqlldr都要方便的多。在这篇文章里,我们为大家演示了
  三步就掌握oracle外表过 ......

java数据库开发中两种注册oracle驱动的方式

一、利用Class.forName函数(用java开发B/S模式的程序) 1.代码如下: //注册驱动程序
public boolean connectDb() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
return true;
} catch (ClassNotFoundException e) {
System.out.println(e);
return false;
}
} ......

oracle表空间学习

一.表空间学习
个人觉得表空间相对于数据库来说是至关重要的,一般分为permanent(永久性表空间),undo(undo表空间),temporary(临时表空间),一般我们是通过以下sql进行查看表空间的类型的.
select distinct t.contents from dba_tablespaces t;
查看表空间所对应的数据文件。
select t.name,t1.name
from v$tablespace ......

Oracle分析函数参考

首先感谢文章的作者,我转来大家共享
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面例子中使用的表来自Oracle自带的HR用户下的表,如果没有安装该用户,可以在SYS用户下运行$ORACLE_HOME/demo/schema/human_re ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号