http://www.cnblogs.com/dba_xiaoqi/archive/2010/10/15/1852389.html
oracle 10G 字符集由于刚刚建立的数据库字符集是: WE8ISO8859P1
export ORACLE_SID=UCIT (数据库SID)
查看字符集:
select userenv(‘language’) from dual;
select * from nls_database_parameters; (NLS_CHARACTERSET 就是数据库字符集)
或者 select * from V$NLS_PARAMETERS;
或者 select * from SYS.PROPS$;
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter。
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
(如果还要修改NLS_NCHAR_CHARACTERSET就可以用下面的命令:
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;)
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP 再检查就发现已经把字符集修整过来了。