expdp备份速度慢的问题

--出口分析

--两个时间报表分析,该声明仅出口4,059,292  数据,10之后分钟数据没有继续出口

Snap Id  Snap Time  Sessions  Cursors/Session

Begin Snap:  39396  13-Jul-14 18:30:32  558  1.7

End Snap:    39407  13-Jul-14 20:20:07  556  1.7

Elapsed:     109.58 (mins)

DB Time:     16.76 (mins)

Snap Id Snap Time Sessions Cursors/Session

Begin Snap: 39396 13-Jul-14 18:30:32 558 1.7

End Snap:   39398 13-Jul-14 18:50:37 557 1.7

Elapsed:   20.09 (mins)

DB Time:   3.51 (mins)

Snap Id Snap Time Sessions Cursors/Session

Begin Snap: 39396 13-Jul-14 18:30:32 558 1.7

End Snap:   39417 13-Jul-14 22:00:18 559 1.7

Elapsed:    209.77 (mins)

DB Time:    27.15 (mins)

Begin Snap Time Sessions Cursors/Session

39396 13-Jul-14 18:30:32 558 1.7

End Snap:   39397 13-Jul-14 18:40:34 557 1.7

Elapsed:    10.03 (mins)

DB Time:    1.64 (mins)

--语句没运行完成

# Plan Hash Value Total Elapsed Time(ms) Executions 1st Capture Snap ID Last Capture Snap ID

1 2193842017            7,218            0               39397 39397

--问题时候的导出资源使用

Stat Name Statement Total Per Execution % Snap Total

Elapsed Time (ms) 7,218   0.72

CPU Time (ms) 3,035   0.35

Executions 0

Buffer Gets 139,102   0.34

Disk Reads 0   0.00

Parse Calls 0   0.00

Rows 4,059,292    -------------------------事实上我获取两个 awrsqlrpt报告分析。两个时间,也就是18点50 以后,没有数据导出

User I/O Wait Time (ms) 0

Cluster Wait Time (ms) 0

Application Wait Time (ms) 0

Concurrency Wait Time (ms) 0

Invalidations 0

Version Count 2

Sharable Mem(KB) 44

--22点导出时候资源使用

Snap Id Snap Time Sessions Cursors/Session

Begin Snap: 39421 13-Jul-14 22:40:22 557 1.7

End Snap: 39422 13-Jul-14 22:50:23 558 1.7

Elapsed:   10.02 (mins)

DB Time:   1.38 (mins)

Stat Name Statement Total Per Execution % Snap Total

Elapsed Time (ms) 18,405 18,404.69 22.24

CPU Time (ms) 7,555 7,554.87 10.43

Executions 1

Buffer Gets 354,583 354,583.00 35.03

Disk Reads 0 0.00 0.00

Parse Calls 1 1.00 0.05

Rows 10,555,042 10,555,042.00    ---一共导出怎么多数据(能够正常导出)

User I/O Wait Time (ms) 0

Cluster Wait Time (ms) 0

Application Wait Time (ms) 0

Concurrency Wait Time (ms) 0

Invalidations 0

Version Count 2

Sharable Mem(KB) 44

--以上问题给予语句分析:

SQL Id SQL   Text

bcjy9a9sp1uw9 SELECT /*+NESTED_TABLE_GET_REFS+*/ "KDTA_HIS"."H_ACK_DIVIDEND".* FROM "KDTA_HIS"."H_ACK_DIVIDEND"

--分析:导出发生意外。中止或者等待,或者LMON 引起latch

--会话等待事件分析:

