oracle alert日誌亂碼處理

YallonKing發表於2012-03-30
/*今天群裡有哥們問一個關於亂碼的問題,遂貼上以前處理的一個亂碼相關的處理文件*/
 
/*oracle alert日誌亂碼處理*/
 
--日誌亂碼如下:
 client_id='' type='UNKNOWN' level='16'
 host_id='M1HFData' host_addr='::1' module=''
 pid='31745'>
 Errors in file /m1hf/diag/rdbms/m1hf/m1hf/trace/m1hf_j000_31745.trc:
ORA-12012: 脳脭露爐脰麓脨脨脳梅脪碌 64 魯枚麓鉚
ORA-04063: package body "SYSMAN.EMD_MAINTENANCE" 脫脨麓鉚脦貿
ORA-06508: PL/SQL: 脦脼路簍脮脪碌陸脮媒脭脷碌梅脫脙 : "SYSMAN.EMD_MAINTENANCE" 碌脛魯脤脨貌碌樓脭陋
ORA-06512: 脭脷 line 1
 

 
 
檢視OS字符集:
[oracle@m1hfdata ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
檢視資料庫字符集:
SQL> select * from v$nls_parameters where parameter ='NLS_CHARACTERSET';
PARAMETER                 VALUE
------------------------- --------------------
NLS_CHARACTERSET          ZHS16GBK
檢視使用者環境變數:
[oracle@m1hfdata ~]$ id
uid=501(oracle) gid=501(oinstall) 組=501(oinstall),502(dba) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@m1hfdata ~]$ env | grep NLS_
NLS_LANG=Simplified Chinese_china.ZHS16GBK

/*由以上資訊可知,OS的字符集和資料庫字符集不一致導致 alert 日誌檔案中的中文錯誤資訊出現亂碼。*/
--即修改後如下:
[oracle@m1hfdata ~]$ locale
LANG=zh_CN.gbk
LC_CTYPE="zh_CN.gbk"
LC_NUMERIC="zh_CN.gbk"
LC_TIME="zh_CN.gbk"
LC_COLLATE="zh_CN.gbk"
LC_MONETARY="zh_CN.gbk"
LC_MESSAGES="zh_CN.gbk"
LC_PAPER="zh_CN.gbk"
LC_NAME="zh_CN.gbk"
LC_ADDRESS="zh_CN.gbk"
LC_TELEPHONE="zh_CN.gbk"
LC_MEASUREMENT="zh_CN.gbk"
LC_IDENTIFICATION="zh_CN.gbk"
LC_ALL=

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26143577/viewspace-719912/,如需轉載,請註明出處,否則將追究法律責任。

相關文章