台灣最大程式設計社群網站
線上人數
1043
 
會員總數:245475
討論主題:189234
歡迎您免費加入會員
討論區列表 >> Oracle >> oracle 10g expdp/impdp
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
oracle 10g expdp/impdp
價值 : 100 QP  點閱數:4313 回應數:11

樓主

小島上的男人
初學者
92 79
1527 152
發送站內信

Hi All

小弟來請教oracle 高手一個問題了

小弟有一個來源DBoracle 10g 10.2.0.4.0 on 在windows 2008 r2 server(英文版) 上 要export 資料到目的DB oracle 10g 10.2.0.3.0 on在windows 2008 r2 server(中文版)上

來源DB export 指令如下:
echo off
expdp better/mf2000 directory=dpdata1 dumpfile=%date:~0,3%_%time:~0,2%_week1_better.dmp schemas=better job_name=better_export1 logfile=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_better.log
expdp mf2000/mf2000 directory=dpdata1 dumpfile=%date:~0,3%_%time:~0,2%_week1_favor.dmp schemas=mf2000 job_name=favor_export1 logfile=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_favor.log
expdp princeton/mf2000@orcl directory=dpdata1 dumpfile=%date:~0,3%_%time:~0,2%_week1_princeton.dmp schemas=princeton job_name=princeton_export1 logfile=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_princeton.log



tail -4 c:\dpdata\%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_better.log >> d:\dpdata\ALL_database.log
tail -4 c:\dpdata\%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_favor.log >> d:\dpdata\ALL_database.log
tail -4 c:\dpdata\%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_princeton.log >> d:\dpdata\ALL_database.log
echo ------------------------------------------------------------------------------------------------------------------------ >> d:\dpdata\ALL_database.log
echo ------------------------------------------------------------------------------------------------------------------------ >> d:\dpdata\ALL_database.log


echo copy to backup folder

xcopy c:\dpdata\*.dmp \\share\DB_backup\dump\ /y/d/c
xcopy c:\dpdata\*.log \\share\DB_backup\dump\log\ /y/d/c
xcopy c:\dpdata\*.dmp D:\oracle_backup\ /y/d/c
xcopy c:\dpdata\*.log D:\oracle_backup\log\ /y/d/c


del c:\dpdata\*.dmp /Q
del c:\dpdata\*_better.log /Q
del c:\dpdata\*_favor.log /Q
del c:\dpdata\*princeton.log /Q

echo xcopyfinish!
rem echo. & pause


目的主機db import 指令如下:

impdp system/oracle directory=dpdata1 dumpfile=THU_22_WEEK1_FAVOR.DMP schema
s=favor remap_schema=favor:mf2000 remap_tablespace=mf2000:mf2000 job_name=mf2000
_import logfile=imp.log


前置作業有在DB 上先create 好tablespace 及user 還有給權限
與執行下面指令
e:>mkdir dpdata
在目的DB 伺服器連上db 下下面指令
create directory dpdata1 as 'e:\dpdata';
grant read ,write on directory dpdata1 to mf2000
grant read ,write on directory dpdata1 to mftest



結果得到下面的錯誤訊息

連線至: Oracle Database 10g Release 10.2.0.3.0 - Production
ORA-39002: 無效的作業
ORA-39070: 無法開啟日誌檔.
ORA-29283: 檔案作業無效
ORA-06512: 在 "SYS.UTL_FILE", line 475
ORA-29283: 檔案作業無效

謝謝各位大大解答!

搜尋相關Tags的文章: [ oracle expdp ] , [ oracle impdp ] ,
本篇文章發表於2013-08-09 18:29
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

花旗蔘
檢舉此回應
plz check
1、'e:\dpdata' 這目錄存在否?
2、oracle instance 的啟動帳戶 是否對'e:\dpdata' 這目錄有足夠的權限?
本篇文章回覆於2013-08-09 22:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小島上的男人
檢舉此回應
Hi 花版主

謝謝你的回應!

我會查看看!感恩。
本篇文章回覆於2013-08-12 09:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

小島上的男人
檢舉此回應
HI 花版主

小弟剛看了一下

e:\下面確有dpdata 的目錄,這個目錄的下一層有個資料夾dpdata1

system(您所指的oracle instance 的啟動帳戶?這部分我的理解不知是否正確),對e:\dpdata\dpdata1 這個資料夾有讀、寫權限。

