Converting db from WE8ISO8859P1 to UTF-8
485386Mar 7 2006 — edited Mar 20 2006I am running an Oracle 10g database with approx 60 tables. We are going global so we need to convert to unicode. Currently our database doesn't contain any special characters (all english ASCII data).
I have read through the "Character Set Migration" book from Oracle (http://www.cs.umb.edu/cs634/ora9idocs/server.920/a96529/ch10.htm) but i'm still not clear on whether i will need to manually alter all my tables to expand the size of my fields.
I'm hoping someone who has done this conversion can advise me. If my db doesn't currently store any special charcters then i shouldn't lose data in the conversion, correct? Do i still need to expand my field in case in the future special characters are entered into the db. For example a name field that is VARCHAR2(10). If Janpanese characters are entered then the field can only hold 5 characters???
If i do need to expand all my fields is there any slick oracle utility to expand my field by 3 times?? or do i have to manually run alters on my tables??
Also, can i run the conversion by issuing the ALTER DATABASE command or do i have to do the full export/import? Oracle states "if, and only if, the new character set is a strict superset of the current character set, it is possible to use the ALTER DATABASE CHARACTER SET statement to expedite the change in the database character set." Isn't UTF-8 a superset of WE8ISO8859P1??
Any feedback or other gotchas would be greatly appreciated.