程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> expdp導出遇到ORA-39064:無法寫入日志文件

expdp導出遇到ORA-39064:無法寫入日志文件

編輯:DB2教程

expdp導出遇到ORA-39064:無法寫入日志文件


expdp導出遇到ORA-39064: 無法寫入日志文件

. . 導出了 "USER_XXXX"."TAB_YYYY"                0 KB       0 行
ORA-39064: 無法寫入日志文件
ORA-29285: 文件寫入錯誤


經過搜索mos,有如下的文章給出了解決方案:
Error ORA-39064 Might Be Encountered By DataPump Export (EXPDP) When NLS_LANG Is Different From Database Character Set (Doc ID 1321034.1)

在該方案中給出的解決方案是:Please set the character set in environment variable NLS_LANG to database character set.


以下全文轉載該mos文章,不做翻譯:

Applies to:

Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
***Checked for relevance on 15-Apr-2013***

Symptoms

In a multi-byte character set environment, if the client variable NLS_LANG is set to a character set which is different from database the character set, then DataPump export may encounter errors like:

ORA-39064: unable to write to the log file
ORA-29285: file write error


The Utilities manual specifies:

"Note: Data Pump Export writes the log file using the database character set. If your client NLS_LANG environment setting sets up a different client character set from the database character set, then it is possible that table names may be different in the log file than they are when displayed on the client output screen."

Cause

This was investigated in Bug 6136923 (closed as 'Not a Bug') with reference to unpublihsed documentation bug 3174256.
DataPump internally uses the package UTL_FILE and this does not correctly return the characters during NLS conversion.

Solution

Please set the character set in environment variable NLS_LANG to database character set.

The following information was added to manual:

Oracle Database PL/SQL Packages and Types Reference
Using UTL_FILE:

"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."

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved