Migrating from CacheDB to Oracle

240 views
Skip to first unread message

Shihab KB

unread,
Jul 1, 2009, 7:33:13 AM7/1/09
to intersystems.public.cache
Dear All,

How can I convert my cache database (table with or without relation
and data) to Oracle. Any body point me some information to do this?

Thanks in advance
Shihab

htg

unread,
Jul 1, 2009, 8:07:10 AM7/1/09
to intersystems.public.cache
some oracle groups might be more responsive on the subject.
reverse direction is preferred here :-)

rtweed

unread,
Jul 1, 2009, 12:09:28 PM7/1/09
to intersystems.public.cache
First get a large pot of cash and a lot of hardware ;-)

Sukesh Hoogan

unread,
Jul 1, 2009, 1:14:06 PM7/1/09
to intersystems...@info2.kinich.com
Shihab

As I understand, Caché is capable of doing whatever Oracle (or other
relational databases for that matter) plus more and in a better way, but
the reverse is not true.

So the question is why do you wish to migrate to Oracle from Caché?

Sukesh Hoogan
Bombay, India
- Enterprise Resource Planning
- Business Intelligence
- Financial Accounting
- Offshore Development

Eric

unread,
Jul 1, 2009, 4:20:54 PM7/1/09
to intersystems.public.cache

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

Markus DF

unread,
Jul 1, 2009, 8:23:42 PM7/1/09
to intersystems...@info2.kinich.com
Hi Shihab,

In saying that, I'd love to know how it all turns out... if you are
allowed? If the migration goes ahead it would be great to see your
experiences, and the kinds of issues you encountered and whether the
whole projected ended up being worthwhile or not (from the customers
point, rather than the DB vendors point)

Cheers

OldMster

unread,
Jul 1, 2009, 11:53:37 PM7/1/09
to intersystems.public.cache
May as well ask a Ferrari support group how to convert your Ferrari to
a Pinto......
:-)
Mark


On Jul 1, 7:23 pm, Markus DF

Shihab KB

unread,
Jul 2, 2009, 12:41:30 AM7/2/09
to intersystems...@googlegroups.com

Dear Sukesh and every body,

 
Thanks and your answer.
 

As per the answers I got from the group, I understand the converting cache database to oracle/sql server is not possible directly. Am I right.

 

Next why I wish to convert. One reason is I want know the entity relationships of the tables. Like I want to generate an ER diagram which shows the entity relational diagram. Or is it possible to generate DDL from the cache tables? Please answer.

 
The following options of Cahce used to Oracle to cache conversion only?
 
1. Data Migration Wizard  
2. Link Table Wizard 
 

Thanks and Regards

Shihab

Sukesh Hoogan

unread,
Jul 2, 2009, 3:38:41 AM7/2/09
to intersystems...@info2.kinich.com
Shihab

A) Check the following classes.

1) %SYSTEM.SQL

http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25SYSTEM.SQL

2) %Library.SQLCatalog

http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25Library

http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25Library.SQLCatalog

These two classes should suffice for your needs.

3) You can use SQL Manager to view class/table properties.

B) You can export class/table definitions to XML, CDL formats

C)You can use also Roselink or Dreamweaver with Caché

D) DDL for which relational database? One may have to write code in
Caché to generate DDL for a specific databases.

Regards

Shihab KB

unread,
Jul 2, 2009, 6:20:49 AM7/2/09
to intersystems...@googlegroups.com
>>>D) DDL for which relational database? One may have to write code in
>>>Caché to generate DDL for a specific databases.
 
I mean to generate DDLs of any  RDBMS like sql server, mysql, Oracle.

Sukesh Hoogan

unread,
Jul 2, 2009, 9:34:04 AM7/2/09
to intersystems...@info2.kinich.com
Shihab

To generate DDL for any specific relational database, you need to look
at the utilities / tools provided by the vendor or by the third parties
for the database in question.

As for Caché, I haven't come across any such utility / tool.


Regards
Sukesh Hoogan
Bombay, India
- Enterprise Resource Planning
- Business Intelligence
- Financial Accounting
- Offshore Development


Shihab KB wrote:
> >>>D) DDL for which relational database? One may have to write code in
> >>>Caché to generate DDL for a specific databases.
>
> I mean to generate DDLs of any RDBMS like sql server, mysql, Oracle.
>
> On Thu, Jul 2, 2009 at 1:08 PM, Sukesh Hoogan <sukesh...@yahoo.co.in
> <mailto:sukesh...@yahoo.co.in>> wrote:
>
>
> Shihab
>
> A) Check the following classes.
>
> 1) %SYSTEM.SQL
>
> http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25SYSTEM.SQL
> <http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25SYSTEM.SQL>
>
> 2) %Library.SQLCatalog
>
> http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25Library
> <http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25Library>
>
> http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25CACHELIB&CLASSNAME=%25Library.SQLCatalog
> <mailto:sukesh...@yahoo.co.in

Eric

unread,
Jul 2, 2009, 10:32:35 AM7/2/09
to intersystems.public.cache


We export Cache classes with Umlanji (http://www.georgejames.com/tools/
Umlanji.shtml) in XMI format and import them in Enterprise Architech.
From there you can generate UML diagrams much more complete and
detailed than any ER diagram. Much cheaper than Rational Rose;)

On Jul 2, 6:20 am, Shihab KB <shiha...@gmail.com> wrote:
> >>>D) DDL for which relational database? One may have to write code in
> >>>Caché to generate DDL for a specific databases.
>
> I mean to generate DDLs of any  RDBMS like sql server, mysql, Oracle.
>
> On Thu, Jul 2, 2009 at 1:08 PM, Sukesh Hoogan <sukesh_hoo...@yahoo.co.in>wrote:
>
>
>
> > Shihab
>
> > A) Check the following classes.
>
> > 1) %SYSTEM.SQL
>
> >http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&L...
>
> > 2) %Library.SQLCatalog
>
> >http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&L...
>
> >http://mycomputer:1972/apps/documatic/_CSP.Documatic.cls?PAGE=CLASS&L...
Reply all
Reply to author
Forward
0 new messages