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: NLS_LANG problems

Re: NLS_LANG problems

From: Sybrand Bakker <oradba_at_sybrandb.demon.nl>
Date: Tue, 11 Dec 2001 20:20:58 +0100
Message-ID: <5umc1ugomoh6brebnevliuk4q3ks15m4a8@4ax.com>


As this is 8.1.7 you can change the characterset of the database with alter database characterset

On Tue, 11 Dec 2001 15:57:39 +0100, "Tom Williams" <tom_at_auga.com> wrote:

>Ok...after a little more investigation on google groups...I have determined
>that the scope of the nls_lang parameter is only as an environment variable.
>However changing it makes no difference.
>
>I also found a posting from Sybrand Bakker:
>"There is a sys table called prop$. One of the attributes is the character
>set of the database"
>
>While this enables changes to the nls_characterset (and nchar) it still does
>nothing for the display of the danish characters that I need.
>
>Is it because the db was originally created with a 7-bit characterset and
>therefore cannot be changed to an 8-bit? Again is my only option to create a
>new database with the characterset that I need ? (which incidently by now
>probably would have taken less time, but one becomes stubborn)
>
>- Tom Williams
>Auga ApS
>
>
>
>
>"Tom Williams" <tom_at_auga.com> wrote in message
>news:f7nR7.6376$z4.790124_at_news000.worldonline.dk...
>> Hi,
>>
>> We are running an Oracle 8i Enterprise Edition release 8.1.7.0.1 on RedHat
>> Linux 7.2.
>>
>> The default characterset which the database was created with was US7ASCII
>> and I need to change it to WE8ISO8859P1, however, I am having some
>problems
>> with this.
>>
>> NLS_LANG is not defined in any of the following views:
>> nls_session_parameters
>> nls_instance_parameters
>> nls_database_parameters
>>
>> If I in an sql+ session try to execute the statement:
>> alter session set nls_lang = AMERICAN_AMERICA.WE8ISO8859P1
>> or
>> alter session set nls_lang = .WE8ISO8859P1
>>
>> I get the following error:
>> ora-00922: missing or invalid option
>>
>> Also if I try to include the line:
>> nls_lang = AMERICAN_AMERICA.WE8ISO8859P1
>> in my init.ora file and restart the database I get the following error:
>> SVRMGR> LRM-00101: unknown parameter name 'nls_lang'
>> ORA-01078: failure in processing system parameters
>>
>> I have checked that the characterset WE8ISO8859P1 exists in
>> v$nls_valid_values as a corresponding VALUE to the PARAMETER
>'CHARACTERSET'.
>>
>> Optimally, I would like the database to default to the WE8ISO8859P1
>> characterset, but I could live with just being able to alter my client
>> sessions. What is the proper way to this without having to create a new
>> database? What am I overlooking in the documentation?
>>
>> - Tom Williams
>> Auga ApS
>>
>>
>

As this is 8.1.7 you can change the characterset of the database with alter database characterset we8iso8859p1 Setting the environment variable only guarantees the data is *displayed* correctly.

Make sure job_queue_processes has been set to 0 (alter system set job_queue_processes = 0) and the same for advanced_queue_processes make also sure the database is running in restricted session mode

There is a note on Metalink explaining exact procedures and maybe http://asktom.oracle.com also has references.

Regards

Sybrand Bakker, Senior Oracle DBA

To reply remove -verwijderdit from my e-mail address Received on Tue Dec 11 2001 - 13:20:58 CST

Original text of this message

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