There is no straightforward recipe because there is no 1-1 mapping
possible in most cases since Cache supports persistent objects and
multidimensional structures while Oracle does not. You will need to
tackle it in pieces and accept you may be losing functionality and
performance; all depends how the application was built and what
features it is using.
You have to migrate (1) the database structure, (2) the data and (3)
the functionality. First try to understand your current database
structure and build an Oracle database structure to store the same
facts. A database is a database and you will be able to build an
Oracle equivalent but it may be more complex and more limited than the
original Cache structure.Oracle is based on the SQL standard only
which is quite limited (and not relational despite everybody thinking
SQL equal Relational but that's another topic).
Then you will have to migrate your data. Getting the data out of Cache
is easy but you will have to transform it to insert it into your new
database structure. This is a simple ETL process that is easily done
with Cache (or better yet, Ensemble) or any other ETL tool.
The third part is moving functionality/applications. This entirely
depends how your application was written. If it is pure OO or, at the
other end of the spectrum, pure M routines I think you will have to
rewrite from scratch. If it is mostly SQL stored procedures you may be
able to move some of the functionality. It obviously depends how much
the db structure has changed.
Step 2 & 3 really depend on how much the database structure was
changed. As others pointed out you should prepare for higher licensing
costs, higher hardware costs, higher maintenance costs and lower
performance.
Hope that helps
Eric