国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開(kāi)發(fā)教程 > 你對(duì)Oracle數(shù)據(jù)庫(kù)字符集究竟認(rèn)識(shí)多少?

你對(duì)Oracle數(shù)據(jù)庫(kù)字符集究竟認(rèn)識(shí)多少?
2010-01-17 10:59:56  作者:  來(lái)源:
本文從定義入手來(lái)講解對(duì)Oracle數(shù)據(jù)庫(kù)字符集如何全面認(rèn)識(shí)。 

  什么是Oracle字符集 

  Oracle字符集是一個(gè)字節(jié)數(shù)據(jù)的解釋的符號(hào)集合,有大小之分,有相互的包容關(guān)系。 

  Oracle支持國(guó)家語(yǔ)言的體系結(jié)構(gòu)允許你使用本地化語(yǔ)言來(lái)存儲(chǔ),處理,檢索數(shù)據(jù)。它使數(shù)據(jù)庫(kù)工具,錯(cuò)誤消息,排序次序,日期,時(shí)間,貨幣,數(shù)字,和日歷自動(dòng)適應(yīng)本地化語(yǔ)言和平臺(tái)。 

  影響oracle數(shù)據(jù)庫(kù)字符集最重要的參數(shù)是NLS_LANG參數(shù)。它的格式如下: 

  NLS_LANG = language_territory.charset 

  它有三個(gè)組成部分(語(yǔ)言、地域和字符集),每個(gè)成分控制了NLS子集的特性。其中: 

  Language 指定服務(wù)器消息的語(yǔ)言,territory 指定服務(wù)器的日期和數(shù)字格式,charset指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK。 

  從NLS_LANG的組成我們可以看出,真正影響數(shù)據(jù)庫(kù)字符集的其實(shí)是第三部分。所以?xún)蓚(gè)數(shù)據(jù)庫(kù)之間的字符集只要第三部分一樣就可以相互導(dǎo)入導(dǎo)出數(shù)據(jù),前面影響的只是提示信息是中文還是英文。 

  如何查詢(xún)Oracle的字符集 

  很多人都碰到過(guò)因?yàn)樽址煌箶?shù)據(jù)導(dǎo)入失敗的情況。這涉及三方面的字符集,一是Oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做數(shù)據(jù)導(dǎo)入的時(shí)候,需要這三個(gè)字符集都一致才能正確導(dǎo)入。 

  1、查詢(xún)Oracle Server端的字符集: 

  有很多種方法可以查出oracle server端的字符集,比較直觀的查詢(xún)方法是以下這種: 

  SQL>select userenv(‘language’) from dual; 

  結(jié)果類(lèi)似如下:AMERICAN _ AMERICA. ZHS16GBK。 

  2、如何查詢(xún)dmp文件的字符集: 

  用Oracle的exp工具導(dǎo)出的dmp文件也包含了字符集信息,dmp文件的第2和第3個(gè)字節(jié)記錄了dmp文件的字符集。如果dmp文件不大,比如只有幾M或幾十M,可以用UltraEdit打開(kāi)(16進(jìn)制方式),看第2第3個(gè)字節(jié)的內(nèi)容,如0354,然后用以下SQL查出它對(duì)應(yīng)的字符集: 

  SQL> select nls_charset_name(to_number('0354','xxxx')) from dual; 

  ZHS16GBK 

  如果dmp文件很大,比如有2G以上(這也是最常見(jiàn)的情況),用文本編輯器打開(kāi)很慢或者完全打不開(kāi),可以用以下命令(在unix主機(jī)上): 

  cat exp.dmp  od -x head -1 awk '{print $2 $3}' cut -c 3-6 

  然后用上述SQL也可以得到它對(duì)應(yīng)的字符集。 

  3、查詢(xún)Oracle client端的字符集: 

  這個(gè)比較簡(jiǎn)單。在Windows平臺(tái)下,就是注冊(cè)表里面相應(yīng)OracleHome的NLS_LANG。還可以在Dos窗口里面自己設(shè)置,比如: 

  set nls_lang=AMERICAN_AMERICA.ZHS16GBK 

  這樣就只影響這個(gè)窗口里面的環(huán)境變量。 在Unix平臺(tái)下,就是環(huán)境變量NLS_LANG。 

  $echo $NLS_LANG 

  AMERICAN_AMERICA.ZHS16GBK 

  如果檢查的結(jié)果發(fā)現(xiàn)Server端與Client端字符集不一致,請(qǐng)統(tǒng)一修改為同Server端相同的字符集。 

  修改Oracle的字符集 

  上文說(shuō)過(guò),oracle的字符集有互相的包容關(guān)系。 

  如us7ascii就是zhs16gbk的子集,從us7ascii到zhs16gbk不會(huì)有數(shù)據(jù)解釋上的問(wèn)題,不會(huì)有數(shù)據(jù)丟失。在所有的字符集中utf8應(yīng)該是最大,因?yàn)樗趗nicode,雙字節(jié)保存字符(也因此在存儲(chǔ)空間上占用更多)。 

  一旦數(shù)據(jù)庫(kù)創(chuàng)建后,數(shù)據(jù)庫(kù)的字符集理論上講是不能改變的。因此,在設(shè)計(jì)和安裝之初考慮使用哪一種字符集十分重要。根據(jù)Oracle的官方說(shuō)明,字符集的轉(zhuǎn)換是從子集到超集受支持,反之不行。如果兩種字符集之間根本沒(méi)有子集和超集的關(guān)系,那么字符集的轉(zhuǎn)換是不受oracle支持的。對(duì)數(shù)據(jù)庫(kù)server而言,錯(cuò)誤的修改字符集將會(huì)導(dǎo)致很多不可測(cè)的后果,可能會(huì)嚴(yán)重影響數(shù)據(jù)庫(kù)的正常運(yùn)行,所以在修改之前一定要確認(rèn)兩種字符集是否存在子集和超集的關(guān)系。一般來(lái)說(shuō),除非萬(wàn)不得已,我們不建議修改oracle數(shù)據(jù)庫(kù)server端的字符集。特別說(shuō)明,我們最常用的兩種字符集ZHS16GBK和ZHS16CGB231280之間不存在子集和超集關(guān)系,因此理論上講這兩種字符集之間的相互轉(zhuǎn)換不受支持。 

  修改Server端字符集(不建議使用): 

  在Oracle 8之前,可以用直接修改數(shù)據(jù)字典表props$來(lái)改變數(shù)據(jù)庫(kù)的字符集。但Oracle8之后,至少有三張系統(tǒng)表記錄了數(shù)據(jù)庫(kù)字符集的信息,只改props$表并不完全,可能引起嚴(yán)重的后果。正確的修改方法如下: 

  $sqlplus /nolog 

  SQL>conn / as sysdba; 

  若此時(shí)數(shù)據(jù)庫(kù)服務(wù)器已啟動(dòng),則先執(zhí)行SHUTDOWN IMMEDIATE命令關(guān)閉數(shù)據(jù)庫(kù)服務(wù)器,然后執(zhí)行以下命令: 

  SQL>STARTUP MOUNT; 

  SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; 

  SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 

  SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0; 

  SQL>ALTER DATABASE OPEN; 

  SQL>ALTER DATABASE CHARACTER SET ZHS16GBK; 

  SQL>ALTER DATABASE national CHARACTER SET ZHS16GBK; 

  SQL>SHUTDOWN IMMEDIATE; 

  SQL>STARTUP 

  修改dmp文件字符集: 

  上文說(shuō)過(guò),dmp文件的第2第3字節(jié)記錄了字符集信息,因此直接修改dmp文件的第2第3字節(jié)的內(nèi)容就可以‘騙’過(guò)oracle的檢查。這樣做理論上也僅是從子集到超集可以修改,但很多情況下在沒(méi)有子集和超集關(guān)系的情況下也可以修改,我們常用的一些字符集,如US7ASCII,WE8ISO8859P1,ZHS16CGB231280,ZHS16GBK基本都可以改。因?yàn)楦牡闹皇莇mp文件,所以影響不大。 

  具體的修改方法比較多,最簡(jiǎn)單的就是直接用UltraEdit修改dmp文件的第2和第3個(gè)字節(jié)。比如想將dmp文件的字符集改為ZHS16GBK,可以用以下SQL查出該種字符集對(duì)應(yīng)的16進(jìn)制代碼: 

  SQL> select to_char(nls_charset_id('ZHS16GBK'), 

  'xxxx') from dual; 

  0354 

  然后將dmp文件的2、3字節(jié)修改為0354即可。 

  如果dmp文件很大,用ue無(wú)法打開(kāi),就需要用程序的方法了。網(wǎng)上有人用java存儲(chǔ)過(guò)程寫(xiě)了轉(zhuǎn)換的程序(用java存儲(chǔ)過(guò)程的好處是通用性教好,缺點(diǎn)是比較麻煩)。我在Windows下測(cè)試通過(guò)。但要求Oracle數(shù)據(jù)庫(kù)一定要安裝JVM選項(xiàng)。 
