Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

ORA-12701: CREATE DATABASE character set is not known

Posted on 2001-08-02
9
Medium Priority
?
2,633 Views
Last Modified: 2009-12-16
hi,

When I set the character set I made a mistake.Then when start the database again there is an error message like the title.

I can't open the database so have no idea of redefine the character set.

where can I find the character set parameter that used when the database is created and how to modify it?

Thanks very much.


Vivian Qi
0
Comment
Question by:vivianQQ
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 

Expert Comment

by:charaboc
ID: 6343809
Yes, :look in bdump rep file : alert_SID.log .
You can find " create datbase" and "character set" .
0
 

Author Comment

by:vivianQQ
ID: 6343859
But if i modify the character set in this file the database can get the correct characterset parameter and be opened connectly?
 
This looks just like an log file which record the message about the changes that made on the database.It's not the confige file that will be read when the database is created.

I have checked the initSID.ora but can't find the parameter that references to the character set.

Thank U anyway
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6343928
You must recreate the database, there is no wait to redefine/change it after the database is created...
 
0
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 

Expert Comment

by:charaboc
ID: 6343988
If you whant to find the character set :
-It is in the alert_SID.log file (location given in BDUMP variable in your pfile). Do you know where is your alert_SID.log file ?
-If your  database is 8.  and your character set not standard you have to set the ennv variblae ORA_NLS33.
exemple for Unix:
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data ; export ORA_NLS
 
 
0
 

Author Comment

by:vivianQQ
ID: 6344052
Maybe I should describe the question more clearly.

I want to change the characterset to ZHS16GBK which is the standard characterset of oracle but I typed it as ZHS16CGBK so the oracle gave out the error:ORA-12701: CREATE DATABASE character set is not known.

I use the oracle for linux so I think there must be a file which contain the initial confige information of the DATABASE. Is it right?

I have took a look on the alter_SID.log.There R many log informations just like I supposed.
0
 

Expert Comment

by:lolomuros
ID: 6345111
you could see the correct character set parameters in the documentation...
And I think Angelll is wrong, to change the character set you could do it, closing your database, enabling the restricted session, then a user with restricted session role can change the character set but only if the database is in exclusive mode with alter database character set WE8ISO....

Lolo.
0
 
LVL 3

Expert Comment

by:ramkb
ID: 6345721

If you don't have any data in your database, the easiest thing to do is to recreate the database again.

If you have data in it (which i guess not since you are not able to open it again), you have to do an export and import.

ALTER DATABASE CHARACTER SET statement cannot be used when the new characterset is not a strict superset of old characterset.  This can be used only if you are changing it from US7ASCII to WE8ISO8859P1 or ZHS16GBK or UTF8.

- Ramesh
0
 
LVL 1

Expert Comment

by:selvamsm
ID: 6348393
Hi,
    Hay in the init<sid>.ora file if u didn't specify the character set at the time of database creation means it will take the default(so it won't e displayed) any way u can change that by specifing NLS_LANG = AMERICAN_AMERICA.UTF8(this u can see from u'r documentation) for the characteset which u had specified.

    Other way u can try is in the registry u can change the NLS_LANG value.I don't know Linux so u can see the place where the oracle oriented things will be stored in th e resgistry and change it.

Note: Important thing is the new characterset want to be a superset of the existing one.

Hope this will give u some idea.If u are having any further qurey means post the question.

thanks
selva
0
 
LVL 6

Accepted Solution

by:
Jankovsky earned 100 total points
ID: 6356258
There is only possibility, if you don't want recreate database (I think, it's better). There is an information about character set in file, but it's binary ORACLE CONTROL FILE. You can change it, using CREATE CONTROLFILE ... statement, but it's painful.
1. connect to ORACLE as sysdba
   sqlplus /nolog
   SQL> connect / as sysdba
2. SQL> startup nomount
3. SQL> alter database mount;
4. now database is mounted, but it isn't opened.
   you can select V$ views:
    select * from v$logfile;
    select * from v$datafile;
5. create statement for CREATE CONTROLFILE with
   specification of correct characterset
6. open the database.

Bob
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question