Oracle修改字符集

背景:公司給更換了配置較高的筆記本,所以一切軟件又要重新安裝了柒竞,也是又一次翻著百度安裝Oracle,技術(shù)不到家也好朽基,保險也罷,我實在是怕錯了一步离陶,又要卸載了從頭再來,卸載干凈Oracle實在是太惡心招刨。在其中的一步霎俩,由于我忘記原來備份的數(shù)據(jù)庫是以什么字符集存儲的,就手賤的把正在安裝的字符集更換成了“UTF8”沉眶,而原來的字符集是默認(rèn)的打却,so,就有了這篇文章谎倔。原諒小白昏頭昏腦的這一波操作柳击。


修改服務(wù)端數(shù)據(jù)庫字符集

由于我的數(shù)據(jù)端本身就是在自己的電腦上安裝著,所以就不存在什么遠(yuǎn)程操作了片习。倘若要修改虛擬機(jī)或是其他PC上的數(shù)據(jù)庫字符集捌肴,那還是要SSH到遠(yuǎn)程位置進(jìn)行操作。

  1. 查詢目前數(shù)據(jù)庫所使用的字符集(可直接在plsql中執(zhí)行以下語句):

select * from V$NLS_PARAMETERS;

其中查詢結(jié)果中 “NLS_CHARACTERSET” 的值即為目前所使用的藕咏,大部分都為“ZHS16GBK”或“AL32UTF8”的其中一種状知。我的結(jié)果如下圖(我已經(jīng)修改回來了):

查詢結(jié)果.png

原來的值為“AL32UTF8”,我要改成圖中的結(jié)果孽查。

  1. 修改字符集(將“AL32UTF8”更改為“ZHS16GBK”)
    其實饥悴,平常我們執(zhí)行sql等基本已經(jīng)熟悉了plsql客戶端的方式,但這個修改是要在cmd命令行中進(jìn)行的卦碾。
  • win+R铺坞,輸入“cmd”進(jìn)入命令行起宽;
  • 將數(shù)據(jù)庫啟動到RESTRICTED模式[1]下做字符集更改:
    • 進(jìn)入sqlplus
      SQL\> sqlplus/nolog

    • 以管理員身份登錄
      SQL\> conn / as sysdba

    • 然后就是關(guān)閉數(shù)據(jù)庫洲胖,進(jìn)入限制模式,修改字符集
      SQL\> shutdown immediate;

      數(shù)據(jù)庫已經(jīng)關(guān)閉坯沪。
      已經(jīng)卸載數(shù)據(jù)庫绿映。
      ORACLE 例程已經(jīng)關(guān)閉。

      SQL> startup mount;

      ORACLE 例程已經(jīng)啟動。
      Total System Global Area 6781128704 bytes
      Fixed Size 2188608 bytes
      Variable Size 3523218112 bytes
      Database Buffers 3238002688 bytes
      Redo Buffers 17719296 bytes
      數(shù)據(jù)庫裝載完畢叉弦。

      SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

      系統(tǒng)已更改丐一。

      SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

      系統(tǒng)已更改。

      SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

      系統(tǒng)已更改淹冰。

      SQL> alter database open;

      數(shù)據(jù)庫已更改库车。

      SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

      ALTER DATABASE CHARACTER SET ZHS16GBK*
      第 1 行出現(xiàn)錯誤:
      ORA-12712: 新字符集必須為舊字符集的超集

      此處我們使用“INTERNAL_USE ZHS16GBK”字符集來跳過子集檢查。
      SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

      數(shù)據(jù)庫已更改樱拴。

  • 現(xiàn)在我們就已經(jīng)把字符集修改完畢了柠衍。重啟一下數(shù)據(jù)庫。
    SQL> shutdown immediate;
    SQL> startup;
  • 再次執(zhí)行查詢字符集語句晶乔,可看到修改結(jié)果珍坊。
  1. 修改環(huán)境變量。
    我使用的是Windows環(huán)境正罢,所以直接添加系統(tǒng)變量阵漏。
    變量名稱:NLS_LANG;
    變量值:SIMPLIFIED Chinese_CHINA.ZHS16GBK(你修改的值);

