impdp/expdp報錯: ORA-39064: 無法寫入日誌檔案 ORA-29285: 檔案寫入錯誤

东北小狐狸發表於2024-08-07

問題現象

Windows伺服器匯入/匯出Oracle 11g資料庫出現如下報錯提示,輸出的日誌檔案從報錯位置往後不再輸出。

ORA-39064: 無法寫入日誌檔案
ORA-29285: 檔案寫入錯誤

問題原因

原因是客戶端環境變數NLS_LANG與資料庫字符集不一致,而資料泵在寫日誌檔案的時候使用的是————資料庫字符集,寫入到某些字元,如中文字元時兩種字符集相容,導致日誌輸出錯誤。

解決方法

將客戶端字符集變數設定與資料庫字符集保持一致。

以下是修復步驟:
1、查詢資料庫字符集,這裡是 SIMPLIFIED CHINESE_CHINA.AL32UTF8

#檢視測試庫
SQL> select userenv('language') from dual;
 
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

2、Win+R執行,輸入regedit開啟登錄檔管理器
登錄檔路徑:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\NLS_LANG
發現當前NLS_LANG的值為 SIMPLIFIED CHINESE_CHINA.ZHS16GBK,需要改為 SIMPLIFIED CHINESE_CHINA.AL32UTF8

相關文章