溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle 12C 修改數(shù)據(jù)庫字符集方法+修改客戶端字符集方法:

發(fā)布時間:2020-08-08 23:11:30 來源:ITPUB博客 閱讀:296 作者:wg0411 欄目:關(guān)系型數(shù)據(jù)庫
Oracle 12C 可以進(jìn)行PDB的單獨修改字符集方式,后續(xù)介紹。本次采用修改CDB全部修改的方式:
先查詢數(shù)據(jù)庫字符集情況:
select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
select * from nls_database_parameters;
select * from v$nls_parameters; 
select userenv('language') nls_lang from dual;

Server端字符集修改
SQL> sqlplus /as sysdba;  ---登錄到CDB庫中
SQL> shutdown immediate;
SQL> startup mount;
SQL> show parameter job_queue_processes;  --記住參數(shù)值4000,最后更改完字符集需要將這些參數(shù)改成原值
SQL> show parameter aq_tm_processes;     --記住參數(shù)值1,最后更改完字符集需要將這些參數(shù)改成原值
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;

--(alter database character set  ZHS16GBK; --正常修改字符集語句,但遇到超子集會報錯用下面的語句)
ORA-12712: new character set must be a superset of old character set
出現(xiàn)錯誤提示,新字符集必須是老字符集的超集,也就原來字符集是新字符集的子集。
使用Oracle內(nèi)部命令internal_use跳過使用超集檢查。

SQL>alter database character set INTERNAL_USE ZHS16GBK;   --更改本地字符集,并跳過超子集檢測 

--(SQL> alter system set cluster_database=FALSE scope=spfile sid='*'; --如果是RAC執(zhí)行可能會報錯,要執(zhí)行該句,單實例不會報錯,不用執(zhí)行。)
---SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;  --更改國際字符集,有的時候不需更改,本次未改

SQL> shutdown immediate;
SQL> startup mount

---(SQL> alter system set cluster_database=TRUE scope=spfile sid='*'; --只有RAC執(zhí)行,如果是RAC在該位置執(zhí)行該句)

SQL> alter system set job_queue_processes=4000;
SQL> alter system set aq_tm_processes=1;
SQL> show parameter cluster_database
SQL> show parameter job_queue_processes; 
SQL> alter database open;

select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
select * from nls_database_parameters;
select * from v$nls_parameters; 
select userenv('language') nls_lang from dual;
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

修改客戶端字符集方法:
client端字符集修改 
在 /home/oracle與 /root用戶目錄下的.bash_profile中 
添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 語句 
關(guān)閉當(dāng)前ssh窗口。 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI