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


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

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

1、用sys用戶登錄Oracle 12c ,創建目錄DIRECTORY。如下:創建了名為‘CS_DB’的目錄

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

2、導出用戶C##LM的數據。需要給導出文件設定需要的Oracle版本號,本目標OracleXE的版本號為 11.2.0.2.0 

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

        

3、導出命令如下:

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.0

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

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

     

修改用戶的表空間:

6、導入數據至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表空間中

7、導入過程中可能會出現超出字符長度的問題,可能是兩邊的編碼格式有差異,可以人為去調整導入用戶對應表字段的長度,然后重新導出、導入。

8、通過toad訪問已導入數據后的用戶C##LM


參考鏈接:

Oracle 關於expdp和impdp的應用實踐

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM