How to review implication of database character set change on PL/SQL code?

Hi,
We are converting WE8ISO8859P1 oracle db characterset to AL32UTF8. Before conversion, i want to check implication on PL/SQL code for byte based SQL functions.
What all points to consider while checking implications on PL/SQL code?
I could find 3 methods on google surfing, SUBSTRB, LENGTHB, INSTRB. What do I check if these methods are used in PL/SQL code?
What do we check if SUBSTR and LENGTH functions are being used in PL/SQl code?
What all other methods should I check?
What do I check in PL/SQL if varchar and char type declarations exist in code?
How do i check implication of database characterset change to AL32UTF8 for byte bases SQL function.
Thanks in Advance.
Regards,
Rashmi

There is no quick answer.  Generally, the problem with PL/SQL code is that once you migrate from a single-byte character set (like WE8ISO8859P1) to a multibyte character set (like AL32UTF8), you can no longer assume that one character is one byte. Traditionally, column and PL/SQL variable lengths are expressed in bytes. Therefore, the same string of Western European accented letters may no longer fit into a column or variable after migration, as it may now be longer than the old limit (2 bytes per accented letter compared to 1 byte previously). Depending on how you dealt with column lengths during the migration, for example, if you migrated them to character length semantics, and depending on how relevant columns were declared (%TYPE vs explicit size), you may need to adjust maximum lengths of variables to accommodate longer strings.
The use of SUBSTR, INSTR, and LENGTH and their byte equivalents needs to be reviewed. You need to understand what the functions are used for. If the SUBSTR function is used to truncate a string to a maximum length of a variable, you may need to change it to SUBSTRB, if the variable's length constraint is still declared in bytes.  However, if the variable's maximum length is now expressed in characters, SUBSTR needs to be used.  However, if SUBSTR is used to extract a functional part of a string (e.g. during parsing), possibly based on result from INSTR, then you should use SUBSTR and INSTR independently of the database character set -- characters matter here, not bytes. On the other hand, if SUBSTR is used to extract a field in a SQL*Loader-like fixed-format input file (e.g. read with UTL_FILE), you may need to standardize on SUBSTRB to make sure that fields are extracted correctly based on defined byte boundaries.
As you see, there is universal recipe on handling these functions. Their use needs to be reviewed and understood and it should be decided if they are fine as-is or if they need to be replaced with other forms.
Thanks,
Sergiusz

