SQL error: ORA-12712: the new character set must be a superset of the old character set

I want to change the oracle database character set from 'WE8MSWIN1252' to 'AL32UTF8'

I tried following the steps from the link (http://download.oracle.com/docs/cd/B10501_01/server.920/a96529/ch10.htm#1009580):

Shut down the database using either SHUTDOWN IMMEDIATE or SHUTDOWN NORMAL. Make a full backup of the database because the ALTER DATABASE CHARACTER SET statement cannot be rolled back. Complete the following statements:

STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET AL32UTF8;

But when I execute the above statement, I get the following error

SQL error: ORA-12712: the new character set must be a superset of the old character set

Can someone help me in solving this problem.

+5
source share
3 answers

ALTER DATABASE CHARACTER SET :

  • .
  • . (.. )

WE8MSWIN1252 AL32UTF8, (: A3 WE8MSWIN1252, AL32UTF8 C2 A3).

, CSALTER.

: .

+9

: (Shutdown neccesary):

sysdba:

sqplus / as sysdba

script:

alter system set nls_length_semantics=CHAR scope=both;
shutdown;
startup restrict;
alter database character set INTERNAL_USE WE8ISO8859P1;
shutdown;
startup;

Oracle 12c Standard Two Edition

: http://www.blogdelpibe.com/2015/05/como-solucionar-el-error-ora-12899.html

+1

replace line 6 with

ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

this solves my problem.

0
source

All Articles