第一種:網上搜索到的大多解決方法是說導出文件時使用的版本不一致問題,需要修改dmp文件的版本號。如果確定版本號確實不一樣,請自行搜索一下解決方法。
第二種:備份dmp文件時,備份的語句可能使用的是expdp命令備份的文件,如果是用expdp備份的文件,使用imp導入命令也是會報這樣的錯誤。
所以:導出dmp文件時,如果使用的是expdp命令導出文件時,應該使用impdp命令導入。如果使用的exp命令導出文件時,應該使用imp命令導入。
第二種具體解決步驟:
1、 一般導入都是先建立表空間、實例、用戶名
2、用impdp命令導入
(1) 使用或者客戶端(PL/SQL) 鏈接到相應的數據庫實例.
(2)創建邏輯目錄oracle 導出數據庫表結構,該命令不會在操作系統創建真正的目錄oracle 導出數據庫表結構,最好以等管理員創建。
as 'd:\test\dump'; (查看服務器上若沒有存在d:\test\dump目錄,則手動新建,把dmp備份文件放到d:\test\dump目錄下面)
(3)impdp導入數據
impdp bbcj/bbcj@orcl = =.dmp FULL=y;
注:
還需要根據導出的dmp,使用的表空間、用戶名。(需要提前通過sys/ 創建好了)
創建表空間:
create tablespace SEA_A2 datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' size 10000M;
-- 一定要設置自動增長
alter database datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' autoextend on;
刪除非空的表空間:
drop tablespace tablespaceName including contents;