方法:1、關(guān)閉數(shù)據(jù)庫后利用“startup mount;”以mount方式啟動(dòng)數(shù)據(jù)庫;2、利用“alter system set job_queue_processes=0;…”語句啟用嚴(yán)格模式;3、用“alter database character set internal_use 編碼”修改編碼;4、重新啟動(dòng)數(shù)據(jù)庫即可。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
怎么修改oracle數(shù)據(jù)庫編碼
以ZHS16GBK -> AL32UTF8為例
1、先啟動(dòng)數(shù)據(jù)庫
如果oracle服務(wù)在運(yùn)行,則無需啟動(dòng)
startup;
關(guān)閉數(shù)據(jù)庫
shutdown immediate;
再以mount方式啟動(dòng)數(shù)據(jù)庫
startup mount;
2、啟用嚴(yán)格模式
3、進(jìn)行編碼
ALTER DATABASE CHARACTER SET AL32UTF8;
這會(huì)可能會(huì)報(bào)錯(cuò),提示我們的字符集:新字符集必須為舊字符集的超集,這時(shí)我們可以跳過超集的檢查做更改:
ALTER DATABASE character set INTERNAL_USE AL32UTF8;
這條語句就可以了,TERNAL_USE提供的幫助就會(huì)使oracle繞過了子集與超集的驗(yàn)證,這條語句和上面的語句內(nèi)部操作時(shí)完全相同的。
4、重啟數(shù)據(jù)庫
關(guān)閉數(shù)據(jù)庫
shutdown immediate;
啟動(dòng)數(shù)據(jù)庫
startup;
推薦教程:《Oracle視頻教程》