It is possible in Oracle 8i to directly change the character set of a
database. This can only be done, however, if the new character set is
a strict superset of the original character set. For instance,
according to 8.1.6 documentation, the conversion can be made from the
US7ASCII character set to three other character sets which are strict
supersets:

Current Character Set New Character Set
US7ASCII WE8ISO8859P1
US7ASCII ALT24UTFFSS
US7ASCII UTF8

To change the character set from US7ASCII to UTF8, execute the
following:

SVRMGR> STARTUP MOUNT;
SVRMGR> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SVRMGR> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SVRMGR> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SVRMGR> ALTER DATABASE OPEN;
SVRMGR> ALTER DATABASE CHARACTER SET UTF8;
SVRMGR> SHUTDOWN IMMEDIATE; — OR NORMAL
SVRMGR> STARTUP;

In cases where the new character set is not a strict superset of the
original character set, a full database export/import is necessary.

How to change the Oracle 8i Charset

Leave a Reply

Your email address will not be published. Required fields are marked *

four + two =