From:       To:      

Home > Documentation > Oracle to MySQL

Command line version of Oracle to MySQL converter

For automation purposes Oracle to MySQL converter includes console version called O2SAGENT.EXE. Find this file in the installation folder. The console version of Oracle to MySQL converter can be run directly from command line or called from any script. O2SAGENT.EXE supports the following parameters:

--case_sense   make all CHAR and VARCHAR fields case sensitive
--charset=...   MySQL character set
--dest=...   MySQL database or dump file name
--dump   convert Oracle database into dump file
--engine=...   MySQL storage engine (MyISAM, MEMORY, InnoDB, BerkeleyDB, ARCHIVE, FEDERATED, etc). Please refer to MySQL documentation for the further information.
--help   display help message and exit
--logfile=...   path to the logfile where execution traces will be written
--mode=...   how to process an existing MySQL database (0 - overwrite the entire database, 1 - overwrite existing tables only, 2 - skip existing tables, 3 - merge, 4 - synchronize)
--mysqlh=...   MySQL server IP address or network name
--mysqlu=...   MySQL user name
--mysqlp=...   MySQL user password
--myport=...   MySQL port
--oraclh=...   Network name or IP address of Oracle server
--oraclu=...   Oracle user name
--oraclp=...   Oracle user password
--oraport=...   Oracle port
--profile=...   path to the file to load conversion settings from
--silent   use this option to disable program output
--skip_idx   skip converting indexes
--src=...   Oracle database name
--tab_def   convert table definitions only
--tab_file=...   name of the file containing table names to convert (one table name per line)
--view_owned   work with tables owned by the specified Oracle user only

In the following example the program converts Oracle database "db1" into MySQL database "db1_from_oracle" on the remote MySQL server "mysqlhost":

O2SAGENT.EXE --src=db1 --dest=db1_from_oracle --mysqlh=mysqlhost --mysqlu=administrator 
--mysqlp=the_passsword --oraclh=localhost --oraclu=scott --oraclp=tiger

Table names file should be formatted as follows:

Table_1
Table_2
...
Table_N

Notes:

  1. If you specified a profile, there is no need to specify any other parameters
  2. You can omit 'mysqlh' to connect local database server
  3. It is necessary to specify 'myport' parameter only if it differs from the default MySQL port 3306
  4. It is necessary to specify 'oraport' parameter only if it differs from the default Oracle port 1521
  5. If you omit 'tab_file' parameter, all database tables will be converted
  6. If you omit 'mode' parameter, default mode 'overwrite the entire database' will be used
  7. Command line parameters that contain spaces should be enclosed in quotes (for example --dest="my database")

MySQL character sets

This parameter specifies correct encoding of text values in the destination MySQL database. It can have one of the following values:

value   Description     value   Description
big5   Big5 Traditional Chinese     dec8   DEC West European
cp850   DOS West European     hp8   HP West European
koi8r   KOI8-R Relcom Russian     latin1   cp1252 West European
latin2   ISO 8859-2 Central European     swe7   7bit Swedish
ascii   US ASCII     ujis   EUC-JP Japanese
sjis   Shift-JIS Japanese     hebrew   ISO 8859-8 Hebrew
tis620   TIS620 Thai     euckr   EUC-KR Korean
koi8u   KOI8-U Ukrainian     gb2312   GB2312 Simplified Chinese
greek   ISO 8859-7 Greek     cp1250   Windows Central European
gbk   GBK Simplified Chinese     latin5   ISO 8859-9 Turkish
armscii8   ARMSCII-8 Armenian     utf8   UTF-8 Unicode
ucs2   UCS-2 Unicode     cp866   DOS Russian
keybcs2   DOS Kamenicky Czech-Slovak     macce   Mac Central European
macroman   Mac West European     cp852   DOS Central European
latin7   ISO 8859-13 Baltic     cp1251   Windows Cyrillic
cp1256   Windows Arabic     cp1257   Windows Baltic
binary   Binary pseudo charset     geostd8   GEOSTD8 Georgian
cp932   SJIS for Windows Japanese     eucjpms   UJIS for Windows Japanese

Please refer to MySQL documentation to better understand the concept of character sets and collations.