Server Administration :: How To Know Character Set As Single Character Or Multi Character
Sep 26, 2013
how do we know database character set is either single character set or multi character set?
While changing character-set from AL32UTF8 to WE8MSWIN1252 got "ORA-12712: new character set must be a superset of old character set".
Below are steps taken to resolve the issue -
ALTER DATABASE CHARACTER SET WE8MSWIN1252;
i got this error: ORA-12712: new character set must be a superset of old character set
below are the commands executed by me:
SQL> SHUTDOWN IMMEDIATE;
SQL> CONNECT SYS/password AS SYSDBA;
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE WE8MSWIN1252;
SQL> SHUTDOWN;
SQL> STARTUP;
SQL> QUIT;
And its working...
I have not done it in proper order. Neither have done ccsscan. Still, no user reported any issues. Do my changes truncated the data?
I'm trying to insert a character from the extended ascii character set. Specifically, there's a company that has an accented e (�) in the name. Right now, the company name doesn't have the e at all, accent or no accent. So I'm trying to do an update, something like
update table1 set company_name='blah�" where company='blah'
It runs, but doesn't do the update. Even when I try to forcefully do an insert (instead of an update) I get nowhere; the accented is simply dropped. So the basic question is, how do you insert extended ascii characters into oracle?
I am using C++ OCI LIB, to insert some report data from remote OCI client to oracle 11 server. This data is read by another process to create the report.The DB CHARSET is UTF-8. But the report tool expects the data to be ISO08859-1 encoded. So while inserting the data into the database i specify the following LANG and CHARSET for my table colulmn in client:
The TARGET DB CHARSET is UTF-8 NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 size_t csid = 871; // UTF-8 OCIAtrSet((void *) bnd1p, (ub4) OCI_HTYPE_BIND, *(void *)&csid*, (ub4) 0, (ub4)OCI_ATTR_CHARSET_ID, errhp);
This solution works for almost every case of ASCII and Extended ASCII Charest but we are facing issues if we have few specific characters to be inserted.f we are trying to insert single beta character [β] through client, the data goes empty to the column.
Beta Character details: DEC OCT HEX BIN Symbol Description 223 337 DF 11011111 ß Latin small letter sharp s - ess-zed
DB Output after insert single β: select rawtohex(NAME) from PERSONS where EID=333;
RAWTOHEX(NAME) ---------------------------
But if the string is *"ββ"* everything work fine: DB Output for "ββ": select rawtohex(NAME) from PERSONS where EID=333;
We just migrated our technology platform on one of the six servers yesterday on production d/b as follows :
OAS Server - Linux Patch Applied (2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux)
D/B Server - From Oracle 10.2.0.2.0 to Oracle 10.2.0.4.0 Batch Server - From OpenVMS to Red Hat Linux
Post Migration, we are facing some issues with Oracle Forms 10g, Text Items which contains one or more than one multibyte characters, is displaying only # character in the entire text box instead of what is stored in the database. In other words, information in the database is stored correctly. Before Migration everything was working perfectly fine.
One other thing which I would like to tell here is that we compile forms using the following environment settings:
Currently my oracle database character set is we8mswin1252 and it is only containing English data as well as spatial data (which is in English of course). I would like to change the Database character set so it could accept Arabic characters.
I have checked the below command on a test DB and it worked fine, but I want to know if it's recommended as a best practice when changing the character set to accept arabic and this won't corrupt my old entered Data ?
SHUTDOWN IMMEDIATE STARTUP RESTRICT ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256 SHUTDOWN IMMEDIATE STARTUP
I'm try to import a table of data (character set: CL8ISO8859P5) to another database (character set: AL32UTF8) using exp/imp utility.After the import, all Cyrillic text was corrupted!
I want to change space allocation for character columns in my database, So it will store them as 'CHAR' and not 'BYTE'.my character set is
SQL> SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'; VALUE ---------------------------------------------------------------- AL32UTF8 SQL> alter system set NLS_LENGTH_SEMANTICS='CHAR' scope=both;
System altered.I bounced the instance just to make sure
And then I want to see that when I create a table with some varchar2 column,The space for it will be allocated by chars, and not by bytes! However, when I run a check of create table, this is what I get:
I have oracle 10.2.0.4.0 installed on Window server 2008 [Machine A] and oracle 10.2.0.1.0 on windowx xp [Machine b]. Now I have taken the export of database on windows server 2k8 [Machine a] by puting the entry in the tnsname.ora file of Windox XP [Machine b].
Now when I am importing on the same machine I am getting the below mentioned error:
C:Documents and Settingsdsharma>IMP FROMUSER=SYSTEM TOUSER=ESCDBO FILE='D:sharevcc53_0106.dmp' LOG='D:sharevcc53_0106_IMP.LOG' ignore=y
Import: Release 10.2.0.1.0 - Production on Thu Jun 9 20:08:11 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: system Password:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production..With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.02.01 via conventional path import done in WE8MSWIN1252 character set and UTF8 NCHAR character set import server uses AL32UTF8 character set (possible charset conversion) export client uses US7ASCII character set (possible charset conversion) Import terminated successfully without warnings.
I have a file which i am loading , the last column is being loaded with special character which looks like sqare shape character for all the rows.How can i prevent it to load as it is not present in the file
data in file
Department|2|Tranport for London|Rail & Underground|ER|ER|ER|ER|ER|ER|555555555|Owner 8|8
the data once loaded for the last column on which is for above example last column value 8 will be loaded with 8 and square share character.
When I am trying to import a dump file which was exported from Oracle 10.2.0.4(installed on Solaris) in to Oracle 11.1.0.6.0(Installed on Windows 2003), I am getting the following error
IMP-00037: Character set marker unknown IMP-00000: Import terminated unsuccessfully
So , I have couple of questions on this
1. Is the above import operation is supported?
2. If yes , which is actually causing the problem?
3. How to rectify this problem? - any solution or workarounds?
4. What should I check in both the Oracle instances - any specific parameters or configurations
I have to load a fixed width file using sql loader utility. But the records have multiple special characters. writing / modifying the loader utility to load the data.
--Script to create the table create table t1 ( ip1 varchar2(2), ip2 number, ip3 number);
--loader utility LOAD DATA INFILE 'c:inputfile.dat' BADFILE 'c:adfile.bad' REPLACE INTO TABLE t1 FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '°' ( ip1POSITION(1:2) CHAR, ip2POSITION(3:17) INTEGER EXTERNAL ":ip2/100", ip3POSITION(18:32) INTEGER EXTERNAL ":ip3/100", )
--sql version i am using SQL*Loader: Release 9.2.0.1.0 - Production on Wed Mar 7 18:32:33 2012 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
In the above mentioned data file, records has multiple special characters like '°','¶' ,'-'. All these special characters have some meaning. eg: '°' specifies the above column needs to be multiplied by -1 '¶' specifies the above column needs to be multiplied by -0.1
what changes need to be made in loader utility for the same? Also, will there be any change in the utility if I am using higher version of oracle?
I've a question regarding difference of character sets, while taking a export(logical backup) of database on directly to server(linux RHEL 2.1 AS) and export on a client (windows xp prof machine, where only a oracle 9i client is installed). On server it seems to fine and okay, but on client node i'm getting following error for almost all tables.
EXP-00091: Exporting questionable statistics.
My question is :
[1] Is it creating any sort of problem, if later on i import the data which was taken from client node.
[2] Why there is a difference(marginal) in dump(.dmp) file size.
[3] Is there any way to overcome it, or it is the natural behave of it. Means not a problem.
[4] If i'm using a long or blob as datatype for some of my table,is they have any problem if i persist like above.
Additional Information about character sets On server node :
Export done in US7ASCII character set and AL16UTF16 NCHAR character set server uses WE8ISO8859P1 character set (possible charset conversion)
On client node :
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set server uses US7ASCII character set (possible charset conversion)
I've written a .net program for inserting blobs into our database, and it works fine, except if the path has more than 30(+) characters. I've read that this is a limitation in oracle, but the actual contents being stored is just the filename, extension, and blob itself, so I'm not actually storing anything more than 30 characters.
The problem is regarding character encoding.When i am entering Japanese characters in a description form field in a Jsp page and on submit storing the value in the database,its getting stored fine.When i an selecting the value and showing in the result page,then again its properly displaying.But when i am executing the select query in Sql Developer,the values are most probably showing as unicode characters (i am not sure about this though,but at least they are looking like unsupported characters).
Is there any way to store data,such as the select query will also show understandable japanese characters on Sql Developer(or other IDEs)?
I would like to use character functions (LPAD, INSTR, SUBSTR, etc) to accomplish what i feel should be rather easy. I would like to take the following character strings: