Oracle 修改字符集

2022-03-29 08:21:17 字數 846 閱讀 8165

出現ora-12899,是字符集引起的,中文在utf-8中佔3個位元組,zhs16gbk中佔2個位元組,而源dmp檔案字符集是zhs16gbk庫里倒出來的資料,現在要匯入到目標字符集為utf-8的庫里,所以會出現ora-12899

其實只要修改一下oracle 的字符集就可以很好的解決這個問題;

sqlplus /nolog

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 ofold character set

報字符集不相容,此時下internal_use指令不對字符集超集進行檢查:

可以執行下一步 跳轉錯誤操作

sql>alter database character set internal_use zhs16gbk;

sql>shutdown immediate

sql>startup

再次用imp匯入,就沒有問題了。

oracle 修改字符集

在大型資料庫管理系統中,oracle資料庫不論在資料庫管理能力還是在安全性方面都是無可非議的。國內企業使用oracle資料庫的也較多,但是由於oracle不同版本的字符集,給資料顯示 資料備份 資料轉換等實際工作帶來了不少麻煩。一 字符集引數 一旦資料庫建立後,資料庫的字符集是不能改變的。因此,考慮...

oracle 修改字符集

通過 sql select from nls database parameters 來檢查字符集引數 設定 sql shutdown immediate sql startup mount sql alter system enable restricted session sql alter s...

oracle修改字符集

檢視oracle服務端編碼 select from sys.nls database parameters 檢視client編碼 select from sys.nls session parameters 修改客戶端編碼 翻開運轉器進入登錄檔編輯 運轉 regedit 找到hkey local m...