oracle查看字符集后修改oracle服務(wù)端和客戶端字符集的步驟
1.oracle server端字符集查詢
select userenv('language') from dual;
server字符集修改:
將數(shù)據(jù)庫啟動到RESTRICTED模式下做字符集更改:
SQL>conn /as sysdba
SQL>shutdown immediate;
SQL>startup mount
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>alter database open;
SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
提示我們的字符集:新字符集必須為舊字符集的超集,這時我們可以跳過超集的檢查做更改:
SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
SQL>select * from v$nls_parameters;
重啟檢查是否更改完成:
SQL>shutdown immediate;
SQL>startup
SQL>select * from v$nls_parameters;
我們看到這個過程和之前ALTER DATABASE CHARACTER SET操作的內(nèi)部過程是完全相同的,也就是說INTERNAL_USE提供的幫助就是使Oracle數(shù)據(jù)庫繞過了子集與超集的校驗
這一方法在某些方面是有用處的,比如測試;應(yīng)用于產(chǎn)品環(huán)境時大家應(yīng)該小心,可能會有一些意外的問題。
2.oracle client端字符集修改
$echo$NLS_LANG
client字符集修改:
在 /home/oracle與 /root用戶目錄下的.bash_profile中添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 語句
關(guān)閉當前ssh窗口。
注意:NLS_LANG變量一定要配置正確否則會引起sqlplus失效。
3.修改數(shù)據(jù)庫字符集為UTF-8
1.以DBA登錄
2.執(zhí)行轉(zhuǎn)換語句:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT EXCLUSIVE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE NATIONAL CHARACTER SET UTF8;
SHUTDOWN IMMEDIATE;
STARTUP;
注意:如果沒有大對象,在使用過程中進行語言轉(zhuǎn)換沒有什么影響!
可能會出現(xiàn)ORA-12717:CANNOT ALTER DATABASE NATIONAL CHARACTER SET WHEN NCLOBDATAEXISTS, 解決這個問題的方法
利用INTERNAL_USE 關(guān)鍵字修改區(qū)域設(shè)置
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
相關(guān)文章
關(guān)于ORACLE通過file_id與block_id定位數(shù)據(jù)庫對象遇到的問題引發(fā)的思考
這篇文章主要介紹了關(guān)于ORACLE通過file_id與block_id定位數(shù)據(jù)庫對象遇到的問題引發(fā)的思考,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Oracle數(shù)據(jù)庫設(shè)置任務(wù)計劃備份一周的備份記錄
這篇文章介紹了Oracle數(shù)據(jù)庫下通過任務(wù)計劃備份一周的記錄的批處理代碼,需要的朋友可以參考下2013-08-08設(shè)置oralce自動內(nèi)存管理執(zhí)行步驟
設(shè)置內(nèi)存管理首先要啟用oracle自動內(nèi)存管理需要shutdown ,restart,接下來為大家介紹下詳細的執(zhí)行步驟,感興趣的朋友可以參考下哈2013-04-04用Oracle9ias開發(fā)無線應(yīng)用程序開發(fā)者網(wǎng)絡(luò)Oracle
用Oracle9ias開發(fā)無線應(yīng)用程序開發(fā)者網(wǎng)絡(luò)Oracle...2007-03-03Oracle 數(shù)據(jù)庫自動存儲管理-安裝配置
關(guān)于ASM的討論很多,但是到底什么是ASM?ASM是一個有效的抽象層,使你的Oracle數(shù)據(jù)庫可以與叫做diskgroups的抽象空間一起使用,而不是直接使用datafiles。2009-05-05