首页 > 数据库 > Oracle > 手工完成oracle 字符集的转换
| SQL> select * from nls_database_parameters where
parameter='NLS_CHARACTERSET'; PARAMETER ------------------------------------------------------------ ----------------------- NLS_CHARACTERSET |
| #cat /etc/sysconf/i18n 如果你看到如下,则说明你的linux是西文系统; LANG="en_US.UTF-8" |
| 改成如下,重启系统,你的linux就是中文系统了 LANG="zh_CN" |
| [oracle@oracle bin]$ cd /home/oracle [oracle@oracle ~]$ cat .bash_profile # .bash_profile umask 022 # Get the aliases and functions if [ -f ~/.bashrc ]; then fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=orcl export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1/ export ORACLE_HOME_LISTNER=$ORACLE_HOME export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" export PATH=$PATH:$ORACLE_HOME/bin |
| [oracle@oracle ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 4 13:35:54 2010 Copyright (c) 1982, 2005, Oracle. SQL> conn /as sysdba Connected. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers Database mounted. SQL> |
| SQL> ALTER SYSTEM ENABLE RESTRICTED
SESSION; System altered. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; System altered. SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 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> set linesize 300 SQL> select * from v$nls_parameters; PARAMETER ---------------------------------------------------------------- ---------------------------------------------------------------- NLS_LANGUAGE NLS_TERRITORY NLS_CURRENCY NLS_ISO_CURRENCY |