impdp 匯入 schema的資料時會自動建立對應的使用者

paulyibinyi發表於2016-09-06


  impdp命令在匯入資料時,如果使用者存在,則會自動建立該使用者,

這是因為expdp匯出的dmp檔案中包含了建立使用者的指令碼資訊(包括密碼,預設表空間,臨時表空間等)

  而impdp自動建立使用者有一個前提條件,就是需要首先建立使用者的預設表空間和臨時表空間,如果預設表空間或者臨時表空間不存在,則自動建立使用者會失敗,導致匯入資料的失敗。

  會報相關以下錯誤:

ORA-00959: 表空間 'TEST1' 不存在
失敗的 sql 為:
 CREATE USER "TEST1" IDENTIFIED BY VALUES 'S:A0E893699F124E0EEE2D28B9E3F40B99B5E
596AA5E1CA568E8E81FBDE2C2;22F2E341BF4B8764' DEFAULT TABLESPACE "TEST1" TEMPORARY
 TABLESPACE "TEMP"
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: 物件型別 SYSTEM_GRANT 建立失敗, 出現錯誤:

這個sql會查出使用者名稱對應的表空間和預設臨時表空間
select username,default_tablespace,temporary_tablespace from dba_users;

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

相關文章