I have done the following :
Connect to SYS.
update props$ set value$='UTF8' where name='NLS_CHARACTERSET';
update props$ set value$='UTF8' where name='NLS_NCHAR_CHARACTERSET';
- restart the database
However, I put a wrong value instead of UTF8 I put BIG5. Then, I got the following error. Is there a way that I can revert back? I just need to reconnect to SYS but since the database won't open, I can connect as an User. : (
ORACLE instance started.
Total System Global Area 36257168 bytes
Fixed Size 64912 bytes
Variable Size 19234816 bytes
Database Buffers 16777216 bytes
Redo Buffers 180224 bytes
ORA-12701: CREATE DATABASE character set is not known
I got the error and the database refuses to open.
Please help and thank in advance.
You must not inert,update, delete in SYS tables!
I dont know how you could go back, I only know that to change character sets in Oracle you have to recreate the database
Delete any file(s) associated with the db, and recreate the db.
I'm sure you've performed a full backup before you updated the PROPS$, so Halo's sugestion might sound a little drastic ;-))
Serriously, if you don't have the backup your only option is to create a new database. Changing character set the way you've tried was quite popular among dba's in the past, however it was also well known that it is totaaly unsupported and that if you do a typo you can say bye-bye to your database. It seemed you've learned it the hard way.
In 8i (or was it allready in 8.0?) Oracle introduced a new ALTER DATABASE option:
ALTER DATABASE SET CHARACTER SET new_charset. That way Oracle prevents you to specify a wrong name for the characterset. Nevertheles, Oracle still recomends a full backup before you perform this operation.
ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
Click Here to Expand Forum to Full Width