Oracle數(shù)據(jù)庫字符集及修改方式詳解
1、字符集概述
Oracle語言環(huán)境的描述包括三部分:language、territory、characterset(語言、地域、字符集)
- language:主要指定服務(wù)器消息的語言,提示信息顯示中文還是英文
- territory:主要指定服務(wù)器的數(shù)字和日期的格式
- characterset:是指字符集,一般國內(nèi)數(shù)據(jù)庫實(shí)際使用的字符集主要是ZHS16GBK、AL32UTF8
只要兩個(gè)數(shù)據(jù)庫的字符集(characterset)一樣,就可以相互導(dǎo)入導(dǎo)出數(shù)據(jù)
2、查詢Oracle字符集
2.1、查詢服務(wù)端字符集
NLS_NCHAR_CHARACTERSET 為國家字符集,主要是NCHAR、 NVARCHAR2 、NCLOB數(shù)據(jù)類型使用的字符集,一般是不用這幾種數(shù)據(jù)類型的
select * from nls_database_parameters;
2.2、查詢客戶端字符集
2.2.1、方式一
select * from nls_session_parameters;
2.2.2、方式二
select userenv('language') from dual;
3、修改Oracle字符集
- 一般來說,除非萬不得已,我們不建議修改oracle數(shù)據(jù)庫server端的字符集
- 如果需要修改字符集,通常需要導(dǎo)出數(shù)據(jù)庫數(shù)據(jù),重建數(shù)據(jù)庫,再導(dǎo)入數(shù)據(jù)庫數(shù)據(jù)的方式來轉(zhuǎn)換
- 也可以通過ALTER DATABASE CHARACTER SET語句修改字符集,但創(chuàng)建數(shù)據(jù)庫后修改字符集是有限制的
- 只有新的字符集是當(dāng)前字符集的超集時(shí)才能修改數(shù)據(jù)庫字符集,例如UTF8是US7ASCII的超集,修改數(shù)據(jù)庫字符集可使用ALTER DATABASE CHARACTER SET UTF8
- 如果想跳過超集的檢查,則需要加INTERNAL_USE 關(guān)鍵字
ALTER DATABASE CHARACTER SET INTERNAL_USE UTF8;
下面為修改字符集的步驟:
3.1、以sysdba角色連接到本地Oracle數(shù)據(jù)庫
sqlplus / as sysdba
3.2、以sysdba角色連接到Oracle數(shù)據(jù)庫實(shí)例
connect sys as sysdba;
3.3、開啟"限制會(huì)話"模式以阻止新的會(huì)話連接到數(shù)據(jù)庫
ALTER SYSTEM ENABLE RESTRICTED SESSION;
3.4、修改數(shù)據(jù)庫字符集為ZHS16GBK
注意:執(zhí)行該步驟時(shí),需要關(guān)閉數(shù)據(jù)庫的其他會(huì)話,否則會(huì)報(bào)錯(cuò)“ORA-12721:當(dāng)其他會(huì)話處于活動(dòng)狀態(tài)時(shí),無法執(zhí)行操作”
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
3.5、查詢數(shù)據(jù)庫字符集的設(shè)置值
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
3.6、關(guān)閉"限制會(huì)話"模式以允許新的會(huì)話連接到數(shù)據(jù)庫
ALTER SYSTEM DISABLE RESTRICTED SESSION;
本文參考
https://www.cnblogs.com/JennyYu/p/16241585.html
https://blog.csdn.net/QAQiiii/article/details/131412990
到此這篇關(guān)于Oracle數(shù)據(jù)庫字符集概述及修改方式的文章就介紹到這了,更多相關(guān)Oracle數(shù)據(jù)庫字符集內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle?數(shù)據(jù)庫層級(jí)遍歷查詢功能的實(shí)現(xiàn)
這篇文章主要介紹了Oracle?數(shù)據(jù)庫層級(jí)遍歷查詢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解
這篇文章主要介紹了在Oracle數(shù)據(jù)庫中添加外鍵約束的方法,需要的朋友可以參考下2016-01-01Oracle?listagg去重distinct的三種方式總結(jié)
這篇文章主要介紹了Oracle?listagg去重distinct的三種方式總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11