這樣是對的嗎?還是要給\e:\dpdata 授權?

謝謝指導
本篇文章回覆於2013-08-12 09:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

花旗蔘
檢舉此回應
1'啟動帳戶就是你 oracle instance對應的service 的登入帳戶.
2'你oracle directory 對應的folder(e:\dpdata),啟動帳戶對其要有充足的權限(讀/寫,...)
本篇文章回覆於2013-08-12 10:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

小島上的男人
檢舉此回應
HI 花版主

小弟剛看了一下

e:\下面確有dpdata 的目錄,這個目錄的下一層有個資料夾dpdata1

system(您所指的oracle instance 的啟動帳戶?這部分我的理解不知是否正確),對e:\dpdata\dpdata1 這個資料夾沒有讀、寫權限。

這樣是對的嗎?還是要給e:\dpdata 授權?

上面的問題似乎是因為小弟的資料夾名稱取錯導致,目前改正完資料夾名稱權限問題解決!

但想請問:下面指令

C:\>impdp system/mf2000 directory=dpdata1 dumpfile=THU_22_WEEK1_FAVOR.DMP schema
s=mf2000 remap_schema=mf2000:mf2000 remap_tablespace=mf2000:mf2000 job_name=mf20
00_import logfile=imp.log

意思是要匯出的來源Schemas:為mf2000,這個部分應該是對應

expdp mf2000/mf2000 directory=dpdata1 dumpfile=%date:~0,3%_%time:~0,2%_week1_favor.dmp schemas=mf2000 job_name=favor_export1 logfile=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%_favor.log

因為expdp 時的schemas為mf2000,我的目的資料庫有兩個不同使用者mf2000 與mftest 他們的預設tablespace 都是mf2000

想請教的是remap_schema=mf2000:mf2000 remap_tablespace=mf2000:mf2000

renmap_schema=來源schema:目的schema---> 都一樣是mf2000 可以嗎?(在不同機器上的不同使用者)

remap_tablespace=來源tablespace:目的remap_tablespace---->都一樣的tablespace 名稱mf2000(在不同機器上的tablespace只是名稱取一樣)

因為有ap 授權檔的問題所以名稱要更改比較麻煩!以上

謝謝指導
本篇文章回覆於2013-08-12 10:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

花旗蔘
檢舉此回應
可以
本篇文章回覆於2013-08-12 13:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

小島上的男人
檢舉此回應
Hi 花版主

目前正在匯入當中

但好像還是有些錯誤!

等完整跑完再看看log!謝謝您的幫忙。
本篇文章回覆於2013-08-12 16:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

小島上的男人
檢舉此回應
i 花版主


他停留在

處理物件類型schema_export/TABLE/STATICS/TABLE_STATISTICS好久

想請問一下!我們上面用的EXPDP 指令的意思嗎?(因為是前人留下來的,好像是有搭配ARCHIVE LOG FILE)

我用手動EXP 然後IMP 的速度也很快(是不同資料庫!這個資料庫的量大約只有一半)

但用EXPDP 與IMPDP 就好像很慢!這是甚麼原因呢?是我的指令有問題嗎?

謝謝
本篇文章回覆於2013-08-12 16:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
最有價值解答

花旗蔘
檢舉此回應
Q1:處理物件類型schema_export/TABLE/STATICS/TABLE_STATISTICS好久
A:
最後有impdp 有run完嗎?還是hang住 一直沒結果?

--有run完的話
速度快慢 取決於你的資料量、軟硬體環境等....
從語法上來看,沒啥特別之處,
若想加快速度,可加上exclude=statistics, 排除stat的匯入,
之後你要再補匯或是手動去收集,或是等系統預設排程收集 都行。

--一直hang的話
就要去check process 卡住的原因。


Q2:想請問一下!我們上面用的EXPDP 指令的意思嗎?(因為是前人留下來的,好像是有搭配ARCHIVE LOG FILE)
A:指令就是一般的語法,倒沒啥特別值得注意之處,
另外datapump 是logical backup,跟ARCHIVE LOG FILE沒關系。

Q3:我用手動EXP 然後IMP 的速度也很快(是不同資料庫!這個資料庫的量大約只有一半)
但用EXPDP 與IMPDP 就好像很慢!這是甚麼原因呢?是我的指令有問題嗎?

