ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 字符集WE8ISO8859P1 是不能改为ZHS16GBK的

字符集WE8ISO8859P1 是不能改为ZHS16GBK的

原创 Linux操作系统 作者:itpot 时间:2008-01-09 16:41:54 0 删除 编辑

在linux安装oracle时没有更改默认的字符集。
不支持中文
SQL> select * from t
  2  ;

ID
----------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
1d2a
£?£?


1.查看系统字符集
select * from v$nls_parameters
select name,value$ from sys.props$ where name='NLS_CHARACTERSET'
NAME
------------------------------------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_CHARACTERSET
WE8ISO8859P1

(应该改为ZHS16GBK)
select nls_charset_name(1) from dual;
NLS_CHARSET_NAME
----------------
US7ASCII

2.更改字符集合  (参考了eygle的文章)

(过程不可逆  先备份)

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size             104859216 bytes
Database Buffers          176160768 bytes
Redo Buffers                2973696 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=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 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 UTF8
  2  ;
ALTER DATABASE CHARACTER SET UTF8
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set


SQL> ALTER DATABASE CHARACTER SET UTF-8
  2  ;
ALTER DATABASE CHARACTER SET UTF-8
                                *
ERROR at line 1:
ORA-00933: SQL command not properly ended


 


SQL> ALTER DATABASE CHARACTER SET WE8MSWIN1252;

Database altered.

SQL> COMMIT;

Commit complete.

(可以更改 但是还不支持中文)

SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size             104859216 bytes
Database Buffers          176160768 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.

(看来只能重建实例了)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12548713/viewspace-127562/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-27

  • 博文量
    39
  • 访问量
    63483