oracle 字符集

 操作系统:windows server2008
数据库版本:oracle 10.2.0.4

select * from v$nls_parameters
PARAMETER                     VALUE
-------------------------- -----------------------------
NLS_LANGUAGE                  AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                  $
NLS_ISO_CURRENCY              AMERICA
NLS_NUMERIC_CHARACTERS        .,
NLS_CALENDAR                  GREGORIAN
NLS_DATE_FORMAT               DD-MON-RR
NLS_DATE_LANGUAGE             AMERICAN
NLS_CHARACTERSET              WE8ISO8859P1
NLS_SORT                      BINARY
NLS_TIME_FORMAT               HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT            DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT            HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT         DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY             $
NLS_NCHAR_CHARACTERSET        AL16UTF16
NLS_COMP                        BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP           FALSE
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area  599785472 bytes
Fixed Size            2085776 bytes
Variable Size          226495600 bytes
Database Buffers      364904448 bytes
Redo Buffers            6299648 bytes
Database mounted.
SQL> alter session set sql_trace=true;
Session altered.
SQL> alter system enable restricted session;
System altered.
SQL> alter system set job_queue_processes=; 
System altered.
SQL> alter system set aq_tm_processes=;
System altered.
SQL> alter database open;
Database altered.
SQL> alter database character set zhs16gbk;
alter database character set zhs16gbk
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
SQL> alter database character set internal_use zhs16gbk;
Database altered.
SQL> select status from v$Instance;
STATUS
------------
OPEN
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area  599785472 bytes
Fixed Size            2085776 bytes
Variable Size          226495600 bytes
Database Buffers      364904448 bytes
Redo Buffers            6299648 bytes
Database mounted.
Database opened.
SQL> desc v$nls_parameters;
 Name                     Null? Type
 ----------------------------------------- -------- ----------------------------
 PARAMETER                     VARCHAR2(64)
 VALUE                         VARCHAR2(64)
SQL> col parameter for a29
SQL> col value for a30
SQL> /
STATUS
------------
OPEN
SQL> select * from v$nls_parameters;
PARAMETER                      VALUE
----------------------------- ------------------------------
NLS_LANGUAGE                       AMERICAN
NLS_TERRITORY                       AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY                    AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                       GREGORIAN
NLS_DATE_FORMAT                    DD-MON-RR
NLS_DATE_LANGUAGE                   AMERICAN
NLS_CHARACTERSET                   ZHS16GBK
NLS_SORT                           BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
PARAMETER                      VALUE
----------------------------- ------------------------------
NLS_TIMESTAMP_FORMAT               DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT                 HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT             DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY                  $
NLS_NCHAR_CHARACTERSET         AL16UTF16
NLS_COMP                           BINARY
NLS_LENGTH_SEMANTICS                BYTE
NLS_NCHAR_CONV_EXCP            FALSE
19 rows selected.

网上的帖子很详细。
http://blog.itpub.net/22257866/viewspace-1115527/

最后我们的建议是   不要 更改字符集

请使用浏览器的分享功能分享到微信等