在Redhat上安裝Oracle10g沒有設(shè)定字符集,采用的是操作系統(tǒng)默認(rèn)字符集:WE8ISO8859P1,將字符集修改為:ZHS16GBK。由于過程不可逆,首先需要備份數(shù)據(jù)庫。\x0d\x0a1.數(shù)據(jù)庫全備\x0d\x0a\x0d\x0a2.查詢當(dāng)前字符集\x0d\x0aSQLselect*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';\x0d\x0aPARAMETERVALUE\x0d\x0a--------------------------------------------------------------------------------\x0d\x0aNLS_CHARACTERSETWE8ISO8859P1\x0d\x0a\x0d\x0a3.關(guān)閉數(shù)據(jù)庫\x0d\x0aSQLshutdownimmediate\x0d\x0aDatabaseclosed.\x0d\x0aDatabasedismounted.\x0d\x0aORACLEinstanceshutdown.\x0d\x0a\x0d\x0a4.啟動(dòng)數(shù)據(jù)庫到mount狀態(tài)\x0d\x0aSQLstartupmount\x0d\x0aORACLEinstancestarted.\x0d\x0aTotalSystemGlobalArea205520896bytes\x0d\x0aFixedSize1266608bytes\x0d\x0aVariableSize100666448bytes\x0d\x0aDatabaseBuffers100663296bytes\x0d\x0aRedoBuffers2924544bytes\x0d\x0aDatabasemounted.\x0d\x0a\x0d\x0a5.限制session\x0d\x0aSQLaltersystemenablerestrictedsession;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a6.查詢相關(guān)參數(shù)并修改\x0d\x0aSQLshowparameterjob_queue_processes;\x0d\x0aNAMETYPEVALUE\x0d\x0a-----------------------------------------------------------------------------\x0d\x0ajob_queue_processesinteger10\x0d\x0a\x0d\x0aSQLshowparameteraq_tm_processes;\x0d\x0aNAMETYPEVALUE\x0d\x0a-----------------------------------------------------------------------------\x0d\x0aaq_tm_processesinteger0\x0d\x0a\x0d\x0aSQLaltersystemsetjob_queue_processes=0;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a7.打開數(shù)據(jù)庫\x0d\x0aSQLalterdatabaseopen;\x0d\x0aDatabasealtered.\x0d\x0a\x0d\x0a8.修改字符集\x0d\x0aSQLalterdatabasecharactersetZHS16GBK;\x0d\x0aalterdatabasecharactersetZHS16GBK\x0d\x0a*\x0d\x0aERRORatline1:\x0d\x0aORA-12712:newcharactersetmustbeasupersetofoldcharacterset\x0d\x0a\x0d\x0a出現(xiàn)錯(cuò)誤提示,新字符集必須是老字符集的超集,也就原來字符集是新字符集的子集,可以再Oracle官方文檔上查詢字符集包含關(guān)系。下面使用Oracle內(nèi)部命令internal_use,跳過超集檢查,生產(chǎn)環(huán)境不建議使用此方法。\x0d\x0a\x0d\x0aSQLalterdatabasecharactersetinternal_useZHS16GBK;\x0d\x0aDatabasealtered.\x0d\x0a\x0d\x0a9.查詢當(dāng)前字符集\x0d\x0aSQLselect*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';\x0d\x0aPARAMETERVALUE\x0d\x0a--------------------------------------------------------------------------------\x0d\x0aNLS_CHARACTERSETZHS16GBK\x0d\x0a\x0d\x0a10.關(guān)閉數(shù)據(jù)庫\x0d\x0aSQLshutdownimmediate\x0d\x0aDatabaseclosed.\x0d\x0aDatabasedismounted.\x0d\x0aORACLEinstanceshutdown.\x0d\x0a\x0d\x0a11.啟動(dòng)數(shù)據(jù)庫到mount狀態(tài)\x0d\x0aSQLstartupmount\x0d\x0aORACLEinstancestarted.\x0d\x0aTotalSystemGlobalArea205520896bytes\x0d\x0aFixedSize1266608bytes\x0d\x0aVariableSize100666448bytes\x0d\x0aDatabaseBuffers100663296bytes\x0d\x0aRedoBuffers2924544bytes\x0d\x0aDatabasemounted.\x0d\x0a\x0d\x0a12.將相關(guān)參數(shù)改回原來值\x0d\x0aSQLaltersystemsetjob_queue_processes=10;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a13.打開數(shù)據(jù)庫\x0d\x0aSQLalterdatabaseopen;\x0d\x0aDatabasealtered.
成都創(chuàng)新互聯(lián)是專業(yè)的忠縣網(wǎng)站建設(shè)公司,忠縣接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行忠縣網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
ODI客戶端界面默認(rèn)的字體很小,而且沒有字體的選項(xiàng)。改變字體需要修改skin配置文件。
在odi_home\oracledi\lib\skins下的zip文件就是skin,解壓其中一個(gè)。在解壓的目錄中用記事本編輯skinlf-themepack.xml文件
找到其中一行是:
font name="Global" value="SansSerif,0,10"/
“SansSerif”是font family,10就是font size了。壓縮成zip文件,覆蓋原來的skin
最后在odi界面中選擇修改好的skin即可
在安裝完oracle10g后,由于jre默認(rèn)使用的字體問題,使得em,dbca,netca,netmgr顯示中文時(shí)出現(xiàn)"□□"字樣的亂碼,下面來說明這個(gè)問題的解決辦法:
1. 改變$ORACLE_HOME/jdk目錄下的jre的默認(rèn)字體
cd $ORACLE_HOME/jdk/jre/lib/
ls font*zh_CN*
font.properties是默認(rèn)使用的字體
還可以看到font.properties.zh_CN.Redhat8.0和其它的字體
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
2. 改變$ORACLE_HOME/jre下的默認(rèn)字體
cd $ORACLE_HOME/jre/1.4.2/lib/
ls font*zh_CN*
font.properties是默認(rèn)使用的字體
還可以看到font.properties.zh_CN.Redhat8.0和其它的字體
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
3.刪除Cache下的gif文件(em頁面中用到),注意不要?jiǎng)h錯(cuò)目錄
cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/
ls *.gif
rm -f *.gif
4. 重新啟動(dòng)EM服務(wù)
cd $ORACLE_HOME/bin/
./emctl stop dbconsole
./emctl start dbconsole
好可以進(jìn)入em web頁面看看是否中文不再是 "□□"字樣的亂碼了!