ora-39064:无法写入日志文件 [Windows]系统下Oracle数据库 expdp/impdp 导入导出时log日志输出乱码问题

Windows系统下Oracle数据库 expdp/impdp 导入导出时如下报错时
图片[1] - ora-39064:无法写入日志文件  [Windows]系统下Oracle数据库 expdp/impdp 导入导出时log日志输出乱码问题 - 技术SOLO

原因

  • 数据泵在写日志文件的时候,使用的是数据库字符集
  • 客户端的环境变量NLS_LANG得值和数据库字符集不一致

解决办法

查看数据库字符集

select userenv('language') from dual;

图片[2] - ora-39064:无法写入日志文件  [Windows]系统下Oracle数据库 expdp/impdp 导入导出时log日志输出乱码问题 - 技术SOLO

查看操作系统的NLS_LANG设置

  1. 打开注册表(regedit)
  2. 进入计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB19Home1
    oracle数据库版本不一样,最后一个文件夹也会不同,根据自己版本选择
  3. 更改NLS_LANG数据项内容为上面查出来的数据库字符集值

图片[3] - ora-39064:无法写入日志文件  [Windows]系统下Oracle数据库 expdp/impdp 导入导出时log日志输出乱码问题 - 技术SOLO

更改注册表有风险,建议提前备份注册表数据
更改后,有概率会导致cmd对话框显示的文字乱码,但此时log文件保存的文字是正常的

© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容