在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博客 ” ,链接:http://blog.itpub.net/12548713/viewspace-127562/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12548713/viewspace-127562/