暂时不涉及数据库业务,但是今天入库的时候中文入库报错,考虑可能是字体不支持,留待备用。

来源:Linux社区  作者:robertkun

语言_地域.字符集
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

set nls_lang='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

Oracle修改服务器端字符集:
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;

如果出现了 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; # 使用INTERNAL_USE可以跳过超集的检查,

ALTER DATABASE character set INTERNAL_USE   

SQL>SHUTDOWN IMMEDIATE;   

SQL>STARTUP 再检查就发现已经把字符集修整过来了

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

##################################################################################################################

--当前会话的信息
SQL> select * from Nls_session_parameters;

PARAMETER    VALUE
-------------------- ----------------------------------------
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_CURRENCY    $
NLS_ISO_CURRENCY    AMERICA
NLS_NUMERIC_CHARACTE .,
RS

NLS_CALENDAR    GREGORIAN
NLS_DATE_FORMAT      DD-MON-RR
NLS_DATE_LANGUAGE    AMERICAN
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_FOR DD-MON-RR HH.MI.SSXFF AM TZR
MAT

NLS_DUAL_CURRENCY    $
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE

17 rows selected.

--实例的信息
SQL> select * from Nls_instance_parameters;

PARAMETER    VALUE
-------------------- ----------------------------------------
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_SORT
NLS_DATE_LANGUAGE
NLS_DATE_FORMAT
NLS_CURRENCY
NLS_NUMERIC_CHARACTE
RS

NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FOR
MAT

NLS_DUAL_CURRENCY
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE

17 rows selected.

--数据库的信息
SQL> select * from Nls_database_parameters;

PARAMETER    VALUE
-------------------- ----------------------------------------
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_CURRENCY    $
NLS_ISO_CURRENCY    AMERICA
NLS_NUMERIC_CHARACTE .,
RS

NLS_CHARACTERSET    WE8MSWIN1252
NLS_CALENDAR    GREGORIAN
NLS_DATE_FORMAT      DD-MON-RR
NLS_DATE_LANGUAGE    AMERICAN
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_FOR DD-MON-RR HH.MI.SSXFF AM TZR
MAT

NLS_DUAL_CURRENCY    $
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE
NLS_NCHAR_CHARACTERS AL16UTF16
ET

NLS_RDBMS_VERSION    11.2.0.3.0

20 rows selected.

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 WE8MSWIN1252
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.

SQL>

SQL> select * from v$nls_parameters;

PARAMETER  VALUE
-------------------------------------------------- ----------------------------------------
NLS_LANGUAGE      SIMPLIFIED CHINESE
NLS_TERRITORY      CHINA
NLS_CURRENCY      ?
NLS_ISO_CURRENCY      CHINA
NLS_NUMERIC_CHARACTERS  .,
NLS_CALENDAR      GREGORIAN
NLS_DATE_FORMAT      DD-MON-RR
NLS_DATE_LANGUAGE      SIMPLIFIED CHINESE
NLS_CHARACTERSET      WE8MSWIN1252
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

已选择19行。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

04-17 13:55