linux 系統 安裝的oracle字符集將字符編碼WE8MSWIN1252修改爲AL32UTF8

在plsql中或者sqlplus插入中文到數據庫,入庫後中文顯示爲“????”;

採用的是操作系統默認字符集:WE8MSWIN1252,將字符集修改爲:AL32UTF8。

SQL> select userenv('language') from dual;

SIMPLIFIED CHINESE_CHINA.WE8MSWIN1252

SQL> select * from nls_database_parameters where parameter in ('NLS_CHARCTERSET','NLS_NCHAR_CHARACTERSET');

SQL> select* from v$nls_parameters where parameter='NLS_CHARACTERSET';

操作過程如下:

在命令行中輸入 sqlplus /nolog (使用/nolog參數表示啓動sql plus ,但不連接到oracle數據庫)與只是輸入 sqlplus的區別

conn /as sysdba;連接數據庫;


SQL> shutdown immediate

SQL> startup

SQL> alter session set sql_trace=true;

SQL> alter system enable restricted session;

SQL> show parameter job_queue_processes;

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 AL32UTF8;

SQL> update props$ set VALUE$='UTF8' where NAME='NLS_NCHAR_CHARACTERSET';

維護完以後需要

SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION;

改變字符集後,原來已有的數據不會改變,只是之後新增的數據會是新的字符集。

Oracle字符集的查看和修改  http://www.linuxidc.com/Linux/2013-07/87538.htm

Oracle字符集的查看查詢和Oracle字符集的設置修改  http://www.linuxidc.com/Linux/2011-11/47383.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章