您好,登錄后才能下訂單哦!
作為一名程序員,經常會遇見一些詭異的事情,今天我就遇見一個,oracle數據通過數據泵impdp導入后出現亂碼,經過如下操作:
1.oracle server 端 字符集查詢:
select userenv('language') from dual
發現查出來的結果和我原導出數據的結果不一致;
原導出數據庫的結果為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
新數據的結果是:SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
2.server端字符集修改
更改字符集步驟方法(WE8ISO8859P1 --> ZHS16GBK)
登錄oracle所在linux服務器,通過oracle(數據庫安裝用戶)
登錄后,以管理員身份登錄sqlplus
SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
Database altered.
SQL> shutdown immediate;
SQL> startup
再次查看登錄系統,結果發現:
;
出現了這種憤怒的方式,于是我也是醉了,后來我決定重新再次導入數據:
3.數據泵導入命令:
(1).oracle創建directory:
create directory 名稱 as ‘路徑’;
drop directory 名稱 ;
例如:create directory bbsp_tmp as ‘/home/app’;
(2).linux下執行:
directory=名稱(已經創建的),將dmp文件存放在這個路徑下;
impdp 導入數據庫用戶/導入數據庫密碼 directory=名稱(已經創建的)dumpfile=*.dmp(dmp文件) remap_schema=原導出文件用戶名:導入數據用戶名;
例:impdp bbspzhun/bbspzhun directory=bbsp_tmp dumpfile=bbsp20181121.dmp remap_schema=bbsp:bbspzhun;
結果又出現了這個問題:expdp導出數據時碰到ora-39006錯誤,錯誤提示如下所示,
ORA-39006: internal error
ORA-39213: Metadata processing is not available
4.解決ORA-39006: internal error問題:
SQL> execute dbms_metadata_util.load_stylesheets;
PL/SQL procedure successfully completed.****
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。