這樣服務(wù)端的數(shù)據(jù)庫字符集就修改完成了。

修改客戶端數(shù)據(jù)庫字符集

客戶端的字符集就不涉及到數(shù)據(jù)庫的命令了翻具,主要是Oracle客戶端與數(shù)據(jù)庫內(nèi)置不一致導(dǎo)致的履怯,修改安裝數(shù)據(jù)庫時的注冊表就可以。

  • win + R裆泳,輸入“regedit”進(jìn)入注冊表設(shè)置;
  • 按照以下目錄層級找到目標(biāo)位置:

    HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home1/NLS_LANG

  • 將這個變量的值設(shè)置為你想要修改的值即可晾虑。

這樣客戶端的字符集也設(shè)置完畢了帜篇。

目前字符集是設(shè)置完畢,可是原來是GBK的數(shù)據(jù)導(dǎo)入到了UTF8字符集的數(shù)據(jù)庫里洪灯,再改回來也還是亂碼竟痰,只能重新導(dǎo)入dmp備份文件了。下一篇就是總結(jié)的Oracle導(dǎo)入dmp文件的內(nèi)容铅檩。
PS:目前自認(rèn)技術(shù)還差的很遠(yuǎn)很遠(yuǎn)莽鸿,幾乎算是小白一個拾给,所以蒋得,記錄這些小的知識點不光是為了以后自己翻起來方便乒疏,而且對自己也是一種成長,也希望能幫到跟我一樣的小白怕吴。我熱愛這個行業(yè),享受創(chuàng)造的過程疏之,所以才需要更努力去見識更大的天空暇咆。知識淺顯,還請各位莫要取笑其骄。


參考資料:Fred扯旷、的竊竊私語博客


  1. 在這種模式下,服務(wù)器端只有擁有dba角色的用戶和具有restrict session權(quán)限的用戶才能連接數(shù)據(jù)庫毯炮;在遠(yuǎn)程無論擁有什么角色都無法連接桃煎。在數(shù)據(jù)庫做運(yùn)維(變更)的情況下且不想其他會話連接到數(shù)據(jù)庫大刊,那么可以使用此種方式,避免其他用戶連接葫辐。 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耿战,一起剝皮案震驚了整個濱河市蛾绎,隨后出現(xiàn)的幾起案子鸦列,更是在濱河造成了極大的恐慌鹏倘,老刑警劉巖纤泵,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捏题,死亡現(xiàn)場離奇詭異肉渴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)循狰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門绪钥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來关炼,“玉大人,你說我怎么就攤上這事寸潦∩缤矗” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵池户,是天一觀的道長校焦。 經(jīng)常有香客問我统倒,道長,這世上最難降的妖魔是什么耸成? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮弦追,結(jié)果婚禮上花竞,老公的妹妹穿的比我還像新娘。我一直安慰自己零远,他們只是感情好厌蔽,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纬向,像睡著了一般拐云。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膳帕,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天薇缅,我揣著相機(jī)與錄音,去河邊找鬼汤徽。 笑死灸撰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浮毯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼壳鹤,長吁一口氣:“原來是場噩夢啊……” “哼芳誓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锹淌,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎千扔,沒想到半個月后库正,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厘唾,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年喷楣,在試婚紗的時候發(fā)現(xiàn)自己被綠了鹤树。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡曲伊,死狀恐怖坟募,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情懈糯,我是刑警寧澤单雾,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布硅堆,位于F島的核電站,受9級特大地震影響硬萍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祖屏,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雹食。 院中可真熱鬧期丰,春花似錦、人聲如沸钝荡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽端辱。三九已至,卻和暖如春舞蔽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背个盆。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工砾省, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人混槐。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像狠鸳,于是被迫代替她去往敵國和親悯嗓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容