How To Get A Strace Of The Data Pump dm And dw Process(es) (Doc ID 1411563.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
NOTE:
In the images and/or the document content below, the user information and data used represents fictitious data. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.

GOAL

This document shows how you can get an strace of the data pump dm and dw processes. 本文档说明了如何获得数据泵dm和dw进程的strace。
This may be required to be done in certain circumstances when need to trace OS level calls from these processes.  在某些情况下,当需要跟踪来自这些进程的OS级调用时,可能需要这样做。
Since data pump is run from the server side and work is done by dw process and coordinated by dm process cannot start strace with the client expdp.  由于数据泵是从服务器端运行的,并且工作是由dw进程完成的,并且由dm进程协调,因此无法使用客户端expdp启动strace。

You will want to start this on a database that spawns minimal new connections because will be attaching to the Process SPawner (psp) process to capture any children that are spawned.  您将要在产生最少新连接的数据库上启动此数据库,因为它将附加到Process SPawner(psp)进程以捕获产生的所有子级。
This will include the dm and dw processes that are spawned from the database for a data pump job as well as any other processes under that database sid.  这将包括从数据库中为数据泵作业派生的dm和dw进程,以及该数据库sid下的任何其他进程。

SOLUTION

First, determine the pid of the psp process for that sid.  首先,确定该sid的psp进程的pid。
Can do that with OS command  可以用OS命令做到这一点

>ps -es|grep psp

Example output showing pid 19377 for sid S112W6:

grdbms 19377 1 0 22:24 ? 00:00:00 ora_psp0_S112W6

Or you can use query to determine process pid in SQLPlus:  或者,您可以使用查询来确定SQLPlus中的进程pid

set linesize 120
set pagesize 120
column spid heading 'OSpid' format a8
column pid heading 'Orapid' format 999999
column sid heading 'Sess id' format 99999
column serial# heading 'Serial#' format 999999
column status heading 'Status' format a8
column username heading 'oracleuser' format a12
column osuser heading 'OS user' format a12
column program heading 'Program' format a20 SELECT p.spid, p.pid, s.sid, s.serial#, s.status, s.username, s.osuser, s.program
FROM
v$process p,v$session s
WHERE s.paddr ( + ) = p.addr
order by p.pga_alloc_mem desc;

Example of sample output:
Then, based on the pid of the psp process start strace with following:  然后,基于psp进程的pid,使用以下命令启动strace

Example for pid 19377:

OSpid    Orapid  Sess id Serial# Status   oracleuser   OS user      Program
-------- ------- ------- ------- -------- ------------ ------------ --------------------
19377 3 187 1 ACTIVE SYSTEM grdbms oracle@celclnx7.us.oracle.com(PSP0)

Use of -ff will start trace on ALL new child processes under that db sid.  使用-ff将开始对该db sid下的所有新子进程进行跟踪

strace -f -ff -o strace_expdp.out -p 19377

Start the export. Do not use parallelism unless required to reproduce problem  开始导出。除非需要重现问题,否则不要使用并行。

Example:

expdp content=metadata_only schemas=system dumpfile=expdp02.dmp logfile=expdp02.log directory=data_pump_dir

Immediately after expdp started, determine the pid of the dm and dw process either at OS command or from the query aboveOr using the earlier SQL query:

expdp启动后,立即在OS命令或从上面的查询中或者使用较早的SQL查询来确定dm和dw进程的pid

>ps -ef|grep S112W6
OSpid    Orapid  Sess id Serial# Status   oracleuser   OS user      Program
-------- ------- ------- ------- -------- ------------ ------------ --------------------
5565 23 193 27 ACTIVE SYSTEM grdbms oracle@celclnx7.us.oracle.com(DM00)
8569 24 7 11 ACTIVE SYSTEM grdbms oracle@celclnx7.us.oracle.com(DW00)

If expdp fails quickly and did not get a chance to determine sid of these processes, just grep the files in the trace directory when done for
如果expdp快速失败,并且没有机会确定这些进程的sid,则在完成以下操作后,只需grep跟踪目录中的文件
ora_dw
and
ora_dm

>grep -li "ora_dw" *

strace_expdp.out.8569

You can stop the strace by using <ctrl-c>  您可以使用<ctrl-c>停止strace

Upload the strace corresponding to dm and dw process for the failed data pump job

上传与失败的数据泵作业的dm和dw进程对应的strace

如何获取数据泵dm和dw进程的 Strace (Doc ID 1411563.1)的更多相关文章

  1. 使用进程池模拟多进程爬取url获取数据,使用进程绑定的回调函数去处理数据

    1 # 使用requests请求网页,爬取网页的内容 2 3 # 模拟使用进程池模拟多进程爬取网页获取数据,使用进程绑定的回调函数去处理数据 4 5 import requests 6 from mu ...

  2. ORACLE 数据泵 expdp/impdp

    ORACLE 数据泵 expdp/impdp 一.概念 Oracle Database 10g 引入了最新的数据泵(Data Dump)技术,数据泵导出导入 (EXPDP 和 IMPDP)的作用: 1 ...

  3. 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)

    针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1) 文档内容 适用于: Oracle Database – Enterprise Edi ...

  4. Oracle数据泵(Data Dump)错误汇集

    Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆 ...

  5. ORACLE数据泵使用详解

    来源于:http://blog.sina.com.cn/s/blog_490a0c990100wh4y.html http://blog.csdn.net/jojo52013145/article/d ...

  6. Oracle 数据泵文件

    数据泵文件 expdp介绍 EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_na ...

  7. ORACLE数据泵还原(IMPDP命令)【转】

      Oracle数据库还原IMPDP命令是相对于EXPDP命令的,方向是反向的.即对于数据库备份进行还原操作.一.知晓IMPDP命令 ? C:\>impdp -help Import: Rele ...

  8. Oracle基础 数据泵导出/导入Expdp/impdp(转)

    一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...

  9. Oracle12c功能增强新特性之维护&amp;升级&amp;恢复&amp;数据泵等

    1.   内容提要 1)   表分区维护的增强. 2)   数据库升级改善. 3)   跨网络还原/恢复数据文件. 4)   数据泵的增强. 5)   实时ADDM. 6)   并发统计信息收集. 2 ...

