【轉帖】一次Windows 下oracle字元集亂碼的記錄

來源:互聯網
上載者:User

http://space.itpub.net/13316/viewspace-468368

 

 

 

國慶後,因停電工作站崩潰, oracle


要恢複了。
在恢複完windows


系統後, 安裝oracle8i, 然後就是db recovery。恢複很順利,可原來table中的中文全亂碼。 開始還懷疑在重建control file時字元集選錯了或者重建的腳步有問題。



set ORACLE_SID=iga
D:/oracle/ora817/bin/oradim -new -sid IGA -startmode manual -pfile "f:/orabackup/backup/initiga.ora"

startup  nomount pfile="f:/orabackup/backup/initiga.ora"

CREATE CONTROLFILE REUSE DATABASE "IGA" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 500
    MAXINSTANCES 1
    MAXLOGHISTORY 1815
LOGFILE
  GROUP 4 'E:/ORACLE/ORADATA/IGA/REDO04.LOG'  SIZE 1M,
  GROUP 5 'E:/ORACLE/ORADATA/IGA/REDO05.LOG'  SIZE 1M,
  GROUP 6 'E:/ORACLE/ORADATA/IGA/REDO06.LOG'  SIZE 1M
DATAFILE
  'E:/oracle/oradata/iga/SYSTEM01.DBF',
  'E:/oracle/oradata/iga/RBS01.DBF',
  'E:/oracle/oradata/iga/USERS01.DBF',
  'E:/ORACLE/ORADATA/IGA/TEMP01.DBF',
  'E:/ORACLE/ORADATA/IGA/TOOLS01.DBF',
  'E:/ORACLE/ORADATA/IGA/IGA_INDX01.DBF',
  'E:/ORACLE/ORADATA/IGA/DR01.DBF',
  'E:/ORACLE/ORADATA/IGA/IGA_DATA01.DBF'
CHARACTER SET US7ASCII
;

ALTER DATABASE OPEN ;

查來查去, 指令碼沒有任何問題; 鬱悶呀

耗了2個小時, 中間抽根煙; 靈感來了。
改了註冊表:

HKEY_LOCAL_MACHIN / SOFTWARE / ORACLE/ HOME0的

NLS_LANG是: AMERICAN_AMERICA.WE8ISO8859P1

改成: AMERICAN_AMERICA.US7ASCII

重啟機器, 問題解決了

 

總結:

我之所以感覺這個文章很好,是因為這個文章很具有典型性:你查詢出來,看到的亂碼,未在資料庫中存放的就是亂碼。

因為經過了用戶端NLS_LANG的轉換。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.