当前位置: 首页 > news >正文

Analyze an ORA-12801分析并行 parallel 12801 实际原因

"ORA-06512: at "PKG_P_DATA", line 19639
ORA-06512: at "PKG_P_DATA", line 19595
ORA-06512: at "PKG_P_DATA", line 14471-JOB 调用


-ORA-12801: error signaled in parallel query server P009, instance rac2:dwh2 (2)

 

Error: ORA-12801
------------------------------
ORA-12801: error signaled in parallel query server P02F, instance rac2:dwh2 (2)
ORA-12829: Deadlock - itls occupied by siblings at block 16320 of file 139

这个错误正常是不会显示的,不过可以在SQL monitor中见到。

This Document provides additional information to help DBAs and developers analyze ORA-12801 errors during parallel query execution. 

TROUBLESHOOTING STEPS

A parallel query has a query coordinator ( QC)  and parallel execution processes.

If a  parallel execution process fails and he can send the message back to the QC  

then the QC puts a ORA-12801 on top of the Oracle Error message.

In case the parallel execution process can not send a Error message back to the QC, 

as example when he crashed, then a ORA-12805 is reported.

Here is an example.

We use the emp table from the scott schema. The table emp has a column ename that is 

a character field.

In  serial the query

SQL> select  *   from emp e where  to_number(ename) =10;

fails with

Error  in Line 1:

ORA-01722: invalid number

We force now a parallel run of the query and we get

SQL> select /*+ parallel(e) */  * from emp e where to_number(ename) =10;

fails with

Error in Line 1:

ORA-12801: error signaled in parallel query server P001

ORA-01722: invalid number

We see the ORA-12801 message on top of the real problem the ORA-01772.

The ORA-12801 contains the information that the parallel execution process P001 threw the

ORA-01722.

The ORA-01722 needs to be investigated.

In general the error message under the ORA-12801 are showing the real problem and the ORA-12801

can be ignored.

For some failures the parallel slave writes a trace files.
In 10.2 and previous versions of the database, the trace files will created in background_dump_dest
The following command can be used to show the location of the traces files
 

show parameter background_dump_dest



In 11.1 and newer version of the database the traces are in one folder.
You can use the adrci tool to get an overview over the last creates trace files.You can use the following command:
 

adrci> show tracefile -t 

In some case there is only a ORA-12801 error message.

Then the event 10397 should be set

  

ALTER SYSTEM SET EVENTS '10397 trace name context forever, level 1';

Levels:

  Any level prevents ORA-12801 being added to the top of the error stack.

Description:

  When set this event disables the ORA-12801 message when a parallel

  query server gets a SQL error. Instead the slave's actual error

  is reported as if signaled in the foreground.

  This can be useful if the front end tool needs the slave error at

  the top of the error stack. Eg: For tools which only report the

  top error to the user.

Sql*plus script ends abnormally with the following errors:
 
ORA-20001: INACTIVE_ITEMS - ORA-20001: <item name> -
ORA-20002: -12801 ORA-12801: error signaled in parallel query server P037
ORA-12829: Deadlock - itls occupied by siblings at block 166708 of file 45
Error in PROCEDURE <procedure name> line 173

Details of error:
Error: ORA 12829
Text: Deadlock - itls occupied by siblings at block %s of file %s
---------------------------------------------------------------------------
Cause: parallel statement failed because all itls in the current block are occupied by siblings of the same transaction.
Action: increase MAXTRANS of the block or reduce the degree of parallelism for the statement. Reexecute the statement.
Report suspicious events in trace file to Oracle support representative if error persists.

http://www.lryc.cn/news/390671.html

相关文章:

  • 高级运维工程师讲述银河麒麟V10SP1服务器加固收回权限/tmp命令引起生产mysql数据库事故实战
  • 昇思25天学习打卡营第09天|sea_fish
  • flutter开发实战-Charles抓包设置,dio网络代理
  • Elasticsearch:Runtime fields - 运行时字段(二)
  • Python正则表达式的入门用法(上)
  • Audio Processing Graphs 管理 Audio Units
  • 欧盟,又出了新规-通用充电器新规通用充電器的 RED 修正案如何办理?
  • thinkphp6/8 验证码
  • Ubuntu 22.04 LTS 上安装 MySQL8.0.23(在线安装)
  • 如何选择优质模型?SD3性能究竟如何?
  • Linux上脚本备份数据库(升级版)
  • 【深度解析】滑动窗口:目标检测算法的基石
  • 约束:对于数据的限制
  • 【总线】AXI4第七课时:AXI的额外的控制信息(PROT和CACHE)
  • MAVEN 重新配置参考
  • ByteTrack论文阅读笔记
  • LVS+Keepalived 高可用集群搭建实验
  • 代码随想三刷动态规划篇7
  • linux应用开发基础知识(八)——内存共享(mmap和system V)
  • 上海小程序开发需要进行定制开发吗?
  • Qt开发 | qss简介与应用
  • 模块一SpringBoot(一)
  • C语言 | Leetcode C语言题解之第213题打家劫舍II
  • ​​​​Linux LVS 负载均衡群集
  • onTouch()与onTouchEvent()的区别
  • 计算机网络网络层复习题2
  • [JS]面向对象ES6
  • ctfshow web sql注入 web242--web249
  • 发送微信消息和文件
  • 数组-螺旋矩阵