作为一名程序员,经常会遇见一些诡异的事情,今天我就遇见一个,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 errorORA-39213: Metadata processing is not available4.解决ORA-39006: internal error问题:SQL> execute dbms_metadata_util.load_stylesheets;PL/SQL procedure successfully completed.****
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|