修改oracle字符集將字元編碼WE8MSWIN1252修改為AL32UTF8
採用的是作業系統預設字符集: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';
操作過程如下:
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;
改變字符集後,原來已有的資料不會改變,只是之後新增的資料會是新的字符集。