Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.
Christian Leigh edited this page Jan 6, 2020 · 13 revisions

alt text

Welcome to the Exodus wiki!

Check out our youTube Channel for HOWTO's and More here Exodus : YouTube Channel

Exodus is a mapping, documenting, and migration tool that has been especially designed with Oracle PL/SQL developers in mind, with particular focus on transporting legacy tabular data into a JSON centric storage paradigm. If you are comfortable with Oracle PL/SQL then all your mapping and migration code can be constructed here without the need for non-Oracle external tools. There is no magic “black box” behavior. All of the auto-generated code (also in PL/SQL) is made available and viewable from within the tool, and because it’s in a language that seasoned Oracle developers are expert in, there will be no unexpected surprises with the technical approach.

Why use JSON in an Oracle Database?

Starting & Stopping

Launching a Migration

Killing a Migration

ON ETL Drivers

On ETL Drivers allow you to break up your migration into smaller transactions, they provide a simple way to scale your migration so that it can fully utilise your compute resource. This is especially useful for running migrations on a "big box", a large database solely for speed of migration, before down-scaling to more modest day to day operations. Managed hosting services such as Amazon AWS and ORACLE cloud provide managed databases that can be easily scaled in this manner. On ETL Drivers also open up extra fields (:UTILITY_FIELDs) that can be used to pass information into your migration.

On ETL Driver

Mapping Reports

You don't need to use Exodus to run a migration you can "just" use it as a convenient repository to document your migration efforts. Use the example script below to produce a mapping report. If you take the mapping report regularly you can refer back to it in case you need to see some older code for example. Note that all of the historical metadata is stored in the Audit tables, so that can be a convenient way to recover "old code" that probably shouldn't have been deleted of modified, rather than going to a full recovery.

Mapping Reports

Managed Exceptions

If your migration fails when you're not around to deal with it, you can configure steps to be executed in that eventuality.

Managed Exceptions

Restarting From Errors

If your migration fails mid-run you probably don't want to restart from the very beginning.

Restart after failure

Launching Scheduler Jobs

Because you are using PL/SQL you can defined and build scheduler jobs, however if you are launching jobs from within a +Process step in Exodus then you should register your jobs with the Exodus framework. That way Exodus "knows" your jobs were launched and can kill them if an exception occurs or a user initiates a kill.

Launching Jobs

Performance Evaluation

You can inspect what the JSON builder is doing "under the covers", in other words where its spending most of its time.

Performance

Backup

You should backup your Exodus metadata regularly, and store the resultant dmp file in a version control system.

Useful Scripts

Useful queries

Predict the expected run time of OED based queries.

Useful Queries