SRDC - 数据泵导入(IMPDP)性能问题的诊断收集 (文档 ID 2365615.1)-阿里云开发者社区

开发者社区> acdante> 正文

SRDC - 数据泵导入(IMPDP)性能问题的诊断收集 (文档 ID 2365615.1)

简介: SRDC - 数据泵导入(IMPDP)性能问题的诊断收集 (文档 ID 2365615.1)MOS
+关注继续查看
适用于

产品:

  • Oracle 数据库 – 企业版 – 所有版本
  • Oracle 数据库 – 标准版 – 所有版本
  • 本篇文档的信息适用于所有平台
收集什么和为什么收集?

下面概述的过程将引导用户收集诊断数据,这将有助于 Support 缩小问题的原因。

本文档专门为读者提供以下必要的指导:

  • 收集开始分析 Data Pump 导入性能问题所需的所有诊断数据
  • Support 将使用这些信息来指导他们对这个问题的调查。

安全声明: Oracle 将使用此信息来帮助诊断问题的原因。在许多情况下,这组信息将足以用于诊断 - 在某些情况下,可能需要在稍后阶段提供额外的特定诊断数据。

Action Plan

在创建新的 DataPump 导入性能 SR 时收集并提供以下数据:

1. 提供性能问题的明确的问题描述。

2. 提供以下信息:

- impdp 客户端版本
产生 dump 文件的 expdp 客户端版本
- 源数据库版本(例如, expdp 运行的数据库)

- 目标数据库版本(例如, impdp 开始的数据库)
- 用于启动 impdp 程序的完整命令
- 导入的参数文件(如果使用了的话)
- 完整的 impdp 日志文件
- 数据库服务器的完整 alert.log 文件


3. 请回答以下问题:

a. 导入元数据还是数据时出现性能问题?
b. DataPump 导入是否工作得快过?如果是,数据结构是否改变或者数据量是否增加?
c. 是否是特定对象遇到性能问题?如果是,则提供对象名称。


4. 生成并收集 DataPump 导入的 SQL 跟踪。

首先确保在 DataPump 导入启动之前将参数 MAX_DUMP_FILE_SIZE 设置为 UNLIMITED:

SQL> connect / as sysdba
SQL> alter system set max_dump_file_size = unlimited;

 

然后选择以下任一方法:


A. 在 impdp 命令中添加参数 METRICS=Y TRACE=480300 (或者 480301 捕获 SQL trace) 并重新运行 import.

请注意,TRACE 参数要求使用 DataPump 导入连接到数据库的用户是有权限的用户(即授予了 DBA 或 EXP_FULL_DATABASE 角色的用户)。

或者:

B. 对 DataPump Master(DM)和 Worker(DW)进程启用 level 12 的 10046 trace(对于版本 >= 11g):

SQL> connect / as sysdba

-- 版本 >= 11g and < 12c
SQL> alter system set events 'sql_trace {process : pname = dw | pname = dm} level=12';

-- 版本 = 12c
SQL> alter system set events 'sql_trace {process: pname = dw | process: pname = dm} level=12';

 

然后用参数 METRICS = Y 加入命令行启动 impdp。

要禁用跟踪执行:

SQL> connect / as sysdba

-- 版本 >= 11g and < 12c
SQL> alter system set events 'sql_trace {process : pname = dw | pname = dm} off';

-- 版本 = 12c
SQL> alter system set events 'sql_trace {process: pname = dw | process: pname = dm} off';

 
或者:

C. 跟踪已经开始运行的 DataPump 导入进程:

在 SQL*Plus 中, 获取 DataPump 进程信息:

SQL> connect / as sysdba

SQL> set lines 150 pages 100 numwidth 7 
SQL> col program for a38 
SQL> col username for a10 
SQL> col spid for a7 
SQL> select to_char (sysdate, 'YYYY-MM-DD HH24:MI:SS') "DATE", s.program, s.sid, s.status, s.username, d.job_name, p.spid, s.serial#, p.pid   
     from   v$session s, v$process p, dba_datapump_sessions d  
     where  p.addr = s.paddr and s.saddr = d.saddr and
            (UPPER (s.program) LIKE '%DM0%' or UPPER (s.program) LIKE '%DW0%');

 

