expdp備份緩慢問題分析,expdp備份分析

來源:互聯網
上載者:User

expdp備份緩慢問題分析,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              oracle@KXYEB02 (LMON)
529.1                                        20140713 183215               2              oracle@KXYEB02 (LMON)

529.1                                        20140713 183609               1              oracle@KXYEB01 (LMON)
529.1                                        20140713 184151               1              oracle@KXYEB01 (LMON)------------
529.1                                        20140713 184218               2              oracle@KXYEB02 (LMON)
529.1                                        20140713 184332               1              oracle@KXYEB01 (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引起等待掛起,根源原因分析不出來!

 

 

 


問oracle impdp/expdp恢複備份的問題

參數exclude:
exclude=object_type[:name_clause][,...]
比如:impdp user/pass DIRECTORY=dmpdir DUMPFILE=user.dmp exclude=PROCEDURE:"in('p1', 'p2')",TABLE_STATISTICS
 
Oracle 進行expdp資料備份時怎讓檔案名稱自動包含日期資訊

用dos命令列的吧

1. 把機器上的日期格式調整為固定格式,比如:2012-09-01
保證dos命令的date的格式

2. "%date:~0,4%" 表示取日期中的4位年份(針對上面的格式)
"%date:~5,2%" 取2位月份
"%date:~8,2%" 取2位日

3. 用exp樣本:
exp user/pwd@orcl file="e:\orcl%date:~0,4%%date:~5,2%%date:~8,2%.dmp"
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.