A:不同的db,不同資料量甚至不同的軟硬體環境,在比較基準上是不一致的。
若在相同的基準上,datapump 因走內部路線,效能會比傳統的exp/imp 好,
換句話說,若有datapump (10g new feature),我會用datapump 而不是exp/imp。

本篇文章回覆於2013-08-12 17:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

小島上的男人
檢舉此回應
Hi 花版主

您的回覆如下:

Q1:處理物件類型schema_export/TABLE/STATICS/TABLE_STATISTICS好久
A:
最後有impdp 有run完嗎?還是hang住 一直沒結果?

A:有跑完

--有run完的話
速度快慢 取決於你的資料量、軟硬體環境等....
從語法上來看,沒啥特別之處,
若想加快速度,可加上exclude=statistics, 排除stat的匯入,
之後你要再補匯或是手動去收集,或是等系統預設排程收集 都行。

imp.log 內容如下

為何會取消載入主要表格呢?

前半段

;;;
Import: Release 10.2.0.3.0 - Production on 星期一, 12 8月, 2013 16:09:14

Copyright (c) 2003, 2005, Oracle. All rights reserved.
;;;
連線至: Oracle Database 10g Release 10.2.0.3.0 - Production
已順利載入/取消載入主要表格 "SYSTEM"."MF2000_IMPORT"
啟動 "SYSTEM"."MF2000_IMPORT": system/******** directory=dpdata1 dumpfile=THU_22_WEEK1_FAVOR.DMP schemas=mf2000 remap_schema=mf2000:mf2000 remap_tablespace=mf2000:mf2000 job_name=mf2000_import logfile=imp.log
處理物件類型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件類型 SCHEMA_EXPORT/SYNONYM/SYNONYM
處理物件類型 SCHEMA_EXPORT/DB_LINK
處理物件類型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
處理物件類型 SCHEMA_EXPORT/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT
處理物件類型 SCHEMA_EXPORT/TABLE/TABLE
處理物件類型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 已匯入 "MF2000"."UDBER" 185.7 MB 772266 個資料列
. . 已匯入 "MF2000"."PCLN" 117.0 MB 223239 個資料列
. . 已匯入 "MF2000"."POLN" 46.86 MB 77560 個資料列
. . 已匯入 "MF2000"."BUYD" 41.82 MB 79757 個資料列
. . 已匯入 "MF2000"."UTMP_DATA" 25.02 MB 145648 個資料列
. . 已匯入 "MF2000"."REQD" 38.26 MB 79677 個資料列
. . 已匯入 "MF2000"."BCYD" 32.32 MB 70288 個資料列
. . 已匯入 "MF2000"."UTEMP" 27.05 MB 88782 個資料列
. . 已匯入 "MF2000"."MONIT" 26.58 MB 226652 個資料列
. . 已匯入 "MF2000"."ITTR" 23.36 MB 149195 個資料列
. . 已匯入 "MF2000"."UAVSUB" 20.04 MB 119310 個資料列
. . 已匯入 "MF2000"."DELD" 20.17 MB 72623 個資料列
. . 已匯入 "MF2000"."RCVD" 19.77 MB 68837 個資料列
. . 已匯入 "MF2000"."ARMD" 16.78 MB 60947 個資料列
. . 已匯入 "MF2000"."RCVCD" 16.37 MB 106399 個資料列
. . 已匯入 "MF2000"."INVD" 15.21 MB 73197 個資料列
. . 已匯入 "MF2000"."MONAG" 12.81 MB 226637 個資料列
. . 已匯入 "MF2000"."DARMD" 13.14 MB 58126 個資料列
. . 已匯入 "MF2000"."DBALD" 12.43 MB 73080 個資料列
. . 已匯入 "MF2000"."ITEM" 11.99 MB 37823 個資料列
. . 已匯入 "MF2000"."DBALS" 11.64 MB 72014 個資料列
. . 已匯入 "MF2000"."PCHD" 11.82 MB 37125 個資料列
. . 已匯入 "MF2000"."ITMS" 10.33 MB 37106 個資料列
. . 已匯入 "MF2000"."TRAND" 10.61 MB 66761 個資料列
. . 已匯入 "MF2000"."MNYRS" 9.476 MB 66727 個資料列
. . 已匯入 "MF2000"."UAINVD" 8.782 MB 71458 個資料列
. . 已匯入 "MF2000"."UTMP_ARMM" 6.443 MB 48476 個資料列
. . 已匯入 "MF2000"."DLPKD" 8.295 MB 69558 個資料列



中間匯入資料部分因為太多只截取部分沒資料的部分內容

. . 已匯入 "MF2000"."UBDEF" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UBKUP" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UBKUPS" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UBRMRT" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCACCK" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCACPL" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCBAIO" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCF8" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCHART" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCIOPL" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCRDT" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCXFBD" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCXFBK" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCXFBS" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UCXFIN" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDATA" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDATAP" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDAY" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDDDW" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDFTXT" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDSTK" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UDSTT" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UECHK" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UECOST" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEDMTIM" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEDOWM" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEDOWN" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEINSU" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEMACH" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UEPAWN" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UF8ID2" 0 KB 0 個資料列
. . 已匯入 "MF2000"."UF8ID9210" 0 KB 0 個資料列


後半段的錯誤可以幫我解析一下是甚麼原因嗎?

處理物件類型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39083: 無法建立物件類型 OBJECT_GRANT, 錯誤:
ORA-01917: 使用者或角色 'WFADMIN' 不存在
失敗的 sql 為:
GRANT SELECT ON "MF2000"."CDPT" TO "WFADMIN"
ORA-39083: 無法建立物件類型 OBJECT_GRANT, 錯誤:
ORA-01917: 使用者或角色 'WFADMIN' 不存在
失敗的 sql 為:
GRANT SELECT ON "MF2000"."CUST" TO "WFADMIN"
ORA-39083: 無法建立物件類型 OBJECT_GRANT, 錯誤:
ORA-01917: 使用者或角色 'WFADMIN' 不存在
失敗的 sql 為:
GRANT SELECT ON "MF2000"."FACT" TO "WFADMIN"
ORA-39083: 無法建立物件類型 OBJECT_GRANT, 錯誤:
ORA-01917: 使用者或角色 'WFADMIN' 不存在
失敗的 sql 為:
GRANT SELECT ON "MF2000"."TRAND" TO "WFADMIN"
ORA-39083: 無法建立物件類型 OBJECT_GRANT, 錯誤:
ORA-01917: 使用者或角色 'WFADMIN' 不存在
失敗的 sql 為:
GRANT SELECT ON "MF2000"."TRANM" TO "WFADMIN"
處理物件類型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理物件類型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
處理物件類型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
處理物件類型 SCHEMA_EXPORT/FUNCTION/FUNCTION
處理物件類型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
處理物件類型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
處理物件類型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
處理物件類型 SCHEMA_EXPORT/VIEW/VIEW
處理物件類型 SCHEMA_EXPORT/TABLE/TRIGGER
ORA-39082: 物件類型 TRIGGER:"MF2000"."X_TRAND" 已建立, 但有編譯警告
ORA-39082: 物件類型 TRIGGER:"MF2000"."X_TRANM" 已建立, 但有編譯警告
ORA-39082: 物件類型 TRIGGER:"MF2000"."X_POLN" 已建立, 但有編譯警告
ORA-39082: 物件類型 TRIGGER:"MF2000"."X_POHD" 已建立, 但有編譯警告
ORA-39082: 物件類型 TRIGGER:"MF2000"."X_BUYD" 已建立, 但有編譯警告
處理物件類型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
處理物件類型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
處理物件類型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
工作 "SYSTEM"."MF2000_IMPORT" 完成, 但有錯誤 10 (於 18:21:32)


謝謝您!
本篇文章回覆於2013-08-12 23:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

花旗蔘
檢舉此回應
Q1:為何會取消載入主要表格呢?
A:"已順利載入/取消載入主要表格 "SYSTEM"."MF2000_IMPORT" 這是正常訊息,不必在意。
MF2000_IMPORT就是你的job name, 若沒指定 job name,系統會給你預設值 ex:"IMPORT_SCHEMA_01"之類的。

Q2:ORA-01917: 使用者或角色 'WFADMIN' 不存在
A:這訊息很明確呀!

Q3:ORA-39082: 物件類型 已建立, 但有編譯警告
A:物件有compile warning,這要去自行check 原因!
也許在原db 就compile不過了!
本篇文章回覆於2013-08-13 10:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.