本文共 1395 字,大约阅读时间需要 4 分钟。
作为一名程序员,经常会遇见一些诡异的事情,今天我就遇见一个,oracle数据通过数据泵impdp导入后出现乱码,经过如下操作:
1.oracle server 端 字符集查询:
select userenv('language') from dual
发现查出来的结果和我原导出数据的结果不一致;原导出数据库的结果为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK新数据的结果是:SIMPLIFIED CHINESE_CHINA.WE8ISO8859P12.server端字符集修改更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK)登录oracle所在linux服务器,通过oracle(数据库安装用户)登录后,以管理员身份登录sqlplusSQL> 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 errorORA-39213: Metadata processing is not available4.解决ORA-39006: internal error问题:SQL> execute dbms_metadata_util.load_stylesheets;PL/SQL procedure successfully completed.****转载于:https://blog.51cto.com/8582235/2319757