安徽新華電腦學(xué)校專(zhuān)業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢(xún)
国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费
<button id="0mgmq"><pre id="0mgmq"></pre></button>
  • <tr id="0mgmq"></tr>
  • <abbr id="0mgmq"><source id="0mgmq"></source></abbr> <button id="0mgmq"></button>
  • 99亚洲一区二区| 鲁大师成人一区二区三区| 亚洲午夜精品久久久久久app| 黑人一区二区| 久久国产欧美精品| 久久一区二区精品| 一区二区三区欧美在线| 国产亚洲二区| 国产一区再线| 欧美fxxxxxx另类| 性伦欧美刺激片在线观看| 好看的日韩精品| 亚洲一区二区精品在线| 亚洲精品精选| 精品卡一卡二| 国产精品大全| 国产伦精品一区二区三区高清版| 日韩欧美在线电影| 99伊人成综合| 久久久久久国产精品一区 | 日韩图片一区| 成人午夜电影在线播放| 亚洲免费视频一区| 国产欧美欧美| 日本亚洲自拍| 午夜在线a亚洲v天堂网2018| 久久香蕉综合色| 亚洲精品字幕| 日韩欧美在线观看强乱免费| 国产九九精品| 亚洲精品一区二区毛豆| 久久精品日韩| 欧美日韩一区二区三区免费| 国产高清精品一区二区| 黑丝一区二区三区| 老司机精品福利在线观看| 伊人蜜桃色噜噜激情综合| 国产伦精品一区二区三毛| 含羞草久久爱69一区| 久久99九九| 麻豆精品网站| 自拍视频一区二区三区| 国产精品一区二区欧美| 亚洲视频综合| 亚洲人成77777| 韩国成人一区| 亚洲欧美久久久久一区二区三区| 亚洲综合网中心| 久久精品国产99精品国产亚洲性色| 最新日韩av| 在线观看成人av电影| 精品视频在线观看| 久久精品卡一| 91久久精品www人人做人人爽 | 国产欧美日韩在线播放| 亚洲成人在线视频网站| 亚洲乱码一区二区三区| 激情伦成人综合小说| 欧美亚洲免费高清在线观看| 欧美a级片网站| 天天久久人人| 久久久神马电影| 国产伦精品一区二区三区| 亚洲女同在线| 亚洲少妇在线| 国产精品久久九九| 极品裸体白嫩激情啪啪国产精品| 一本一道久久a久久综合精品 | 91文字幕巨乱亚洲香蕉| 中文亚洲欧美| 99国产精品自拍| 激情偷拍久久| 亚洲精品裸体| 亚洲每日更新| 日韩一级不卡| 亚洲精品视频啊美女在线直播| 欧美高清日韩| 一区二区冒白浆视频| 清纯唯美一区二区三区| 欧美日韩一区在线播放| 欧美二区在线看| 欧美大香线蕉线伊人久久国产精品 | 99国内精品| 亚洲在线免费| 久久一区二区三区四区五区| 久久综合五月| www.久久久| 国产区一区二区三区| 国产一区再线| 欧美精品一区二区三区在线四季| 久久免费视频1| 欧美成人免费在线| 亚洲欧洲久久| 国产一区二区无遮挡| 亚洲国产99| 亚洲欧美国产精品桃花| 91久久偷偷做嫩草影院| 电影午夜精品一区二区三区| 99精品99久久久久久宅男| 国产伦精品一区二区三区高清| 久久久久久欧美精品色一二三四| 欧美精品一区二区视频| 亚洲欧洲一二三| 在线播放一区| 久久综合网络一区二区| 欧美日韩免费高清| 中文字幕一区二区三区精彩视频 | 蜜桃麻豆www久久国产精品| 日韩av不卡播放| 欧美 日韩 国产精品免费观看| 亚洲一级特黄| 免费亚洲一区| 欧美成人一区二区在线| 欧美激情aⅴ一区二区三区| 在线日韩av永久免费观看| 久久亚洲色图| 婷婷亚洲婷婷综合色香五月| 国产自产精品| 不卡日韩av| 亚洲人成77777| 中文精品一区二区三区| 久久av一区二区| 国产在线视频欧美一区二区三区| 亚洲一区三区在线观看| 久久伦理网站| 亚洲国产精品一区二区第四页av| 国产不卡一区二区在线观看| 视频一区在线免费观看| 国产精品日本| 日韩动漫在线观看| 亚洲免费大片| 免费在线成人| 日韩久久久久久久久久久久久| 亚洲激情不卡| 日本不卡一区| 久久本道综合色狠狠五月| 欧美裸体网站| 性色av一区二区怡红| 午夜精品美女久久久久av福利| 国产亚洲网站| 亚洲午夜精品福利| 肥熟一91porny丨九色丨| 亚洲精品成人自拍| 999视频在线观看| 国产精品高清一区二区三区| 国产一区二区久久久| 在线精品一区二区| 日本一区二区三区视频在线观看| 日韩午夜免费| 欧美极品一区| 欧美日韩一区二区三区在线观看免 | 亚洲欧美日韩另类精品一区二区三区 | 91视频免费进入| 亚洲高清av| 中国人体摄影一区二区三区| www国产亚洲精品| 国产乱码精品| 欧美女人交a| 美女被啪啪一区二区| 亚洲免费影视| 一区二区免费电影| 欧美高清性xxxxhdvideosex| 国产精品一级| 欧美一区二区三区在线免费观看| 国产伦精品一区二区三区高清版| 激情久久中文字幕| 日韩中文字幕av在线| 99久久伊人精品影院| 国产一区观看| 亚洲国产精品综合| 国产精品国产三级国产专区53 | 女同一区二区| 国产一级一区二区| 亚洲一二三区在线| 天堂社区 天堂综合网 天堂资源最新版 | 欧美午夜精品理论片a级大开眼界| 国产精品免费在线| 欧美午夜精品理论片a级大开眼界| 国产精品免费区二区三区观看| 黄色av日韩| 在线观看视频免费一区二区三区| 色999日韩自偷自拍美女| 成人一区二区三区四区| 91精品国产99久久久久久红楼| 黄页网站一区| 欧美精品一卡| 欧美亚韩一区| 中文字幕一区综合| 欧美日韩国产综合网| 美日韩免费视频| 欧美日韩一区二区三区在线视频 | 色阁综合av| 欧美二区在线看| 性xx色xx综合久久久xx| 3d动漫精品啪啪一区二区三区免费| 亚洲精品在线视频观看| 国产视频久久| 亚洲免费精品| 亚洲日本久久| 日韩一级精品|