随机推荐

  1. vue组件常用声明方式

    一.前言 这是自己重新写的一个,感觉以前的太写了很多不必要的方式 实际当中基本不会用的 所以自己写了一个常用的组件什么方式 更加的通俗易懂 二.代码如下 <!DOCTYPE html> & ...

  2. Eigen对齐(加速)方案

    Eigen库为了使用指令集(如SSE等)加速方案,通常采用字节对齐的方案.如果使用C++的标准库,如Vector,Map等,需要使用如下方案 std::map<int, Eigen::Vecto ...

  3. springcloud vue.js 微服务分布式 前后分离 集成代码生成器 shiro权限 activiti工作流

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  4. 天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷

    写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...

  5. asp.net允许跨域配置web.config

    <configuration> <system.webServer> <modules> <add name="CultureAwareHttpMo ...

  6. 从0系统学Android--3.7 聊天界面编写

    从0系统学Android--3.7 聊天界面编写 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.7 编写界面的最佳实践 前面学习了那么多 UI 开发的知识,下面来进行实践,做一个美观 ...

  7. 创建以.xxx开头的文件夹的方法

    在windows下创建以.xxx开头的文件夹时,点击确认,系统提示“必须键入文件名”. 最方便的方法: (1)新建文件夹 (3)在文件名.xxxxx后再加一个.,也就是把文件名改成这样子:.XXXXX ...

  8. 特殊权限SUID

    特殊权限SUID SUID : 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者: chmod u+s File chmod u-s File 如果 FileB本身原来就有执行权限,则S ...

  9. 快速排序 Vs. 归并排序 Vs. 堆排序——谁才是最强的排序算法

    知乎上有一个问题是这样的: 堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于堆排序? 昨 ...

  10. 使用Eclipse开发Web项目(JSP)——简单登录、无sql

    1.使用Eclipse开发Web项目(JSP) tomcat 2.在Eclipse中创建的Web项目: 浏览器可以直接访问webContent中的文件 例如http://localhost:8080/ ...