Wednesday 20 August 2014

Arabic forms are not opening in R12.1.3

Soution:



Refered Note: 292942.1

1.A) Create the "9i behavior" file set:
you have 2 way's to do this:
1* OR Automatically (If you have perl installed)

run the $ORACLE_HOME/nls/data/old/cr9idata.pl script to create the $ORACLE_HOME/nls/data/9idata directory.
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/nls/data/old/cr9idata.pl
sample output:
Creating directory /grdbms/64bit/patchdb/app/oracle/product/p12101a/nls/data/9idata ...
Copying files to /grdbms/64bit/patchdb/app/oracle/product/p12101a/nls/data/9idata...
Copy finished.
Please reset environment variable ORA_NLS10 to /grdbms/64bit/patchdb/app/oracle/product/p12101a/nls/data/9idata!
After creating the fileset check that $ORACLE_HOME/nls/data/9idata contains more than 500 files
ls -l $ORACLE_HOME/nls/data/9idata | wc -l
note: if $ORACLE_HOME/nls/data/9idata already exist and you want to redo the file generation "to make sure" then it might be a good idea to shutdown all oracle processes using this ORACLE_HOME
2* OR Manually
note: if $ORACLE_HOME/nls/data/9idata already exist and you want to redo the file generation "to make sure" then it might be a good idea to shutdown all oracle processes using this ORACLE_HOME

a) make a new subdirectory under $ORACLE_HOME/nls/data called "9idata"

b) COPY all files in $ORACLE_HOME/nls/data/ to $ORACLE_HOME/nls/data/9idata

c) COPY all files from $ORACLE_HOME/nls/data/old to $ORACLE_HOME/nls/data/9idata
you will need to overwrite some files - this is normal.

on Unix this means:
* make sure the $ORACLE_HOME is set correctly
rm -r $ORACLE_HOME/nls/data/9idata
mkdir $ORACLE_HOME/nls/data/9idata
cp $ORACLE_HOME/nls/data/*.* $ORACLE_HOME/nls/data/9idata
cp $ORACLE_HOME/nls/data/old/*.* $ORACLE_HOME/nls/data/9idata
The ORDER is important, FIRST do point B) then do point C), do NOT inverse this.
d)After creating the 9i fileset check that $ORACLE_HOME/nls/data/9idata contains more than 500 files
* The $ORACLE_HOME/nls/data/old directory only contains the changed files, so you need to overwrite copy the more than 500 files of $ORACLE_HOME/nls/data/ to $ORACLE_HOME/nls/data/9idata and then overwrite some files in $ORACLE_HOME/nls/data/9idata with the ones found in $ORACLE_HOME/nls/data/old .
* You cannot use Oracle9i (or earlier) NLB files in Oracle10g and up.
* You cannot use the new Oracle10g definitions in Oracle9i and lower.
4.B) Enable the Oracle9i behavior:
After creating the "9i behavior" file set you need to point ORA_NLS10 to $ORACLE_HOME/nls/data/9idata instead of the default $ORACLE_HOME/nls/data/ directory and start the database *and* listener on the server using the new setting.

NOTE:  The creation of the "Oracle9i behavior" files and setting ORA_NLS10 to $ORACLE_HOME/nls/data/9idata should be done on the database server AND on all 10g/11g clients which connect to this system (!).
On Unix you need to set the ORA_NLS10 variable for the Oracle user or any other Unix user that stops and starts the listener/database. Make sure to not forget any startup scripts when the server starts up.
When using RAC you need ALSO set the ORA_NLS10 variable using srvctl
$ srvctl setenv database -d <dbname> -t ORA_NLS10=$ORACLE_HOME/nls/data/9idata
-- set it for all RAC managed listeners
$ srvctl setenv listener -t ORA_NLS10=$ORACLE_HOME/nls/data/9idata
-- set it for one specific listener
$ srvctl setenv listener -l <listener_name> -t ORA_NLS10=$ORACLE_HOME/nls/data/9idata


$ srvctl stop database -d <dbname>
$ srvctl stop listener
$ srvctl start listener
$ srvctl start database -d <dbname>

After the restart of the database and listener check the result using sqlplus from the database $ORACLE_HOME 
export ORA_NLS10=$ORACLE_HOME/nls/data/9idata
sqlplus / as sysdba
select to_char(to_date( '18/04/2009', 'DD/MM/YYYY'),'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=FRENCH') from dual;
-- this should give 18-AVR-2009
if this is correct then the *database* side is fine.


    

No comments:

Post a Comment