將Oracle 12c的某用戶數據遷移至OracleXE的用戶

前言:OracleXE全稱爲oracle database 11g express edition 。Oracle Database 11g Express Edition是 Oracle 數據庫的免費版本,支持標準版的大部分功能,11g Express Edition 提供 Windows 和 Linux 版本 。html

因爲本次任務是跨Oracle的兩個版原本遷移數據,故只能使用expdp命令來實現導出、導入。具體步驟以下:數據庫

一、用sys用戶登陸Oracle 12c ,建立目錄DIRECTORY。以下:建立了名爲‘CS_DB’的目錄express

CREATE OR REPLACE DIRECTORY 
CS_DB AS 
'E:\easyman_hlz\LM\data';

二、導出用戶C##LM的數據。須要給導出文件設定須要的Oracle版本號,本目標OracleXE的版本號爲 11.2.0.2.0 oracle

     查詢oracle的版本號: select * from v$version; post

        

三、導出命令以下:編碼

expdp C##LM/C##LM@ORCL schemas=C##LM dumpfile=LM20180809_2expdp.dmp DIRECTORY=CS_DB version= 11.2.0.2.0

說明:導出用戶C##LM下的全部對象至文件LM20180809_2expdp.dmp中,文件放置在目錄CS_DB下,導出的文件面向於導入的Oracle版本號爲11.2.0.2.0url

四、切換至安裝了OracleXE的終端,在庫中建立CS_DB目錄,並將剛纔導出的文件LM20180809_2expdp.dmp拷貝至該目錄spa

五、在OracleXE上建立C##LM用戶,創建表空間Tablespace,名爲LM,便於後期清理數據,將C##LM用戶的表空間指定爲LM(該步驟可經過toad完成)code

     

修改用戶的表空間:htm

六、導入數據至OracleXE的C##LM用戶中,命令以下:

IMPDP C##LM/C##LM@XE DIRECTORY=CS_DB schemas=C##LM dumpfile=LM20180809_2EXPDP.DMP REMAP_TABLESPACE=SYSTEM:LM

說明:OracleXE的實例名XE非ORCL,因爲原導出用戶屬於SYSTEM表空間,故在此處須要特別指定導入至LM表空間中

七、導入過程當中可能會出現超出字符長度的問題,多是兩邊的編碼格式有差別,能夠人爲去調整導入用戶對應表字段的長度,而後從新導出、導入。

八、經過toad訪問已導入數據後的用戶C##LM


參考連接:

Oracle 關於expdp和impdp的應用實踐

相關文章
相關標籤/搜索