How to convert Oracle charset database

I have a Oracle database which set charset "WE8ISO8859P1". how can I convert to "SJIS" charset that dont need create new database

You can't.
You can successfully convert an Oracle database's charset without database recreation if and only if 1) the original charset is a strict subset of the final charset (the letters in the set) and 2) the codepoints (the numbers that encode the letters) in the original charset don't change in the final charset and 3) all of the data in the database actually is encoded in the original charset (or at least is correctly encoded in the final charset). This is because this type of conversion is accomplished by simply slapping a new charest lable on the database as a whole; none of the binary values in the data get looked at, much less touched. If you "convert" a database and all three are not true, then some or all of your string data becomes complete and utter garbage.
For WE8ISO8859P1 to SJIS, both 1) and 2) are false.
3) becomes an issue because of what Oracle calls an optimization and I call a stupidity; when a database recieves string data from a client that asserts it's using the same charset, nothing checks that the data passed is actually in that charset; thus is it's trivially easy to get 8-bit data in a 7-bit US7ASCII database; it will read and write correctly until the day you try to convert to a superset of US7ASCII, such as UTF8. Then WHAM! Data corruption.
Oracle customers with support contracts can get a lot of documentation about character set conversions from the Metalink support site. Oracle also strongly recommends that customers file a support request for conversions (although someone who reads all the docs and understands character encoding and the NLS settings can muddle through on their own). Oracle also has lot of free documentation about globalization and character sets on the OTN site, which just requires a registration, but I'm not sure the nitty gritty details are there.
For non-subset conversions, the way to do it is to export the data, create a new database and import the data. Conversion to the new encoding will occur on import.
There is a utility, CSSCAN, that can be used to prepare for a conversion. It will scan the database for strings that will have difficulty converting.
Besides the possible issue of data that is outside of the original charset, it will also check for data that will be truncated on conversion. By default, the size specification of a VARCHAR2 in Oracle is the number of bytes; when a character is converted, it may expand the number of bytes that it requires, for example when switching form a 7 or 8 bit encoding to a 16 bit encoding. If enough characters in a value are expanded, the data exceeds the size of the column and is truncated or dropped (I forget). Recent Oracle versions lets you change from having the DB count size in bytes to counting size in characters; I don't yet know if this plays nice with imports with character set conversion (I'll know in a few months).

