一、查看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
通過expdp&impdp把11g的資料移轉到10g平台的要點
Oracle Data Pump使用範例及部分注意事項(expdp/impdp)
Oracle datapump expdp/impdp 匯入匯出資料庫時hang住
expdp/impdp做Oracle 10g 到11g的資料移轉