------故障描述--------------------
報錯信息:
ORA-39083: 對象類型 DEFAULT_ROLE 創建失敗, 出現錯誤:
ORA-01919: 角色 'ROLE_EMSP' 不存在
失敗的 sql 為:
ALTER USER "BFPUB_MALL" DEFAULT ROLE "CONNECT", "ROLE_EMSP"
------解決方案--------------------
既然導入的時候報錯了,說明源數據庫中是存在該對象的,那么首先要做的是,去源庫中查詢該角色的權限信息,然后在新的數據庫中,在sys用戶下,建一個角色 ROLE_EMSP,並賦給和源數據庫中相同的數據庫操作權限,然后再重新執行導入操作。
注:如果expdp按照schema方式導出的,在往新庫導入的時候,是沒有創建舊庫里的角色,表空間等對象的,在導入時,需要預先創建這些對象。
------其他報錯--------------------
ORA-31684 說明你要導入的用戶已經存在,不會重新創建。
如果要避免提示此錯誤,可以刪除掉hr用戶及其對象,如:
SQL>drop user hr cascade;
impdp可以自動創建相應的用戶,這點比imp好。