oracle11g change the character set AL32UTF8 to ZHS16GBK

SQL> conn /as sysdba 
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; 
ORA-12712: new character set must be a superset of old character set 
prompts our character set: the new character set must be a superset of the old character set, then we can skip the superset check and make changes : 
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 
-- we see that this process is exactly the same as the internal process of the previous ALTER DATABASE CHARACTER SET operation, that is to say, the help provided by INTERNAL_USE is to make the Oracle database bypass the subset and superset Set validation. 
SQL> shutdown immediate; 
SQL> startup 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326644799&siteId=291194637