确认 Data Pump Worker SID 和 SERIAL# (例如,对于 DM<xx> 和 DW<xx> 进程)。

以 level 12跟踪 Master/Worker 进程 (bind 和 wait 信息):

SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 12, '');

 

等待一段时间(至少1 小时)捕获足够的信息。

结束跟踪: 

SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 0, '');

 
对于所有方法,DataPump Master 和Worker trace文件都被写到BACKGROUND_DUMP_DEST 或者 <ADR_HOME>/trace。

有关为数据泵导入生成 SQL 跟踪的其他可用选项,请参阅文档:

Note 286496.1 Export/Import DataPump Parameter TRACE - How to Diagnose Oracle Data Pump
Note 813737.1 How To Use The New 11g Events++ Syntax For Easier SQL Tracing Of Datapump Operations?

 

5. 收集问题发生时的 AWR 信息。

参考 Note 748642.1 How to Generate an AWR Report and Create Baselines for instructions.

SQL> connect / as sysdba
SQL> @?/rdbms/admin/awrrpt.sql


6. 如果性能问题发生在特定的对象上 ,请提供以下输出:

SQL> connect / as sysdba
SQL> set long 20000
SQL> select owner,object_type,data_object_id from dba_objects where object_name='<OBJECT_NAME>';
SQL> select dbms_metadata.get_ddl('<OBJECT_TYPE>','<OBJECT_NAME>','<SCHEMA_NAME>') from dual;


7. 在问题发生时运行脚本 srdc_impdp_performance.sql。

    下载附件 srdc_impdp_performance.sql 脚本。 
    作为 SYSDBA 连接并在问题发生时运行脚本:

例子:

SQL> connect / as sysdba
SQL> @srdc_impdp_performance.sql
--等待10分钟
SQL> @srdc_impdp_performance.sql
--等待10分钟
SQL> @srdc_impdp_performance.sql

 

压缩(以 .zip,.tar 或 .gz 格式)所有上述文件,并在 SR 创建时将所有证据附加到服务请求。 在上载到 SR 之前以 impdp_performance_details_<date>.zip/.tar/.gz 命名文件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
望闻问切诊断问题
概述 攻城狮经常会遇到系统告警、网页打不开、用户投诉、数据错误等问题,如何快速诊断是解决问题的关键,当有些问题用自己习惯的三板斧不能立即定位时,静下心来试试本文提到的望闻问切的思路。 诊断问题就像看病一样,应该多方面多角度观察,开阔思路,准确把握,避免误诊,遇到问题不急不躁,可借鉴中医的“望闻问
3728 0
zabbix部署文档以及遇到的问题
zabbix的server、代理、agent搭建以及遇到的实际问题
2895 0
jQuery EasyUI API 中文文档 - 树表格(TreeGrid)
TreeGrid 树形表格 扩展自 $.fn.datagrid.defaults,用 $.fn.treegrid.defaults 重写了 defaults。 依赖 datagrid 用法 1.
1017 0
excel文件内容导入数据库的问题及解决
今天需要导一些数据,从excel导入到数据库中。 没有装现成的plsqldev,只能用sql*loader来弄了。 首先我把excel文件的内容转换成csv文件,以逗号分隔,在另存外excel文件的时候有那个选项。
1106 0
IMP-00013 问题及解决方法
昨天在生产上出现了一个问题,客户的dba发现,使用临时用户导出了一个dump之后,无法导入测试环境,报错是常见的IMP-00013: only a DBA can import a file exported by another DBA  这个问题一般碰到的处理方法就是在给目标环境的用户赋予dba权限,或者细粒度一些,赋予imp_full_database的权限,就能解决。
1098 0
kubeadm高可用master节点部署文档
kubeadm的标准部署里,etcd和master都是单节点的。 但上生产,至少得高可用。 etcd的高可用,用kubeadm微微扩散一下就可以。 但master却官方没有提及。 于是搜索了几篇文档,过几天测试一下。
1783 0
文档小喇叭 | 支付宝小程序开发常见问题 FAQ
小程序开发疑难杂症解决方案大盘点!
5938 0
+关注
acdante
HELLO_EARTH
11
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载