監控資料備份恢復完成進度(EXPDP/IMPDP/RMAN)

lovehewenyu發表於2014-10-27
監控資料備份恢復完成進度(EXPDP/IMPDP/RMAN)
 
一、檢視EXPDP/IMPDP的進度
1 兩個檢視
當你當如匯出的時候,如果資料量比較大,中途有些人會著急,不免想看看進度如何,利用兩個檢視就可以看:


DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS檢視
col owner_name for a10
col job_name for a20
col operation for a10
col job_mode for a10
col state for a20
col degree for a10
col  ATTACHED_SESSIONS for a30
col DATAPUMP_SESSIONS for a30
set linesize 200
 


格式化只是為了好看,也可以不用,直接用PL/SQL DEVELOPER圖形工具。
 
可以使用DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS檢視來顯示資料泵取作業的資訊。


select * from DBA_DATAPUBMP_JOBS;
select * from DBA_DATAPUMP_SESSIONS;
 
select sid,serial# from v$session s,dba_datapump_sessions d where s.saddr=d.saddr;
 
補充一下,前面的sql命令列格式化有點問題,number型的欄位應該用9999xxx(多個9) 而不是axx,否則會出現一串串的#。
2 attach引數
1)檢視任務進度
當你使用crontab後臺任務執行匯入匯出任務的時候,想檢視任務進度,該引數很有用,可以讓你再次連線到已經斷開的會話中,再次接管匯出或匯入的任務,當然你得先用前面2個檢視查到jobname。
2)中途想停止crontab後臺任務
此時,該引數非常好用。因為你不這樣做,就得殺程式,而那麼多程式,通常都會出錯,如此暴利的殺程式方式,強烈滴不推薦。
舉例:
假如之前後臺任務的指令碼中,有類似命令:


expdp system/xxx   DIRECTORY=DATA_PUMP_DIR2  parallel=32  DUMPFILE=xxxx-%U.dmp  filesize=50G  LOGFILE=xxx.log SCHEMAS=xxx   job_name=lurou.exp
 


ATTACH引數解釋:將你的資料泵取客戶機會話加入到一個執行的作業中,並使你進行互動方式。此引數只能與使用者名稱/密碼組合一起使用。
 
此時你可以使用如下命令重新連線任務,並達到提前終止任務的目的:
 
expdp system/xxx   attach=lurou.exp
連線進去之後再執行help命令可以查到停止任務的命令,這裡就不列出來了
3 longops檢視
另也可以通過v$session_longops檢視來監控長期執行的會話。
 
4.通過語句檢視impdp進度


SELECT   a.tablespace_name,
         ROUND (a.total_size) "total_size(MB)",
         ROUND (a.total_size) - ROUND (b.free_size, 3) "used_size(MB)",
         ROUND (b.free_size, 3) "free_size(MB)",
         ROUND (b.free_size / total_size * 100, 2) || '%' free_rate
  FROM   (  SELECT   tablespace_name, SUM (bytes) / 1024 / 1024 total_size
              FROM   dba_data_files
          GROUP BY   tablespace_name) a,
         (  SELECT   tablespace_name, SUM (bytes) / 1024 / 1024 free_size
              FROM   dba_free_space
          GROUP BY   tablespace_name) b
 WHERE   a.tablespace_name = b.tablespace_name(+);
 


 
二、檢視RMAN備份進度
另外,檢視rman的備份進度,可以用如下語句,記錄備忘。


SELECT SID,OPNAME, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK
order by "%_COMPLETE"
desc

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-1310393/,如需轉載,請註明出處,否則將追究法律責任。

相關文章