日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EXP-00091 正在导出有问题的统计信息 问题的解决(转)

發布時間:2024/8/26 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EXP-00091 正在导出有问题的统计信息 问题的解决(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
EXP-00091 正在導出有問題的統計信息 問題的解決

治標不治本的解決方法:exp 命令的最后 加上 STATISTICS=NONE;;

此內容摘錄字互聯網,方便大家查詢使用

EXP-00091 正在導出有問題的統計信息 問題的解決

EXP-00091 正在導出有問題的統計信息。?
問題:?
. 正在導出表 BONUS導出了 0 行?
EXP-00091: 正在導出有問題的統計信息。?
. . 正在導出表 DEPT導出了 4 行?
EXP-00091: 正在導出有問題的統計信息。?
EXP-00091: 正在導出有問題的統計信息。?
. . 正在導出表 EMP導出了 12 行?
EXP-00091: 正在導出有問題的統計信息。?

分析原因:?
在數據庫的服務器端和客戶端字符集不同的情況下,導出(dump)數據庫表時,會產生這個錯誤。(雖然產生這個錯誤?

,但好像對導入沒有影響。網上的說法 )?
解決方法:?
step 1 先查看數據庫服務器數據的字符集:?
a.打開SQLPLUS,用sys用戶登錄。?
b .執行SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';。?
其中'NLS_CHARACTERSET'必須為大寫。?
PARAMETER?
--------------------?
VALUE?
--------------------?
SIMPLIFIED CHINESE_CHINA.AL32UTF8?
或者?
SQL> select userenv('language') from dual;?

USERENV('LANGUAGE')?
或者?
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'?
or?
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';?
--------------------------------------------------------------------------------?

SIMPLIFIED CHINESE_CHINA.AL32UTF8?

step 2 根據step1查出的NLS_CHARACTERSET來修改exp 的環境變量:?
(Linux環境)?
在oracle用戶的.bash_profile文件加入?
export NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 //AMERICAN_AMERICA.ZHS16GBK?

(Windows環境)?
1、打開注冊表,依次進入HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0目錄。?
2、察看NLS_LANG的值。?
3、將其修改為數據庫服務器端字符集相同的字符。?
或?
臨時設定環境變量?
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8?

這樣雖然在exp 的時候,不會再報exp -00091 但是dos 下的提示信息卻變成亂碼了,但是這個不影響exp .?
導出完后再 set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 即可?

查看操作系統默認的字符集:?
dos下 chcp?
活動的代碼頁:936?
代碼頁936也就是中文字符集 GBK,在Microsoft的官方站點上,我們可以遭到關于936代碼頁的具體編碼規則,請參考以下鏈接:?
http://www.microsoft.com/globaldev/reference/dbcs/936.htm?

附上exp-91的oracle error message 解決方案說明:?

oerr exp 91?
00091, 00000, "Exporting questionable statistics."?
// *Cause: Export was able export statistics, but the statistics may not be?
// usuable. The statistics are questionable because one or more of?
// the following happened during export: a row error occurred, client?
// character set or NCHARSET does not match with the server, a query?
// clause was specified on export, only certain partitions or?
// subpartitions were exported, or a fatal error occurred while?
// processing a table.?
// *Action: To export non-questionable statistics, change the client character?
// set or NCHARSET to match the server, export with no query clause,?
// export complete tables. If desired, import parameters can be?
// supplied so that only non-questionable statistics will be imported,?
// and all questionable statistics will be recalculated.?


http://hi.chinaunix.net/?uid-11771621-action-viewspace-itemid-21593?
http://www.diybl.com/course/7_databases/oracle/oraclejs/20091024/179978.html?
學習oracle字符集?

Using Globalization Support?

select * from v$nls_valid_values?

1.create database?
character set?

2.some concepts?
OS:LANG?
NLS_LANG?
DB:NLS_LANGUAGE?

環境變量(客戶端)?
NLS_LANG = language_territory.charset?
它有三個組成部分(語言、地域和字符集),每個成分控制了NLS子集的特性。其中:?
Language指定服務器消息的語言,?
territory指定服務器的日期和數字格式,?
charset指定字符集。?
如:AMERICAN_AMERICA.ZHS16GBK?
SIMPLIFIED CHINESE_CHINA.ZHS16GBK?
SIMPLIFIED CHINESE_CHINA.al32utf8?
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1?
從NLS_LANG的組成我們可以看出,真正影響數據庫字符集的其實是第三部分。?
所以兩個數據庫之間的字符集只要第三部分一樣就可以相互導入導出數據,?
前面影響的只是提示信息是中文還是英文。?
win:?
C:\>set NLS_LANG=?
C:\>echo %NLS_LANG%?
%NLS_LANG%?
C:\>sqlplus scott/tiger@10g?
SQL> select userenv('language') from dual;?
SIMPLIFIED CHINESE_CHINA.ZHS16GBK?
SQL> select * from test;?
1 hello?
2 張飛?
sql>select * from hh;?
第 1 行出現錯誤:?
ORA-00942: table or view does not exist?
sql>quit?
C:\>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK?
C:\>echo %NLS_LANG%?
AMERICAN_AMERICA.ZHS16GBK?
C:\>sqlplus scott/tiger@10g?
SQL> select * from hh;?
ERROR at line 1:?
ORA-00942: table or view does not exist?
C:\>set NLS_LANG=simplified chinese_china.zhs16gbk?
C:\>echo %NLS_LANG%?
simplified chinese_china.zhs16gbk?
C:\>sqlplus scott/tiger@10g?
SQL> select * from hh;?
第 1 行出現錯誤:?
ORA-00942: table or view does not exist?

NLS_LANG=simplified chinese_china.zhs16gbk?

很多人都碰到過因為字符集不同而使數據導入失敗的情況。?
這涉及三方面的字符集,?
一是Oracel server端的字符集,?
二是oracle client端的字符集,?
三是dmp文件的字符集。在做數據導入的時候,需要這三個字符集都一致才能正確導入。?

3.Oracle Server端和Client端的字符集?
查詢Oracle Server端的字符集?
SQL>select userenv('language') from dual;?
SIMPLIFIED CHINESE_CHINA.ZHS16GBK?
select * from props$?
SELECT parameter, value FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';?
查詢Oracle client端的字符集:?
在Windows平臺下,就是注冊表里面相應OracleHome的NLS_LANG.?
還可以在Dos窗口里面自己設置,比如:set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK?
在Unix平臺下 $echo $NLS_LANG?

4.exp imp 時的字符集轉換?
C:\>set NLS_LANG=simplified chinese_china.zhs16gbk?
C:\>exp scott/tiger@10g owner=scott file=scott.dmp?
查詢dmp文件的字符集:用Oracle的exp工具導出的dmp文件也包含了字符集信息,?
dmp文件的第2和第3個字節記錄了dmp文件的字符集。?
如果dmp文件不大,比如只有幾M或幾十M,可以用UltraEdit打開(16進制方式),?
看第2第3個字節的內容,如0354,然后用以下SQL查出它對應的字符集:?
scott:?
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;?
ZHS16GBK?
如果dmp文件很大,比如有2G以上(這也是最常見的情況),?
用文本編輯器打開很慢或者完全打不開,可以用以下命令(在unix主機上):?
cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6?
然后用上述SQL也可以得到它對應的字符集。?

5.不建議修改oracle數據庫server端的字符集?
特別說明,我們最常用的兩種字符集ZHS16GBK(new)和ZHS16CGB231280(字符少,舊)之間不存在子集和超集關系,?
因此理論上講這兩種字符集之間的相互轉換不受支持。?
修改Server端字符集(不建議使用):?
在Oracle 8之前,可以用直接修改數據字典表props$來改變數據庫的字符集。?
但Oracle8之后,至少有三張系統表記錄了數據庫字符集的信息,只改props$

總結

以上是生活随笔為你收集整理的EXP-00091 正在导出有问题的统计信息 问题的解决(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。