联系:手机/微信(+86 17813235971) QQ(107644445)
标题:expdp报ORA-39064 ORA-29285错误
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
expdp导出数据,报错ORA-39064 ORA-29285错误,导致datapump的logfile记录的日志不全
. . 导出了 "HCP"."HR_ADJ_SAL_ADV_SETUP_M" 0 KB 0 行 ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误 . . 导出了 "HCP"."HR_ADJ_SAL_CONFIRM" 0 KB 0 行
查询数据库NLS_CHARACTERSET
SQL> select NAME, value$ from props$ where name like 'NLS_CHARACTERSET'; NAME ------------------------------ VALUE$ -------------------------------------------------------------------------------- NLS_CHARACTERSET UTF8
查看客户端字符集
SQL> select userenv('language') from dual; USERENV('LANGUAGE') -------------------------------------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK
出现这个问题,是由于expdp本身调用UTL_FILE,在Oracle Database PL/SQL Packages and Types Reference中有When data encoded in one character set is read and Globalization Support is told (such as by means of NLS_LANG) that it is encoded in another character set, the result is indeterminate. If NLS_LANG is set, it should be the same as the database character set.
基于这样的情况,通过设置NLS_LANG在客户端字符集和服务端一致,就不会出现该问题