oracle数据出现愤怒加密算法

作为一名程序员,经常会遇见一些诡异的事情,今天我就遇见一个,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

再次查看登录系统,结果发现:
oracle数据出现愤怒加密算法
出现了这种愤怒的方式,于是我也是醉了,后来我决定重新再次导入数据:
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.****

猜你喜欢

转载自blog.51cto.com/8582235/2319757