修改oracle的字元編碼集

2021-09-25 14:23:15 字數 1348 閱讀 8100

起因

在把dump匯入oracle資料庫的過程中,突然出現大量的字串長度不夠的錯誤

ora-12899:value too large for column **** (actural:9,maximum:6)
方法1
檢視字元編碼集:

select * from v$nls_parameters;

檢視字元編碼集:

select userenv(『language』) from dual;

修改字元編碼集:(有問題的解決方式)

update props$ set value$=『zhs16gbk』 where name=『nls_characterset』;

關閉:shutdown immediate;

重啟:startup;

ora-25847

ora-06552:pl/sql:compilation unit analysis terminated

ora-06553:pls-553:character set name is not recognized

上面的問題也與字符集的設定有關,在正式修改字符集時,oracle中至少需要修改12張資料字典表,而方法1這重直接更新props$表的方式只是完成了其中的一小部分工作,存在很大的隱患。因此,正確修改oracle字元編碼集的方式如下:

正確的修改字元編碼集的方式

1.用sysdba使用者登入

su oracle

sqlplus / as sysdba

2.依次執行如下命令

sql> shutdown immediate;

sql> startup mount;

sql> alter session set sql_trace=true;

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 internal_use zhs16gbk;

sql> shutdown immediate;

sql> startup

Oracle 修改字元編碼

在運算元據庫的時候,需要根據實際情況,修改資料庫的編碼,如下提供乙個修改資料庫的編碼過程。檢視資料庫當前編碼 select userenv language from dual 在windows的命令視窗,輸入cmd 開啟dos視窗。輸入 sqlplus nolog開啟資料連線 輸入connect ...

oracle修改字元編碼

oracle oracle11 sqlplus nolog 執行sqlplus命令,進入sqlplus環境,nolog引數表示不登入 sql conn as sysdba 以系統管理員 sysdba 的身份連線資料庫 如果需要對資料庫進行管理操作,那麼需要以這種方式登入資料庫,或者 connect ...

Oracle字元編碼的修改

size medium 可能在安裝oracle的時候,我們忘記了選擇編碼,而安裝完了這後,又發現預設的編碼不是我們所需要的,那我們怎麼去修改oracle字符集呢?需要使用oracle自帶的sqlplus命令來連線,同時使用一下的命令來進行操作,就能完成修改。size size medium 例如需要...