Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Changing NLS_LANGUAGE/TERRITORY

Re: Changing NLS_LANGUAGE/TERRITORY

From: Vincent Ventrone <vav_at_brandeis.edu>
Date: Tue, 27 Nov 2001 15:39:34 -0500
Message-ID: <9u0tir$jmb$1@new-news.cc.brandeis.edu>

"
> The problem is the NLS paramateters. The source DB was set to
> German/Germany while the destination is American/America.
>
> Can I set the NLS parameters for the import ?

I don't think you need to worry about this -- the char. set of the source DB is stored in the export dump file. Import will read that from the dump & will convert (provided the two character sets can be mapped) to the internal character set of the target DB. You should see an informative message in the import log file telling you about this.

> Can I change the NLS parameters of the destination database ?

Yes but these simply set defaults for server client sessions -- they can be overridden with "ALTER SESSION SET NLS_..." The actual character set of the DB content is set when you create it w/ the "CREATE DATABASE...CHARACTER SET..." command. The client session character set can be set with the NLS_LANG environment variable. Note that if the character set of the DB & the client session differ Oracle will simply convert character sets (if it can.)

> In the init.ora file there have been no entries for nls parameters.
>
> I added
>
> nls_language = German
> nls_territory = Germany
>
> and restarted the database.
>
> Yet, if I make a
>
> select * from nls_database_parameters ;
>
> I receive as before:
>
> PARAMETER VALUE
> ------------------------------ ------------------------------
> NLS_LANGUAGE AMERICAN
> NLS_TERRITORY AMERICA
> NLS_CURRENCY $
Again all you are doing with the init.ora parameters is setting the defaults for the client session -- these init.ora parameter values are stored in the DB so that the server can use them to set client session defaults but they do NOT set the actual internal character set of the DB -- this is set with "CREATE DATABASE...CHARACTER SET..." To change it you would need to create a new DB with a different char. set & do a full export/import from old to new AFAIK...

Look on Meta-Link for Note 60134.1 for the NLS FAQ. Received on Tue Nov 27 2001 - 14:39:34 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US