Similar Messages

  • How to convert oracle 9i database to mysql using JSP?

    Dear friends,
    I want to convert oracle 9i database to mysql using JSP technology. Does there anyone who have a hint or some web links about this task? I searched the internet and found all of them are not free and no source code. In fact, what I want to do is really simple, I just want to first, reading the oracle database table structure information and then create the exactly same table in mysql, and then copying all the data in oracle database table to mysql table. But I don�t know how to retrieve the oracle table structure using JDBC. And also I want to retrieve all the tables in the oracle database, so I can choose from them to convert to mysql. It seems that the structure in oracle usually have the tablespace information, I don�t know if I can create database in mysql using this tablespace information. And I don�t know where I can find the information about the functions in JDBC? For example, how to retrieve the table structure? Once I retrieve the table structure and create the exactly same table structure in mysql, then I can fetch all the data in oracle table to mysql table.
    Any hint will be great appreciated!
    Merry Christmas and Happy new year!
    Sammy

    Hi, beattris and rtg54,
    thank you very much for your great help!
    beattris, do you know if there is any such kind of tool free? I am a student and don't want to do commercial product, as you see, my work is very simple, in fact, just as you said, the most important of all is how to get the database structure from oracle schema? do you have any idea about this? or do you know any tool that is open source? so I can learn from it.
    rtg54, I just want to convert the database from oracle to mysql, after that, I can use mysql database as storage instead of expensive oracle database. the problem is that I have some data stored in oracle database and the application is built on oracle, after the convertion, I can use mysql to provide data to jsp or servlet application. I will great appreciate if you can contact with mysql about this problem because I don't know how to contact with them.
    thanks again and happy new year!
    Sammy

  • How to convert Oracle 10g Database to Oracle ASM Database?

    Please guide how to do this...
    Thanks,
    Waheed.

    This migration can be attained by using the RMAN.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/storeman.htm#sthref1841
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmasm.htm#BRADV12000
    Regards,
    Sabdar Syed.

  • How to convert oracle timestamp to java timestamp

    Hi,
    I need to convert oracle timestamp that i got from oracle database to java timestamp.I tried to use getTimestamp() to get timestamp value from oracle, but am getting NumberFormatException.
    Could any of suggest how to convert oracle timestamp to java timestamp.

    Thanks jverd ,
    then my code will be like:
    String oracleTS="11-MAR-05 11.19.20.625 AM";
    // am looking for yyyy-MM-dd HH:mm:ss format
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd
    HH:mm:ss");           
    Timestamp javaTimestamp=Timestamp.valueOf(oracleTS);
    System.out.println("javaTimestamp----->>
    "+javaTimestamp);
    ving java.lang.NumberFormatException: For input
    string: "MAR"Well, the SimpleDateFormat has to actually match the format you're trying to parse, for one thing. Then you have to actually USE the SDF, which you didn't.
    You really haven't made it clear what you're trying to do, and it doesn't appear that you bothered to study the links I provided.
    DateFormat df = new SimpleDateFormat("dd-MMM-yy HH.mm.ss.SSS aa");
    Date date = df.parse(oracleTS);
    Timestamp ts = new Timestamp(date.getTime());

  • How to convert logical standby database to Physical Standby Database

    Hi,
    Does anyone know how to convert logical standby database(10.2.0.3) to Physical Standby Database(10.2.0.3)? Is this possible? If so,please give me steps for it.
    Thanks.
    Regards,
    RJ.

    I don't believe this to be possible. One of the steps invloved in the creation of a logical standby is the following:
    ALTER DATABASE OPEN RESETLOGS;
    This makes the logical standby a different incarnation of the db from the primary.
    A physical standby is a binary copy of a primary db, a logical standby is a completely seperate db that just happens to get sql statements applied to it that are generated from a primary db, but is open read/write.
    One avenue, though would be if you had flashback database enabled and you flashed back all the way to when the db was a physical standby and then rolled forward with the archived redo logs.
    It's somewhat unlikely you are in that situation, but that is a possibility.
    Indeed the 11g snapshot standby does this sort of thing:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/manage_ps.htm#sthref740
    jason.
    http://jarneil.wordpress.com

  • How to install oracle 9i database, 9i AS , 9i DS in a standalone system

    hi,
    can any one explain me the plan how to install oracle 9i database, 9i AS , 9i DS in a single standalone system. is it possible ?
    if possible , can u suggest me how to plan these operations in detail.
    thanks
    N.RAM PRASAD

    It's very easy to find. Please refer to this address: http://tinyurl.com/qmgk5v
    Kamran Agayev A. (10g OCP)
    http://kamranagayev.wordpress.com
    [Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • How to install oracle 9i database on rhel4

    Hi,
    i am new to database and i have to install oracle database 9i on RHEL4.
    can anybody give me the detail steps to do this.
    Thanks in advance

    Duplicate post!
    Re: how to install oracle 9i database on rhel4
    Refer to this address:
    http://tinyurl.com/qmgk5v
    Kamran Agayev A. (10g OCP)
    http://kamranagayev.wordpress.com
    [Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • How to convert Oracle Report Output to Excel Spread Sheet..

    Hello Sir,
    How to convert Oracle Report Output to Excel Spread Sheet..
    Thanks..

    Hello,
    Please give us more information what kind of report(s). Sample example etc.,
    Sri

  • How to Convert Oracle Apps Report into XML Publisher

    Hi
    How to Convert Oracle Apps Report into XML Publisher?
    Thanks

    In Brief :
    Re: XML Publisher
    In Details :
    http://www.oracle.com/technology/products/xml-publisher/docs/XMLEBSRep.pdf

  • How to convert Oracle reports previewer output into delimited file.

    How to convert Oracle reports previewer output into delimited file if the report has more than 1000 pages.
    I tried with previewer option File --> Generate to file --> Delimited file, but the report engine is crashing.Not generating .TXT file.
    I observed that this option is not working for more than 400 pages.
    I am using Oracle reports 6i version.
    Plz suggest me to generate .TXT file from Report previewer.

    You can specify a delimiter (a character or string of characters) to separate the data (boilerplate or field objects) in your report output in either of the following ways:
    On the command line using the DELIMITER keyword.
    In the Delimited Output dialog box or DelimitedData Output dialog box (displayed with File > Generate to File > Delimited or File > Generate to File > DelimitedData) in Reports Builder.
    for further information goto this link
    http://download.oracle.com/docs/cd/B14099_17/bi.1012/b13895/orbr_concepts2.htm#sthref760

  • How to convert oracle form fmb file to java swing file using Jdeveloper

    how to convert oracle form fmb file to java swing file using Jdeveloper.Please explain with detailes steps if possible or please give a link where it is available
    thanks
    Message was edited by:
    user591884

    There is no automatic way to do this in JDeveloper. I know there are some Oracle Partners offering forms to java conversion, I don't know how much of their tools are automated and done with JDeveloper. With JDeveloper+ADF you basically rewriting the Forms application from scratch (and using ADF is helpful during this process).

  • How to migrate oracle 9i database to oracle 10g

    Hi All!
    Can anyone tell me the steps to migrate oracle database from 9i to 10g.
    what are the prerequisite and preliminary thing to consider...
    any thing related to migration.
    ThanQ.

    Which one is better?
    Thanks a lot.
    itpub888
    Re: How to migrate oracle 9i database to oracle 10g
    Posted: Aug 12, 2007 11:17 PM
    Hi,
    u can go for any of the migration steps provided by oracle..say
    1.By using DBUA
    2.By using PL/SQL scripts provided by oracle like utlu102i.sql
    3. Using exp/imp utilities
    4. Using Copy
    For further info, u can refer 10g upgrade guide available on OTN
    Regards
    ramesh

  • How to convert Oracle database to XML standard?

    I have a project to convert oracle database to XML standard.And get it to show in webpage.Please tell me for do it.Tell about the way to do it.Tell me some kit to do it.

    Hi,
    otn says like this
    "You can use the XML SQL Utility to generate a DTD based on the schema of the underlying table being queried. You can use the generated DTD as input to the XML Class Generator for Java, which will generate a set of classes based on the DTD elements. You can then write Java code that use these classes to generate the infrastructure behind a web-based form. Based on this infrastructure, the web form will capture user data and create an XML document compatible with the database schema."
    use 'mlsql utility'
    regards
    raghavan

  • How to convert oracle DDL to mysql DDL

    Dear friends,
    I have Oracle 9.2.0 DDL, (not complexity, no BLOB or CLOB data type, but have foreign key constrains), I want to convert it to mysql DDL, so I can create mysql database using this DDL. could someone give a hint of how to convert it? thank you very much in advance!
    besides, could some one tell me if I can get oracle 9.2.0 DDL through JDBC? how?
    thanks again!

    Hi Sammy,
    I'm not sure what you're looking for when you say you'd like to retrieve Oracle DDL. Would you like to know the table definitions (e.g., table names with associated column names and types)? I think java.sql.DatabaseMetaData might be able to help you out if that's what you mean.
    I usually just go into SQL*Plus and ask Oracle to describe the tables I need. But perhaps I'm not understanding you.
    Yes, I think it's best combine XDoclet and Hibernate. I've been adding XDoclet javadoc tags to my Java classes. There's an Ant task that generates the *.hbm.xml descriptor files for all my classes. There's another Ant task that will take those descriptors and put out the DLL for you. You can change from Oracle to MySQL just by changing the hibernate.properties file.
    I agree - Hibernate is terrific stuff. I hope it can help you. Sincerely, MOD

  • How to convert oracle report in html form into excel form?

    Hi friends !! I m trying to convert oracle 10g report into excel form.Its coming in excel form but not with all formats.How to solve the problem?

    Hello,
    Please give us more information what kind of report(s). Sample example etc.,
    Sri

Maybe you are looking for

  • Why is my purchased app on the iMac not sending to my iPad?

    Hey, I purchased the new iPad today and want to get it set up for my personal training business. I am loading it up with apps for workouts and came across an app called "daily workouts". I installed this app on my iMac with the hope of sending it acr

  • MacBook Pro 15" Late 2013 freeze every hour at the same time

    Hi guys, My MacBook Pro 15" Late 2013 Retina freeze every hour at the very same time. Before every freeze in console i see something like this: 16/07/2014 20:01:56.368 com.apple.mtmd[79]: Set snapshot time: 2014-07-16 20:01:58 +0100 (current time: 20

  • Suggestions for new Sci-Fi on Vision

    Hi Guys, The Vision Programming Team have asked for Sci-Fi TV suggestions from Vision users, that we would like to see available via On Demand. So, via an email from Mod DavidM, I was asked to start a new thread, because they want our feedback. And '

  • Multipart/related part specifiers

    Hi, this query is perhaps the result of my own limited knowledge regarding MIME types and part specifiers but here goes.... Based on the following BODYSTRUCTURE, I am attempting to determine the associated part specifiers so I may get the MIME header

  • Potential set-up: Optical/HDMI questions

    Okay, so here's the deal. I am purchasing an Apple TV to hook up to my Sony TV. I have a 5.1 DD system that I would like to use, but I also have some smaller speakers I want to stream iTunes music to, while using my TV for something else. Let me know