Linux上修改oracle字符集
在SuSE Linux 11上安裝oracle 10g時(shí)進(jìn)入oracle安裝界面總是出現(xiàn)亂碼,主要原因是oracle用到了自帶的jre自動(dòng)選擇語言所致。一種方法是把操作系統(tǒng)語言改英文,oracle安裝界面也是英文;另一種方法就是首先安裝jre,然后讓oracle調(diào)用裝好的jre:./runInstaller -jreLoc /usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre。筆者用的是第一種,但裝好后,oracle默認(rèn)的字符集為WE8ISO8859P1,存放中文的話會(huì)產(chǎn)生亂碼現(xiàn)象。網(wǎng)上搜集資料,試圖將字符由WE8ISO8859P1改為AL32UTF8,但AL32UTF8不是WE8ISO8859P1的超集,不能修改。最后將字符集改為ZHS16GBK,支持中文。
在sqlplus中執(zhí)行:
查看字符集:
select * from V$NLS_PARAMETERS;
修改字符集:
shutdown immediate
startup mount
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
alter database character set INTERNAL_USE ZHS16GBK
注意修改之前先備份數(shù)據(jù),刪除所有的表,修改成功后再imp導(dǎo)入,則亂碼能正常顯示為中文。