Wednesday, June 14, 2017

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


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

  how to change oracle nls_characterset in 11g


Solution for ORA-12712: new character set must be a superset of old character set

Change Oracle character set from WE8MSWIN1252 to AL32UTF8 in oracle 11g R2, do the following steps:
 first Shut down the database, using either a SHUTDOWN IMMEDIATE .

[warning:Take  full backup of  your database because the ALTER DATABASE CHARACTER SET statement cannot be rolled back.]

Change Oracle character set from WE8MSWIN1252 to AL32UTF8  step by step:
 
 

SQL> SHUTDOWN IMMEDIATE .
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE CHARACTER SET AL32UTF8;--if fail this command just use internal_use

in case of failure of this command

SQL>Alter database character set INTERNAL_USE AL32UTF8;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT ;
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
SQL>ALTER DATABASE OPEN;

SQL > select * from nls_database_parameters ORDER BY PARAMETER;



Practical Solution :

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.

Total System Global Area  763363328 bytes
Fixed Size                  2929064 bytes
Variable Size             528485976 bytes
Database Buffers          226492416 bytes
Redo Buffers                5455872 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

System altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> ALTER DATABASE CHARACTER SET AL32UTF8;
ALTER DATABASE CHARACTER SET AL32UTF8
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set


SQL> Alter database character set INTERNAL_USE AL32UTF8;

Database altered.

SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT ;
ORACLE instance started.

Total System Global Area  763363328 bytes
Fixed Size                  2929064 bytes
Variable Size             528485976 bytes
Database Buffers          226492416 bytes
Redo Buffers                5455872 bytes
Database mounted.
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
ALTER SYSTEM DISABLE RESTRICTED SESSION

ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01219: database or pluggable database not open: queries allowed on fixed
tables or views only


SQL> alter database disable restricted session;
alter database disable restricted session

ERROR at line 1:
ORA-00933: SQL command not properly ended


SQL> alter system disable restricted session;
alter system disable restricted session
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01219: database or pluggable database not open: queries allowed on fixed
tables or views only


SQL> alter database open;

Database altered.



No comments:

Post a Comment