程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Oracle Faq(Oracle的字符集問題)

Oracle Faq(Oracle的字符集問題)

編輯:PHP綜合

1、在建庫時,catproc一定要運行,否則用rman時會出現如下字符集的錯誤:
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database: ORA-06553: PLS-213: package STANDARD noe
RMAN-04015: error setting target database character set to ZHS16CGB231280
如果建庫時沒有問題,那麼可以Re-run catproc.sql. This will in turn call the dbmsbkrs.sql script which creates the dbms_backup_restore package.

2、中文字符集說明
ZHS16CGB231280 CGB2312-80 16-bit Simplified Chinese MB, ASCII
ZHS16GBK GBK 16-bit Simplified Chinese MB, ASCII, UDC
簡單地說ZHS16GBK是ZHS16CGB231280的超集。
一九九○年中國、日本、韓國共同制定的統一東亞表意文字字符集,即常稱的國標擴展碼字符集(GBK)。

3、如何避免中文支持問題
我們的一貫建議是在建庫時就做好規劃,這樣以後就不會有問題了。
1)create database
character set ZHS16GBK
national character set ZHS16GBK
2)環境變量:NLS_LANG=american_america.ZHS16GBK
最好export NL2004-10-20_FORMAT='YYYY-MM-DD HH24:MI:SS'指明日期格式;
3)如果建庫時指定了props$中characterset肯定就是ZHSS16GBK了:
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET ZHS16GBK
如果不是可以使用update改變,但這樣做對於已有數據會有影響,甚至會導致整個數據庫不能用,所以還是在建庫之後就進行驗證,一個好的DBA就是能夠盡量避免問題的發生,而不是等到出了問題再去救火。

如此一來就不會再有字符集和中文支持的問題了。還有問題嗎?和我聯系:)


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved