錯誤
- 在使用IMP命令導入Oracle數據的時候,因為導出數據的數據庫表空間和導入數據的數據庫表空間不同,導致導入數據失敗,出現:tablespace 'XXXX' does not exist
- 在網上找了很多教程,說是使用IMP命令指定表空間,試過之后沒有產生作用,只好另想他法。
- Next
解決辦法
- 思路:將導入數據的數據庫表空間修改為和數據相匹配的名稱,將數據導入之后,再將表空間名稱修改過來。
- 步驟
- 以(導入數據庫表空間名稱:ZHB2;數據源表空間名稱:HNQY_DATA)為例。
- 查看導入數據庫的表空間名稱
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name;
- 記下表空間名稱!!!
- 當前表空間名稱為:ZHB2
- 修改的表空間名稱為:HNQY_DATA
- 修改表空間名稱
alter tablespace ZHB2 rename to HNQY_DATA;
- 導入數據
imp HNQY/HNQY@ORCL file='/home/oracle/HNQS0607.dmp' fromuser=HNQY touser=cz_zcgl ignore=y;
- 將表空間修改回ZHB2
alter tablespace HNQY_DATA rename to ZHB2;
- Next