Similar Messages

  • Database Character Set Change

    Hi,
    I am trying to change my database's(9i) character set US7ASCII to UTF8 .
    There are some tables having CLOB columns which are stopping this from happening .
    So I exported all those tables having CLOB columns and truncated them .
    But there are some views also which have CLOB columns which are restricting me from changing the characterset further.
    Any help will be appreciated.
    Thanx

    Hi,
    I used the following after export and truncate of tables containing CLOB columns .
    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 UTF8;
    SQL> ALTER DATABASE CHARACTER SET UTF8;
    ALTER DATABASE CHARACTER SET UTF8
    ERROR at line 1:
    ORA-12716: Cannot ALTER DATABASE CHARACTER SET when CLOB data exists
    Pls help me out.
    Thanx

  • ORA-12709: error while loading create database character set after upgrade

    Dear All
    i m getting ORA-12709: error while loading create database character set, After upgraded the database from 10.2.0.3 to 11.2.0.3 in ebusiness suit env.
    current application version 12.0.6
    please help me to resolve it.
    SQL> startup;
    ORACLE instance started.
    Total System Global Area 1.2831E+10 bytes
    Fixed Size 2171296 bytes
    Variable Size 2650807904 bytes
    Database Buffers 1.0133E+10 bytes
    Redo Buffers 44785664 bytes
    ORA-12709: error while loading create database character set
    -bash-3.00$ echo $ORA_NLS10
    /u01/oracle/PROD/db/teche_st/11.2.0/nls/data/9idata
    export ORACLE_BASE=/u01/oracle
    export ORACLE_HOME=/u01/oracle/PROD/db/tech_st/11.2.0
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/perl/bin:$PATH
    export PERL5LIB=$ORACLE_HOME/perl/lib/5.10.0:$ORACLE_HOME/perl/site_perl/5.10.0
    export ORA_NLS10=/u01/oracle/PROD/db/teche_st/11.2.0/nls/data/9idata
    export ORACLE_SID=PROD
    -bash-3.00$ pwd
    /u01/oracle/PROD/db/tech_st/11.2.0/nls/data/9idata
    -bash-3.00$ ls -lh |more
    total 56912
    -rw-r--r-- 1 oracle oinstall 951 Jan 15 16:05 lx00001.nlb
    -rw-r--r-- 1 oracle oinstall 957 Jan 15 16:05 lx00002.nlb
    -rw-r--r-- 1 oracle oinstall 959 Jan 15 16:05 lx00003.nlb
    -rw-r--r-- 1 oracle oinstall 984 Jan 15 16:05 lx00004.nlb
    -rw-r--r-- 1 oracle oinstall 968 Jan 15 16:05 lx00005.nlb
    -rw-r--r-- 1 oracle oinstall 962 Jan 15 16:05 lx00006.nlb
    -rw-r--r-- 1 oracle oinstall 960 Jan 15 16:05 lx00007.nlb
    -rw-r--r-- 1 oracle oinstall 950 Jan 15 16:05 lx00008.nlb
    -rw-r--r-- 1 oracle oinstall 940 Jan 15 16:05 lx00009.nlb
    -rw-r--r-- 1 oracle oinstall 939 Jan 15 16:05 lx0000a.nlb
    -rw-r--r-- 1 oracle oinstall 1006 Jan 15 16:05 lx0000b.nlb
    -rw-r--r-- 1 oracle oinstall 1008 Jan 15 16:05 lx0000c.nlb
    -rw-r--r-- 1 oracle oinstall 998 Jan 15 16:05 lx0000d.nlb
    -rw-r--r-- 1 oracle oinstall 1005 Jan 15 16:05 lx0000e.nlb
    -rw-r--r-- 1 oracle oinstall 926 Jan 15 16:05 lx0000f.nlb
    -rw-r--r-- 1 oracle oinstall 1.0K Jan 15 16:05 lx00010.nlb
    -rw-r--r-- 1 oracle oinstall 958 Jan 15 16:05 lx00011.nlb
    -rw-r--r-- 1 oracle oinstall 956 Jan 15 16:05 lx00012.nlb
    -rw-r--r-- 1 oracle oinstall 1005 Jan 15 16:05 lx00013.nlb
    -rw-r--r-- 1 oracle oinstall 970 Jan 15 16:05 lx00014.nlb
    -rw-r--r-- 1 oracle oinstall 950 Jan 15 16:05 lx00015.nlb
    -rw-r--r-- 1 oracle oinstall 1.0K Jan 15 16:05 lx00016.nlb
    -rw-r--r-- 1 oracle oinstall 957 Jan 15 16:05 lx00017.nlb
    -rw-r--r-- 1 oracle oinstall 932 Jan 15 16:05 lx00018.nlb
    -rw-r--r-- 1 oracle oinstall 932 Jan 15 16:05 lx00019.nlb
    -rw-r--r-- 1 oracle oinstall 951 Jan 15 16:05 lx0001a.nlb
    -rw-r--r-- 1 oracle oinstall 944 Jan 15 16:05 lx0001b.nlb
    -rw-r--r-- 1 oracle oinstall 953 Jan 15 16:05 lx0001c.nlb
    Starting up:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options.
    ORACLE_HOME = /u01/oracle/PROD/db/tech_st/11.2.0
    System name: SunOS
    Node name: proddb3.zakathouse.org
    Release: 5.10
    Version: Generic_147440-19
    Machine: sun4u
    Using parameter settings in server-side spfile /u01/oracle/PROD/db/tech_st/11.2.0/dbs/spfilePROD.ora
    System parameters with non-default values:
    processes = 200
    sessions = 400
    timed_statistics = TRUE
    event = ""
    shared_pool_size = 416M
    shared_pool_reserved_size= 40M
    nls_language = "american"
    nls_territory = "america"
    nls_sort = "binary"
    nls_date_format = "DD-MON-RR"
    nls_numeric_characters = ".,"
    nls_comp = "binary"
    nls_length_semantics = "BYTE"
    memory_target = 11G
    memory_max_target = 12G
    control_files = "/u01/oracle/PROD/db/apps_st/data/cntrl01.dbf"
    control_files = "/u01/oracle/PROD/db/tech_st/10.2.0/dbs/cntrl02.dbf"
    control_files = "/u01/oracle/PROD/db/apps_st/data/cntrl03.dbf"
    db_block_checksum = "TRUE"
    db_block_size = 8192
    compatible = "11.2.0.0.0"
    log_archive_dest_1 = "LOCATION=/u01/oracle/PROD/db/apps_st/data/archive"
    log_archive_format = "%t_%s_%r.dbf"
    log_buffer = 14278656
    log_checkpoint_interval = 100000
    log_checkpoint_timeout = 1200
    db_files = 512
    db_file_multiblock_read_count= 8
    db_recovery_file_dest = "/u01/oracle/fast_recovery_area"
    db_recovery_file_dest_size= 14726M
    log_checkpoints_to_alert = TRUE
    dml_locks = 10000
    undo_management = "AUTO"
    undo_tablespace = "APPS_UNDOTS1"
    db_block_checking = "FALSE"
    session_cached_cursors = 500
    utl_file_dir = "/usr/tmp"
    utl_file_dir = "/usr/tmp"
    utl_file_dir = "/u01/oracle/PROD/db/tech_st/10.2.0/appsutil/outbound"
    utl_file_dir = "/u01/oracle/PROD/db/tech_st/10.2.0/appsutil/outbound/PROD_proddb3"
    utl_file_dir = "/usr/tmp"
    plsql_code_type = "INTERPRETED"
    plsql_optimize_level = 2
    job_queue_processes = 2
    cursor_sharing = "EXACT"
    parallel_min_servers = 0
    parallel_max_servers = 8
    core_dump_dest = "/u01/oracle/PROD/db/tech_st/10.2.0/admin/PROD_proddb3/cdump"
    audit_file_dest = "/u01/oracle/admin/PROD/adump"
    db_name = "PROD"
    open_cursors = 600
    pga_aggregate_target = 1G
    workarea_size_policy = "AUTO"
    optimizer_secure_view_merging= FALSE
    aq_tm_processes = 1
    olap_page_pool_size = 4M
    diagnostic_dest = "/u01/oracle"
    max_dump_file_size = "20480"
    Tue Jan 15 16:16:02 2013
    PMON started with pid=2, OS id=18608
    Tue Jan 15 16:16:02 2013
    PSP0 started with pid=3, OS id=18610
    Tue Jan 15 16:16:03 2013
    VKTM started with pid=4, OS id=18612 at elevated priority
    VKTM running at (10)millisec precision with DBRM quantum (100)ms
    Tue Jan 15 16:16:03 2013
    GEN0 started with pid=5, OS id=18616
    Tue Jan 15 16:16:03 2013
    DIAG started with pid=6, OS id=18618
    Tue Jan 15 16:16:03 2013
    DBRM started with pid=7, OS id=18620
    Tue Jan 15 16:16:03 2013
    DIA0 started with pid=8, OS id=18622
    Tue Jan 15 16:16:03 2013
    MMAN started with pid=9, OS id=18624
    Tue Jan 15 16:16:03 2013
    DBW0 started with pid=10, OS id=18626
    Tue Jan 15 16:16:03 2013
    LGWR started with pid=11, OS id=18628
    Tue Jan 15 16:16:03 2013
    CKPT started with pid=12, OS id=18630
    Tue Jan 15 16:16:03 2013
    SMON started with pid=13, OS id=18632
    Tue Jan 15 16:16:04 2013
    RECO started with pid=14, OS id=18634
    Tue Jan 15 16:16:04 2013
    MMON started with pid=15, OS id=18636
    Tue Jan 15 16:16:04 2013
    MMNL started with pid=16, OS id=18638
    DISM started, OS id=18640
    ORACLE_BASE from environment = /u01/oracle
    Tue Jan 15 16:16:08 2013
    ALTER DATABASE MOUNT
    ORA-12709 signalled during: ALTER DATABASE MOUNT...

    ORA-12709 signalled during: ALTER DATABASE MOUNT...Do you have any trace files generated at the time you get this error?
    Please see these docs.
    ORA-12709: WHILE STARTING THE DATABASE [ID 1076156.6]
    Upgrading from 9i to 10gR2 Fails With ORA-12709 : Error While Loading Create Database Character Set [ID 732861.1]
    Ora-12709 While Trying To Start The Database [ID 311035.1]
    ORA-12709 when Mounting the Database [ID 160478.1]
    How to Move From One Database Character Set to Another at the Database Level [ID 1059300.6]
    Thanks,
    Hussein

  • Determine database character set

    How do I determine the database character set? Can look into
    v$parameter and v$system_parameter for NLS settings, but need to
    know the database character set. I am following other DBAs so I
    don't have the creation scripts. Am supporting databases from
    v7.3 through v8.0.5 in production with v8.1.5 planned.
    null

    Thanks, Mark
    Junaid (guest) wrote:
    : You can query the "sys.props$" table which gives you the
    details
    : of the database character set.
    : All the best!!!
    : Mark O'Brien (guest) wrote:
    : : How do I determine the database character set? Can look
    into
    : : v$parameter and v$system_parameter for NLS settings, but
    need
    : to
    : : know the database character set. I am following other DBAs
    so
    : I
    : : don't have the creation scripts. Am supporting databases
    from
    : : v7.3 through v8.0.5 in production with v8.1.5 planned.
    null

  • How to change Database character set?

    Hi,
    We are planning to make a clone of production Database which has:
    select value$ from sys.props$ where name='NLS_CHARACTERSET';
    AL32UTF8
    We have set up a new server for that purpose and installed database, but by default it has
    select value$ from sys.props$ where name='NLS_CHARACTERSET';
    WE8ISO8859P1
    So after making full import from full backup file we have some broken character in database.
    How can I change from WE8ISO8859P1 to AL32UTF8?
    I expect that I need to shutdown the clone database or even make from scratch full import.
    Thanks

    I made a full backup from production database which has AL32UTF8
    My new database is fresh and it has WE8ISO8859P1
    I think the reason why I'm having some corrupted characters is because of difference in Character set between two database, right?
    so I will need to change new database Character set to AL32UTF8 then make again full import.

  • How to alter database character set from AL32UTF8 to EE8MSWIN1250

    Hi folks,
    I'm using an Oracle 10g, XE database, which has a database character set set to AL32UTF8, what causes that some characters like "č ť ř ..." are not displayed.
    To fix this issue, I would like to change it to EE8MSWIN1250 character set as it's set on server.
    Unfortunatelly below steps don;t work for me:
    connect sys as sysdba;
    SHUTDOWN IMMEDIATE;
    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 NATIONAL CHARACTER SET EE8MSWIN1250;
    ALTER DATABASE CHARACTER SET EE8MSWIN1250;
    SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL;
    STARTUP;Value in regedit: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE is set to CZECH_CZECH REPUBLIC.EE8MSWIN1250
    I'm struggling with this issue for hours and unfortunatelly can't make it work. Any advise is more than welcome.
    Thanks,
    Tomas
    I tried to use hints listed here , but always getting some ORA messages.

    Hi Sergiusz,
    Thank you for your reply. You're right, I've probably didn't provide a full details about my issue, but at least now I know, that database encoding(characterset) is correct.
    Here is my issue:
    Within my APEX application I would like to use a JasperReportsIntegration, so to be able to create and run iReports straight from APEX application. Installation, and implementation of JasperReports works fine, I had no issue with it.
    As a second step I've created a simple report using iReport tool, when if preview function is used, all static characters (from report labels) are displayed correctly. Database items are displayed incorectly - some Czech characters are not displayed. Language within report is set to cs_CS, but I've tried also other options. No sucess.
    When I run that report from APEX application (from server) then the same issue - data from database are returned without some czech characters.
    Kind regards,
    Tomas

  • Changing database character set from US7ASCII to AL32UTF8

    Our database is running on Oracle database 10.1.0.4.0 (AIX) The following are its parameters:
    SQL> select value from NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET';
    VALUE
    US7ASCII
    We would like to change the database character set to AL32UTF8. After following Metalink notes: 260192.1 (which helped us resolve "Lossy" and "Truncated" data, the final output of the CSSCAN utility is:
    [Scan Summary]
    All character type data in the data dictionary are convertible to the new character set
    All character type application data are convertible to the new character set
    [Data Dictionary Conversion Summary]
    The data dictionary can be safely migrated using the CSALTER script
    We have no (0) Truncation and Lossy entries on the .txt file. We only have Changeless and Convertible. Now accdg to the documentation, we can do a FULL EXP and FULL IMP. But it did not detail how to do the conversion on the same database. The discussion on the document tells how to do it from one database to another database. But how about on the same database?
    We cannot use CSALTER as stated on the document.
    (Step 6
    Step 12
    12.c) When using Csalter/Alter database to go to AL32UTF8 and there was NO "Truncation" data, only "Convertible" and "Changeless" in the csscan done in point 4:)
    After performing a FULL export of the database, how can we change its character set? What do we need to do the the existing database to change its character set to AL32UTF8 before we import back our dump file into the same database?
    Please help.

    There you are! Thanks! Seems like I am right in my understanding about the Oracle Official Documentation. Thanks!
    Hmmmmm...when you say:
    *"you can do selective export of only convertible tables, truncate the tables, use CSALTER, and re-import."*
    This means that:
    1. After running csscan on database PROD, i will take note of the convertible tables in the .txt output file.
    2. Perform selective EXPORT on PROD (EXP the convertible tables)
    3. Truncate the convertible tables on PROD database
    4. Use CSALTER on PROD database
    5. Re-import the tables into PROD database
    6. Housekeeping.
    Will you tell me if these steps are the correct one? Based on our scenario: This is what i have understood referring to the Official Doc.
    Am i correct?
    I really appreciate your help Sergiusz.

  • Oracle database character set

    Hello all -
    Please help..................
    I will be exporting/importing 6/7 users/schemas/data from one database to the another database on solaris. Users are created.
    I am confused about NLS_LANG variable and database characterset.
    I have the following questions -
    1. What is impact of NLS_LANG variable setting of user session while import/export the data ?
    2. Why do we need to set this NLS_LANG user session variable before export/import ?
    3.If NLS_LANG variable is not set (doesnot have any value) what would happen ?
    4. If I have to set NLS_LANG varible, what should I set it to?
    5. How can I see the characterset of my database?
    6. Where can I get more info about database charaterset and What are the valid values for database characterset and NLS_LANG varibale ?
    Any help would really appreciated...
    Thanks a lot.....
    RAMA

    1. What is impact of NLS_LANG variable setting of user session while import/export the data ?
    On export, the data will be converted from the database character set to the character set specified by NLS_LANG. In import, the database will assume that the data is in the character set specified by NLS_LANG and use that value to perform the conversion to the database character set if the two values to not match.
    2. Why do we need to set this NLS_LANG user session variable before export/import ?
    If your database character set is the same as your OS, you don't necessarily have to set NLS_LANG. For instance, if you have a US7ASCII db, and your OS locale is set to AMERICA_AMERICAN.US7ASCII, there won't be any problems. The only time it's really important to set this is when the db and OS settings don't match.
    3.If NLS_LANG variable is not set (doesnot have any value) what would happen ?
    If your database character set doesn't match your OS, the data could be garbled because the db will incorrectly transcode the data on import/export.
    4. If I have to set NLS_LANG varible, what should I set it to?
    Depends on what your database character set is set to (see below).
    5. How can I see the characterset of my database?
    select * from nls_database_parameters and look for the value set for the NLS_CHARACTERSET parameter. Don't get confused by the NLS_NCHAR_CHARACTERSET, that's for NCHAR datatypes.
    So, for instance, if your NLS_CHARACTERSET value is set to UTF8, you would set NLS_LANG to .UTF8 (the dot is important because that's actually shorthand for territory_language.characterset, or language_territory.characterset, I can never remember which comes first. In any case, use the dot). For example:
    setenv NLS_LANG .UTF8
    6. Where can I get more info about database charaterset and What are the valid values for database characterset and NLS_LANG varibale ?
    It's all in the Oracle documentation.
    hope this helps.
    Tarisa.

  • Want to change Database Character set

    I have installed Oracle 10g in my system.
    But while installing Oracle 10g i have selected the Database Character set as English but now i want it to change it to West European WE8MSWIN1252
    can anyboby suggest how to modify it.

    http://oracle.ittoolbox.com/documents/popular-q-and-a/changing-the-character-set-of-an-oracle-database-1601
    Best Practices
    http://www.oracle.com/technology/tech/globalization/pdf/TWP_Character_Set_Migration_Best_Practices_10gR2.pdf

  • Change Database Character Set to Arabic!

    Dear All,
    My database is Oracle 11gR2 On Linux platform.
    I am trying to change the character set of my database to store Arabic characters.
    This is what I am doing:
    SHUTDOWN IMMEDIATE;
    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 INTERNAL_USE AR8ISO8859P6;
    SHUTDOWN IMMEDIATE;
    STARTUP;
    When i check:
    SQL> select value from NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET';
    VALUE
    AR8ISO8859P6
    But still when i query data it shows it like this:
    "¿¿¿¿¿¿ç ¿¿ê ¿¿¿¿çê¿ ¿¿¿¿ ¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿èê¿ ¿¿¿è¿ ¿¿¿¿ê¿¿ ¿¿¿ ¿¿â¿¿ ¿¿é ¿¿¿ è¿¿¿ ¿ê ¿¿¿¿ êè¿ ¿¿¿¿¿¿ 28/9 ¿ê ¿ ¿¿é ¿¿¿¿ ¿è¿¿ê èç¿¿¿ ¿è¿¿¿ âê¿¿ ¿¿¿ è¿¿â¿ ¿¿è¿"
    Can you help me to understand where is the problem and how to get through it.
    Regards, Imran

    Why on earth are you using the undocumented INTERNAL_USE command? The name alone should strongly imply that this isn't something that normal users should be playing with. It is extremely likely that you've corrupted your database.
    Do you have a backup of your database taken before you corrupted it? If so, can you restore that backup? Once you do that, tell us what character set you're starting with. If you are implying that there is existing data in the database, what character set is that data encoded with? Can you DUMP the data to verify this?
    Justin

  • Find Database Character Set

    Friends,
    How to find "Database Character Set" of current database?

    Hi,
    SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE '%CHAR%SET%';Yoann.

  • Changing database character set

    Can anyone help with the way to change the database character set.
    I am runn into problem while exporting with error message exp-00091
    Thanks

    You don't need to change the database character set. You have only to set the correct character set at
    OS level before doing the export. Execute the following at Sql prompt as DBA :
    SQL> select * from v$nls_parameters
      2* where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET')
    SQL> /
    PARAMETER            VALUE
    NLS_LANGUAGE         AMERICAN
    NLS_TERRITORY        AMERICA
    NLS_CHARACTERSET     WE8ISO8859P15
    SQL>then at OS prompt :
    $ export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15
    $ exp ..............
    Of course you have to use your values.

  • ORA-12709: error while loading create database character set

    I installed Oracle 8.05 on Linux successfully: was able to login
    whith SQLPlus, start and stop the db whith svrmgrl etc.
    During this install I chose WE8ISO8859P9 as the database
    characterset when prompted.
    After that I installed Oracle Application Server 3.02, and now
    I'm getting the
    ORA-12709: error while loading create database character set
    message when I try to start up the database, and the database
    won't mount.
    Platform is RedHat Linux 5.2.
    NLS_LANG set to different settings,
    e.g. AMERICAN_AMERICA.WE8ISO8859P9
    but without success.
    Anyone any clue?
    Thanks!
    null

    Jogchum Reitsma (guest) wrote:
    : I installed Oracle 8.05 on Linux successfully: was able to
    login
    : whith SQLPlus, start and stop the db whith svrmgrl etc.
    : During this install I chose WE8ISO8859P9 as the database
    : characterset when prompted.
    : After that I installed Oracle Application Server 3.02, and now
    : I'm getting the
    : ORA-12709: error while loading create database character set
    : message when I try to start up the database, and the database
    : won't mount.
    : Platform is RedHat Linux 5.2.
    : NLS_LANG set to different settings,
    : e.g. AMERICAN_AMERICA.WE8ISO8859P9
    : but without success.
    : Anyone any clue?
    : Thanks!
    You can create the database with WE8DEC character set
    and to use the WE8ISO8859P9 on the client or even on Linux.
    The NLS_LANG setting doesn't effect the database, but the
    interface with the database. The same setting can be used in de
    windows 95/98/NT registry.
    null

  • Database character set = UTF-8, but mismatch error on XML file upload

    Dear experts,
    I am having problems trying to upload an XML file into an XMLType table. The Database is 9.2.0.5.0, with the character set details:
    SELECT *
    FROM SYS.PROPS$
    WHERE name like '%CHA%';
    Query results:
    NLS_NCHAR_CHARACTERSET          UTF8     NCHAR Character set
    NLS_SAVED_NCHAR_CS          UTF8
    NLS_NUMERIC_CHARACTERS          .,     Numeric characters
    NLS_CHARACTERSET          UTF8     Character set
    NLS_NCHAR_CONV_EXCP          FALSE     NLS conversion exception
    To upload the XML file into the XMLType table, I am using the command:
    insert into XMLTABLE
    values(xmltype(getClobDocument('ServiceRequest.xml','UTF8')));
    However, I get the error:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00200: could not convert from encoding UTF-8 to UCS2
    Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at line 1
    Why does it mention UCS2, as can't see that on the Database character set?
    Many thanks for your help,
    Mark

    USC2 is known as AL16UTF16(LE/BE) by Oracle...
    Try using AL32UTF8 as the character set name
    AFAIK The main difference between Oracle's UTF8 and AL32UTF8 character set is that is the UTF8 character set does not support those UTF-8 characteres that require 4 bytes..
    -Mark

  • Diffrent Database character sets?

    Can I to set up Oracle streams between 2 db's with different database character sets? In my case It would be between a UTF8 and we8iso8859P1
    // Daniel Austin

    Yes you can.
    Multiple Character Sets - http://www.oracle.com/pls/db102/to_URL?remark=ranked&urlname=http:%2F%2Fdownload.oracle.com%2Fdocs%2Fcd%2FB19306_01%2Fserver.102%2Fb14229%2Fha_streams.htm%23sthref873

Maybe you are looking for

  • Bluetooth no longer works android phone to MacBook Pro

    I have been transferring files to/from my Huawei H811C (android v. 4.0.4.) and my MacBook Pro via bluetooth without any problems....until today. I recently updated the MacBook Pro to OS X 10.9.2, but I'm pretty sure I have transferred files since the

  • Web service with attachment

    Hi, Could anyone tell me hos to call a web service with the message Payload as an SOAP attachment? I´m calling from WAS 6.20 -> XI -> WS using a client proxy, but i can´t understand how the Payload becomes an attahcment? Jakob

  • Dumb with Wirless and Airport Express

    I have thought about purchasing an airport express for a while so that I could play music from my desktop which is connected to a cable modem on my component stereo. By a stroke of Christmas spirit a friend of mine gave me his airport express because

  • Openbox and urxvt(solved)

    I have two questions.First,how can i start urxvt when openbox starts.If i put urxvt in autostart.sh,it starts at up left corner,and i can't type anything,i must kill it.When i start urxvt normaly, it starts at down left corner because of rc.xml setin

  • HP Warranty service poor - costs to the customer is excessive

    Hello HP I have always used HP products, But due to recent service warranty events I may never purchase or recommend an HP product. I recently purchased a laser jet printer Model CM1321NFI MFP. It failed within 30 days of use. This sometimes happens.