转载:http://www.cnblogs.com/jay-xu33/p/5210098.html
1.cmd下,cd到oracle数据库软件的服务器端 如:D:\app\Administrator\product\11.2.0\dbhome_1\BIN
2.输入set ORACLE_SID=你想进入的数据库的那个sid
3.输入 sqlplus /nolog
4.将数据库启动到RESTRICTED模式下做字符集更改:
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 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
sql>ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
sql>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
sql>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
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;
sql>select * from v$nls_parameters;
略
19 rows selected.
重启检查是否更改完成:
sql>startup
Database opened.
sql>select * from v$nls_parameters;