Convert Oracle codepage to UTF-8

Hello there.

I need to convert the codepage of an Oracle 8.1.6 DB from EL8MSWIN1253 (The Greek codepage) to UTF-8. Any ideas?

Many Thanks.
Who is Participating?
JankovskyConnect With a Mentor Commented:
I'm used to do it in  command line

1. set the environment variable NLS_LANG as schwertner said
2. exp system/<pwd>@<db> full=y rows=y file=<file path specification>
3. create the new instance with UTF-8 codepage
4. imp system/<pwd>@<new db> file=<file path specification> ignore=y

The codepage of an Oracle instance could be changed just if the target codepage is superset of the source one.
The UTF-8 is a superset of US7ASCII, WE8ISO8859P1, but not of the EL8MSWIN1253.

There are two major ways to manage it:

1. to create parallel Oracle instance with UTF-8, export previous data and import them into the new instance.
2. to set National_character_set to UTF-8 and retype international character strings to NVARCHAR2, NCLOB...

The first one is better, if you wants to change the charset completelly, I'm used to manage internationality by NCHAR types.

schwertnerConnect With a Mentor Commented:
The export/import way is the best.
Before exporting set NLS_LANG environment variable (Registry!) to
to get the export file in UTF8 format.
If you do not do this you will experience conversion risks.
chrispkotsiopoulosAuthor Commented:
The only RDBMS I played with until now is Microsoft SQL Server. I don't have any experience with Oracle. All the articles and tutorials I found about exporting and importing an Oracle database are at least confusing. Is it possible to give me a detailed description of how to export and import or point me to a good tutorial?

Many thanks for the replies.
chrispkotsiopoulosAuthor Commented:
It worked!
Thanks both.
All Courses

From novice to tech pro — start learning today.