On importing data (user level import) there came up a problem. Export was done with character set WE8MSWIN1252, the XE db to be imported to has AL32UTF8. Import was possible, but special characters in german, üäöÜÖÄß, were blown up from 1 byte to 2 bytes and as a result some data got too big. E.g. column is varchar2(30), some lines have 30 characters of content including one or more special character and were encreased to 31 or 32 bytes or so. Thus maybe 2-5% of the data were not imported resulting in master-detail constraint violations.
To solve this I have checked the docu, found something, but still have questions and need confirmation:
- is it true that there is no way to switch from AL32UTF8 to WE8MSWIN1252 using an "alter database ..." statement?
- is it true that I have to do a full database export, a "drop database...", a "create database ..." and a full database import?
- doing so, should I leave the SID or recreate (or dropping and create?) using the oradim.exe (it's on windows 7 operating system)?
- is there any involvement to dropping / creating SID or DB by the only-one-instance-limitation of XE?
- surprisingly the registry entry NLS_LANG of the oracle home is GERMAN_GERMANY.WE8MSWIN1252, while the db has character set AL32UTF8 and national character set AL16UTF16. Is there something wrong about it? Has the registry entry an effect anyhow? Should I care?