1.输入 sqlplus /nolog
2.将数据库启动到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;--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> select * from v$nls_parameters;--略--19 rows selected.--重启检查是否更改完成:SQL> shutdown immediate;--Database closed.--Database dismounted.--ORACLE instance shut down.SQL> startup--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.--Database opened.