公司安装个 oracle 12c 测试环境,准备把线上的库导出来测试性能,结果把测试库的字符集选了 AL32UTF8 ,一看线上是 ZHS16GBK,还是保持一致吧,遂记录 AL32UTF8 改 ZHS16GBK 字符集过程:
首先最重要的事:备份!备份数据!别忘记备份数据!
C:Windowssystem32>sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on 星期二 2月 27 10:59:23 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT EXCLUSIVE;
ORACLE 例程已经启动。
Total System Global Area 2533359616 bytes
Fixed Size 3835256 bytes
Variable Size 738200200 bytes
Database Buffers 1778384896 bytes
Redo Buffers 12939264 bytes
数据库装载完毕。
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> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
数据库已更改。
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP
ORACLE 例程已经启动。
Total System Global Area 2533359616 bytes
Fixed Size 3835256 bytes
Variable Size 738200200 bytes
Database Buffers 1778384896 bytes
Redo Buffers 12939264 bytes
数据库装载完毕。
数据库已经打开。
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL> col parameter format a32;
SQL> col value format a32;
SQL> select * from nls_database_parameters;
PARAMETER VALUE
-------------------------------- --------------------------------
NLS_RDBMS_VERSION 12.1.0.2.0
NLS_NCHAR_CONV_EXCP FALSE
NLS_LENGTH_SEMANTICS BYTE
NLS_COMP BINARY
NLS_DUAL_CURRENCY $
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_SORT BINARY
NLS_DATE_LANGUAGE AMERICAN
PARAMETER VALUE
-------------------------------- --------------------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_CALENDAR GREGORIAN
NLS_NUMERIC_CHARACTERS .,
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_CHARACTERSET ZHS16GBK
NLS_ISO_CURRENCY AMERICA
NLS_CURRENCY $
NLS_TERRITORY AMERICA
NLS_LANGUAGE AMERICAN
已选择 20 行。
SQL>
oracle 12c 将 AL32UTF8 字符集修改为 ZHS16GBK 完成。