首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle EXP-00091 "Exporting questionable statistics" 兩種解決方法

     編輯:MySQL 資料庫相關知識

使用 exp 導出時出現警告:

EXP-00091: Exporting questionable statistics.

原因:客戶端環境變數 NLS_LANG 與資料庫字符集 NLS_CHARACTERSET 不一致,導致統計資訊字符集轉換異常。

環境確認

$ echo $NLS_LANG
AMERICAN

SQL> SELECT parameter, value FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';
PARAMETER                   VALUE
--------------------------- ------------------------------
NLS_CHARACTERSET            ZHS16GBK
NLS_NCHAR_CHARACTERSET      AL16UTF16

方法一:統一 NLS_LANG (推薦,保留統計資訊)

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
# 或寫入 ~/.bash_profile 永久生效

exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT file=/tmp/x.dmp log=/tmp/x.log
# 輸出: Export terminated successfully without warnings.

方法二:跳過統計資訊導出 (快速、不影響資料)

exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT file=/tmp/x.dmp log=/tmp/x.log statistics=none
# 輸出: Export terminated successfully without warnings.

補充說明

  • statistics=none 會跳過導出表/索引/欄位的統計資訊,導入後需手動 DBMS_STATS.GATHER_TABLE_STATS 重新收集。
  • 若頻繁跨環境遷移,建議腳本統一設定 NLS_LANG=.AL32UTF8 (Oracle 通用 UTF-8 別名) 或目標資料庫字符集。
  • Data Pump (expdp/impdp) 內建字符集轉換,較少遇到此問題,新專案建議改用 Data Pump。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved