摘--檢視oracle 字符集

realji發表於2007-01-05

[Q]怎麼樣檢視資料庫字符集    

[A]資料庫伺服器字符集select * from nls_database_parameters,其來源於props$,是表示資料庫的字符集。    

客戶端字符集環境select * from nls_instance_parameters,其來源於v$parameter,表示客戶端的字符集的設定,可能是引數檔案,環境變數或者是登錄檔    

會話字符集環境 select * from nls_session_parameters,其來源於v$nls_parameters,表示會話自己的設定,可能是會話的環境變數或者是alter session完成,如果會話沒有特殊的設定,將與nls_instance_parameters一致。    

客戶端的字符集要求與伺服器一致,才能正確顯示資料庫的非Ascii字元。如果多個設定存在的時候,alter session>環境變數>登錄檔>引數檔案    

字符集要求一致,但是語言設定卻可以不同,語言設定建議用英文。如字符集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。    

[Q]怎麼樣修改字符集    

[A]8i以上版本可以透過alter database來修改字符集,但也只限於子集到超集,不建議修改props$表,將可能導致嚴重錯誤。    Startup nomount;   

Alter database mount exclusive;   

Alter system enable restricted session;   

Alter system set job_queue_process=0;   

Alter database open;   

Alter database character set zhs16gbk;

[@more@]

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

相關文章