共計 949 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章給大家介紹如何解決 Oracle expdp/impdp 數據遷移過程中字符集不一致的問題,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
前提:
源端字符集:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
目標端字符集:AMERICAN _ AMERICA. AL32UTF8
1. 查詢源端和目標端字符集類型:select userenv(‘language’) from dual;
2. 修改目標端字符集:
3. shutdown immediate;
4. STARTUP MOUNT;
5. ALTER SYSTEM ENABLE RESTRICTED SESSION;
6. ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
7. ALTER SYSTEM SET AQ_TM_PROCESSES=0;
8. ALTER DATABASE OPEN;
9. ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
10. alter system set NLS_LANGUAGE= SIMPLIFIED CHINESE scope=spfile;
11. alter system set NLS_TERRITORY= CHINA scope=spfile;
12. shutdown immediate;
13. startup;
14. 再次查看可看到字符集已與源端字符集一致。
15. 將導出的 DMP 文件上傳到 Linux 的 /home/oracle 目錄
16. 進入數據庫,創建 impdp 路徑:create directory expdir as‘/home/oracle’;
17. 授予 system 用戶讀寫該路徑權限:grant read,write on directory expdir to system;
18. 執行 impdp 操作:impdp system/***** directory=expdir dumpfile=$exp.dmp full=y logfile=$imp.log
關于如何解決 Oracle expdp/impdp 數據遷移過程中字符集不一致的問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。