SQL> select substrb(session_id,1,6)||‘.‘||substrb(session_serial#,1,4),

2         substrb(event,1,15),

3         BLOCKING_SESSION,

4         to_char(SAMPLE_TIME, ‘yyyymmdd hh24miss‘),

5         INSTANCE_NUMBER,

6         sql_id,

7         (select username

8            from dba_users b

9           where b.user_id = a.USER_ID

10             and rownum = 1) username,

11         substrb(program,1,10)

12    from DBA_HIST_ACTIVE_SESS_HISTORY a

13   where (SAMPLE_TIME >=

14         to_date(‘2014-07-13 01:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘) and

15         SAMPLE_TIME <=

16         to_date(‘2014-07-14 01:10:00‘, ‘yyyy-mm-dd hh24:mi:ss‘))

17     and a.module like ‘%exp%‘

18   order by session_id,SAMPLE_TIME;

SUBSTRB(SES SUBSTRB(EVENT,1 BLOCKING_SESSION TO_CHAR(SAMPLE_ INSTANCE_NUMBER SQL_ID        USERNAME                       SUBSTRB(PR

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

7638.4126                                    20140713 184020               1 88jm6j85t5b8z KDTA_HIS                       exp.exe

7638.4126   latch free                   529 20140713 184151               1               KDTA_HIS                       exp.exe--------

7638.4126                                    20140713 184643               1 g4kubvga4gnxc KDTA_HIS                       exp.exe

7638.4126   SQL*Net more da                  20140713 185145               1 dvjmxz20wf8xz KDTA_HIS                       exp.exe

--529 会话分析

SQL> select substrb(session_id,1,6)||‘.‘||substrb(session_serial#,1,4),

2         substrb(event,1,15),

3         BLOCKING_SESSION,

4         to_char(SAMPLE_TIME, ‘yyyymmdd hh24miss‘),

5         INSTANCE_NUMBER,

6         sql_id,

7         substrb(program,1,30)

8    from DBA_HIST_ACTIVE_SESS_HISTORY a

9   where (SAMPLE_TIME >=

10         to_date(‘2014-07-13 18:30:00‘, ‘yyyy-mm-dd hh24:mi:ss‘) and

11         SAMPLE_TIME <=

12         to_date(‘2014-07-13 18:45:00‘, ‘yyyy-mm-dd hh24:mi:ss‘))

13     and a.session_id=529

14   order by session_id,SAMPLE_TIME;

SUBSTRB(SES SUBSTRB(EVENT,1 BLOCKING_SESSION TO_CHAR(SAMPLE_ INSTANCE_NUMBER SQL_ID        SUBSTRB(PROGRAM,1,30)

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

529.1                                        20140713 183204               2              
[email protected] (LMON)

529.1                                        20140713 183215               2              
[email protected] (LMON)

529.1                                        20140713 183609               1              
[email protected] (LMON)

529.1                                        20140713 184151               1              
[email protected] (LMON)------------

529.1                                        20140713 184218               2              
[email protected] (LMON)

529.1                                        20140713 184332               1              
[email protected] (LMON)

--dump systemstate 已经无法分析当时数据

--分析awr报告。没有发现latch 问题

-- 下次遇到这个问题的是及时进行一下操作

--1 登录数据库

sqlplus /nolog

conn / as sysdba

oradebug setmypid

oradebug dump systemstate 10

oradebug tracefile_name

--2 能够的话再运行一次

1  获取process id

ps -ef|grep expdp

id

2 10046分析

SQL> select to_char(a.last_analyzed,‘yyyymmdd hh24miss‘) from dba_tables a where table_name=‘H_ACK_DIVIDEND‘;

TO_CHAR(A.LAST_

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

20140713 181130

SQL>

异常中止或者lmon引起等待挂起,根源原因分析不出来!

版权声明:本文博主原创文章。博客,未经同意不得转载。

时间: 2024-08-10 17:06:15

expdp备份速度慢的问题的相关文章

生产环境提升rman备份速度----启动块跟踪

[环境] AIX(5300-08).oracle10g(10.2.0.1.0-64bit) [目标] 由于生产环境数据量较大,欲加快rman备份的速度 [方法] 启动块跟踪 [操作] SQL> alter database enable block changetracking using file '/home/oracle/block.trc'; Database altered. SQL> select filename fromv$block_change_tracking; FILE

expdp备份缓慢问题分析

--导出问题分析 --两个时间语句分析,该语句只导出4,059,292  数据,10分钟后数据没有继续导出 Snap Id  Snap Time  Sessions  Cursors/Session Begin Snap:  39396  13-Jul-14 18:30:32  558  1.7 End Snap:    39407  13-Jul-14 20:20:07  556  1.7 Elapsed:     109.58 (mins) DB Time:     16.76 (mins)

oracle 11g expdp 备份解决空表无法备份

之前做oracle 备份用的都是exp,但exp在11g上存在一个问题,就是无法导出空表. 最近做oracle 数据迁移,需要将空表一同导出,经过搜索,找到了expdb 于是有了此文. 此文仅作记录其中问题,以及我个人对expdp 的理解 在使用expdp impdp之前,需要先建立目录对象,并赋予用户权限.这是因为expdp impdp只能通过DIRECTORY对象关系,将数据存入系统目录. 注:红色部分要替换成实际值 expdp 导出 创建DIRECTORY对象和OS PATH映射,并赋予权

oracle expdp 备份脚本

#!/bin/bash#Oracle 环境变量 NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ORACLE_SID=zgw ORACLE_BASE=/opt/oracle ORACLE_HOME=/opt/oracle/11g PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export ORACLE_SID ORACLE_BASE ORACLE_HOME NLS_LANG PATH #获取时间戳 export BAKUPTIME=`date

expdp 备份数据库-附带报错信息

操作系统层面创建目录 [[email protected] ~]# mkdir -p /home/oracle/db_back/ 修改目录的所属用户.所属组 [[email protected] ~]# chown -R oracle:oinstall /home/oracle/db_back/ 给目录授予相应的权限 (用户对 该目录应该有  读+写+执行 的权限) [[email protected] ~]# chmod 700 /home/oracle/db_back/ oracle数据库层

expdp 备份数据库

操作系统层面创建目录 [[email protected] ~]# mkdir -p /home/oracle/db_back/ 2. 修改目录的所属用户.所属组 [[email protected] ~]# chown -R oracle:oinstall /home/oracle/db_back/ 3. 给目录授予相应的权限 (用户对 该目录应该有  读+写+执行 的权限) [[email protected] ~]# chmod 700 /home/oracle/db_back/ 4. o

RMAN中FILESPERSET设置对备份速度的影响

看到网上部分人说不指定FILESPERSET(默认值=64)则会导致分配的通道只走第一个而导致备份效率低下,今天仔细研究了一下,参照了多个博主文章,得出结论如下: 如果没有指定filesperset,rman比较计算出来的值(文件数目除以已分配的通道)和默认值64, 并取其中较小的那个值来保证所有通道可用. Rman通常尝试创建足够的备份集以使所有已分配的通道有事可做.一个例外是通道比要备份的文件还要多 例如: A. filesperset设置为6,数据文件数目为30,通道数据为4,通过30/4

Linux环境下Oracle数据泵(expdp)备份报ORA-39006: internal error

问题描述: Oracle一直用数据泵备份,今天在终端备份时突然报ORA-39006: internal error错误. 数据泵导出日志文件为以下信息: ORA-39097: Data Pump job encountered unexpected error -31644 ORA-39065: unexpected master process exception in FILE ORA-31644: unable to position to block number 2 in dump f

liunx centos 下oracle expdp备份导出 sh脚本

dmpfile=bakexpdp$(date +%Y%m%d).dmplogfile=bakexpdp$(date +%Y%m%d).logexpdp user/[email protected] directory=data_dir dumpfile=$dmpfile full=y log=$logfile; 原文地址:https://blog.51cto.com/mflag/2446289