2016-02-05 67 views
0

我使用this tuotrial導出/導入模式。本教程中的步驟一直工作到expdp命令,請參閱屏幕截圖: enter image description here使用expdp和impdp導出和導入模式

我正在使用oracle12c。任何想法?

+1

您是否已授予對正在導出的用戶的目錄的寫入權限? – kevinsky

+0

@kevinsky是的我做過 – Ronald

+0

Oracle目錄對象指向的操作系統目錄存在於數據庫服務器上,並且可以通過Oracle操作系統帳戶讀/寫? (創建一個Oracle目錄不會自動創建O/S目錄;我以前見過有人絆倒過) –

回答

2

article you linked to注意到:

目錄對象僅僅是一個指向物理目錄,則創建一個數據庫服務器的文件系統上並沒有實際創建的物理目錄。

您必須在數據庫之外單獨創建物理操作系統目錄。該物理目錄必須由運行Oracle數據庫的操作系統用戶可讀寫;因爲您似乎在Windows上將成爲服務運行的帳戶。

您可以在創建目錄對象之前或之後創建物理目錄,因爲它們是完全獨立的,除非Oracle試圖通過UTL_FILE或相關活動訪問它時 - 數據泵使用UTL_FILE,正如您從錯誤中看到的那樣消息堆棧。

CREATE DIRECTORY不檢查它指向的物理目錄是否存在;並且您可以在沒有Oracle注意的情況下刪除或創建物理目錄;只要它在你嘗試使用它時是可以訪問的。

the Oracle documentation

目錄對象指定服務器文件系統上的目錄別名...

對於文件存儲,還必須創建相應的操作系統目錄,Oracle自動存儲管理(Oracle ASM)磁盤組或Oracle ASM磁盤組中的目錄。您的系統或數據庫管理員必須確保操作系統目錄對Oracle數據庫進程具有正確的讀寫權限。

爲該目錄授予的權限獨立於爲操作系統目錄定義的權限而創建,並且這兩個權限可能完全一致,也可能不完全一致。例如,如果示例用戶hr在目錄對象上被授予READ權限,但相應的操作系統目錄沒有爲Oracle數據庫進程定義READ權限,則會發生錯誤。

+0

謝謝你解決了這個問題:) – Ronald