2013-09-27 59 views
0

我有轉儲文件,我認爲已經使用exp命令,而不是EXPDP導入的Oracle轉儲文件

轉儲文件大約爲4 GB,我想將其導入我的Oracle數據庫11.2創建的Oracle。

其中創建轉儲文件有表空間「spaceA」,但我的表是「spaceB」

所以,我需要重新映射表空間爲好。

我沒有使用之前IMPDP命令,它使用,因爲我不是很熟悉,工作完全正常,但你猜我的理解 IMPDP只能在轉儲文件中使用,如果使用的expdp出口..

導出/導入過程中,我想獲得這方面的幫助

回答

1

如果表空間沒有硬編碼在dmp文件中創建表語句,那麼你應該能夠導入沒有問題。所以我的建議是首先嚐試像以下(詳情:http://docs.oracle.com/cd/E11882_01/server.112/e10701/original_import.htm

imp user/[email protected] file=FILE.dmp log=LOG.log fromuser=DMPSCHEMA touser=NEWSCHEMA 

如果得到IMP-00017錯誤。那麼你必須採取更長的路線。您需要先創建表格,然後使用ignore = y進行導入。

首先創建你所需要的DDL語句,您可以通過運行獲得表:

imp user/[email protected] file=FILE.dmp log=LOG.log full=y indexfile=INDEXFILE.log 

的INDEXFILE.log將包含所有創建表的語句。使用「spaceB」查找並替換「spaceA」,創建表格,然後使用ignore = y參數運行導入,忽略表格創建錯誤(因爲表格已存在)並加載數據:

imp user/[email protected] file=FILE.dmp log=LOG.log fromuser=DMPSCHEMA touser=NEWSCHEMA ignore=y 
imp user/[email protected] file=FILE.dmp log=LOG.log fromuser=DMPSCHEMA touser=NEWSCHEMA ignore=y