We have a Oracle database 8.1.7 running for many years on Win-2000. We wanted to move the database on a newer machine running Win 2003. I did the following
- I made a cold backup of old database.
- Installed the oracle database same ver on the new machine and moved the data files from the old to the new server.
- Imported the data dump taken from export (taken from old server) on the new server.
- Without a full test we shifted live to the new server.
- Everything was OK on the new oracle server except for the Arabic
characters. I am getting
??(questions marks) characters in the Arabic fields.
I checked the nls_database_parameters on both the servers.
Select * from nls_database_paramters;
The old database had: nls_char & nls_nchar =
The new database had nls_char & nls_nchar =
I then did the following in the new server:
- Changed the character set (nls_char)in the new database to AR8mswin1256.
- Changed the Nls Nchar set to Ar8mswin1256.
All the above done were by an
alter database command as below:
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> AALTER DATABASE NATIONAL CHARACTER SET ar8mswin1256; SVRMGR> SHUTDOWN IMMEDIATE; SVRMGR> STARTUP;
I checked nls_database_parameters in the new server both nls_char, nls_nchar was changed to Ar8mswin1256.
I checked the database through our ERP applicatoin but still Arabic characters displaying in
I then checked the registry of new Oracle server. The value of nls_lang is We8iso8859p1
whereas the registry of the old server had value of nls_lang as Ar8mswin1256. I changed
the value in new server to be American_america.Ar8mswin1256. Checked the database still
arabic characters displaying as
The registry of Client has nls_lang as American_america.Ar8mswin1256.
It is a production database. How can I solve the problem of Arabic characters being displayed as
??? in the new server?
I still have the old server database but it is not live. It doesnt contain updated