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)文章
Linux中Oracle啟動偵聽報錯TNS:permission denied的解決方法
這篇文章主要介紹了Linux中Oracle啟動偵聽時報錯TNS:permission denied的解決方法,文中給出了詳細的解決方法,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02
如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程)
這篇文章主要介紹了如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程),本文圖文并茂給大家介紹的非常詳細,需要的的朋友參考下吧2017-05-05
Oracle BULK COLLECT批量取數(shù)據(jù)解決方法
在oracle使用中為了提高取數(shù)據(jù)效率,本文將詳細介紹Oracle BULK COLLECT批量取數(shù)據(jù),需要了解跟多的朋友可以參考下2012-11-11
Oracle數(shù)據(jù)庫查看鎖表語句和解鎖的方法示例
在DBA的日常工作中,經(jīng)常遇到為Oracle用戶解鎖的操作,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫查看鎖表語句和解鎖的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-10-10
Oracle 11g安裝錯誤提示未找到wfmlrsvcapp.ear的解決方法
這篇文章主要為大家詳細介紹了Oracle 11g安裝錯誤提示未找到wfmlrsvcapp.ear的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

