Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Changing NLS_LANGUAGE/TERRITORY
Hello Vincent.
Sorry, I didn't explain the problem well enough, I guess.
On Import I receive these error messages:
[Export file created by EXPORT:V08.00.05 via conventional path]
(translated by me)
IMP-00069: could not convert to environment national character set's
handle
IMP-00021: operating system error - error code (dec 2, hex 0x2)
IMP-00000: import terminated unsuccessfully
Maybe, the problem is that I edited the Export file to change the destination tablespace and some data values and grantees. But I did this with a hex editor, which should not change anything else (like Notepad, which converts NULLs to SPACES).
I'm running NT4-SP3 and Oracle 8.0.5.2.0 on the destination. The source is NT4-SP6 and Oracle 8.1.6.3.0.
The export and import was done with exp80 and imp80 of the destination PC/installation.
Any idea ?
With kind regards,
Harald Henkel
Vincent Ventrone wrote:
>
> "
> > 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.
-- Harald Henkel GS automation GmbH Dornierstr. 4 82178 Puchheim Germany Tel: + 49-89-890095-79 Fax: + 49-89-890095-80 Mobile: + 49-178-7829126 e-mail: H.Henkel_at_GS-automation.DE Web: www.GS-automation.DEReceived on Wed Nov 28 2001 - 02:52:07 CST