55 pts.
 Oracle: Can a character set be changed after a schema has been created?
My boss was so pleased with the response from this site that he asked me to ask another question!  He was getting character set warnings when doing an export, apparently the charset of his db was different than where he was exporting (I think!).

In any case, we build a new db (schema) prior to loading it with data.  Is there a way to change the character set on a new, empty db to prevent any errors?  Is there some command we can use?

Thanks again!



Software/Hardware used:
Oracle 10.2.0.1.0
ASKED: October 22, 2009  3:06 PM
UPDATED: October 22, 2009  6:35 PM

Answer Wiki:
Character Sets are determined at the time you create your database and are set for the entier database, not a single user. It is possible to migrate from one character set to another using export/import if conditions are correct. <a href="http://download.oracle.com/docs/cd/B10500_01/server.920/a96529/ch2.htm#100779">Here is the documentation link that explains it. </a> I would post more info but you will get it when you read the documentation. Unfortunately, character sets are a sensitive component to oracle and there is no quick answer. You will need to read the documentation. You will notice there is a section on how to change your character set. Good luck, Kevin
Last Wiki Answer Submitted:  October 22, 2009  6:35 pm  by  FlaviusMaximus   220 pts.
All Answer Wiki Contributors:  FlaviusMaximus   220 pts.
To see all answers submitted to the Answer Wiki: View Answer History.


Discuss This Question:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


 

Hey DeloeranGuy,

Glad to hear you’re finding the site useful! Your boss can always sign up too =)

Welcome to the community,

Jenny
Community Manager

 4,265 pts.

 

Some clarification is needed here.

A new schema is not a new database (and the character set is a property of the database, not the schema), so, did you create a new schema in the same database, or are they in different database servers ?

What do you get if you run this command from both databases ?

select * from nls_database_parameters
where parameter = 'NLS_CHARACTERSET';

If you get the same value from both databases, then there is probably no need to change the character set unless the current character set does not support all the languages you need to support. Maybe you just need to change the character set on the OS, to avoid the characterset conversion when performing the export .

 63,580 pts.