Changing Character set to Arabic In Oracle - oracle

Kindly guide me how to change the character set to Arabic in Oracle .
please mention the steps that i need to follow, regrading it.

go to start>run type regedit and then look for by pressing h key in keyboard hkey local machine and software and oracl dev home and look for nls_lang change it to AMERICAN_AMERICA.AR8MSWIN1256

Check this link for step by step instructions: http://download.oracle.com/docs/cd/B10501_01/server.920/a96529/ch10.htm#1009904
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET AR8ISO8859P6;
SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL;
STARTUP;

Related

Application lost access of Oracle after character set change

I changed the character set from we8mswin1252 to al32utf8 in Oracle using these commands.
SHUTDOWN IMMEDIATE
STARTUP RESTRICT
ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
ALTER DATABASE CHARACTER SET AL32UTF8;
SHUTDOWN IMMEDIATE
STARTUP
Although my character set is changed, I lost the access from my application to all the current databases. I had to create another database to run the application. Is there a solution?

Error in set date oracle

My oracle have:
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE SPANISH
and i execute
alter session set nls_date_format = 'DD-MON-RR';
alter session set NLS_DATE_LANGUAGE = 'AMERICAN';
alter system set nls_date_format='DD-MON-RR'
And everything is correct, but when i reset sql developer change to
LS_DATE_FORMAT=DD/MM/RR other one
How can I change it forever?
Your session settings might have been overwritten by SQL Developer when it relaunches.
To permanently fix it, Open SQL Developer and go to Tools -> Preference -> Database -> NLS and change Date Format to your required format there.
Alternatively, you could use an after logon trigger. That way you can set your settings independent of the client (SQL Developer) used.

Change Oracle Database from Archive log mode to Non-archive log mode

I have an Oracle databse, it is Oracle 11g Standard Edition, Currently it is working in archive log mode. And I need it to be change to non-archive log mode. Because everyday the logs fill the Hard Disks of the server.
Please let me know the steps to do this..
Thanks in advance
Mahesh
To set the database in NOARCHIVELOG MODE, You need to shutdown the db & start it in in mount state. Follow the below steps.
1. shutdown immediate;
2. startup mount;
3. alter database noarchivelog;
4. alter database open;

Altering session permanently

Is it possible to alter the session permanently even after i close my oracle sql developer?
An example of the statement that i want to alter:
Alter Session Set Nls_Timestamp_Tz_Format='HH24:MI TZR';
The above statement only allow me to alter the current session and not making it permanently.
Thanks
If you just want to change the default value for SQL Developer, you can do that in the SQL Developer settings. In SQL Developer 3.1 (the same settings exist in earlier versions though the navigation may be slightly different), Tools | Preferences | Database | NLS allows you to specify a Timestamp Format and a Timestamp TZ Format. SQL Developer will then automatically issue the appropriate ALTER SESSION commands for you whenever it creates a new session.
You need to set this in the initialization parameter file to affect the database globally.
Initialization parameters such as Nls_Timestamp_Tz_Format can be set up from three sources:
In a session using the ALTER SESSION SET statement
In client side parameter file init.ora
In server side parameter file spfile
To set default permanently in the db, from the database:-
alter system ... scope=spfile;
then as SYS (so you may need to talk to a DBA), and obviously at an appropriate time! -
shutdown;
startup;
(I know the spfile has been mentioned, but it can all be done from the sqlplus cmdline, at least in 11g.)

How to change default nls_date_format for oracle jdbc client

I have defined the global nls_date_format on Oracle 10.2 XE as follows:
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
When connecting on Windows, the clients override it with session specific format, so I need to run this line at the beginning of every session:
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
However, I have some custom code that I can't change (jdbc code, using ojdbc14.jar), so I can't execute this line when receiving the connection. Is there a way to change the default value of nls_date_format for all jdbc connections? Perhaps adding something to the connection string, or some environment variable that I can use?
By the way, sqlplus and sqldeveloper also override the server's format with their own, but I found out how to change their defaults, so the problem is only with jdbc connections.
Set nls date format in an after logon trigger
Thanks, that worked for me.
The trigger that I inserted is this:
CREATE OR REPLACE TRIGGER LOGINTRG
AFTER LOGON ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''';
END LOGINTRG;

Resources