Re: Oracle to postgres migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Le 08/04/2019 à 14:24, Rick Otten a écrit :


On Mon, Apr 8, 2019 at 8:04 AM Julien Rouhaud <rjuju123@xxxxxxxxx> wrote:
On Mon, Apr 8, 2019 at 1:49 PM Daulat Ram <Daulat.Ram@xxxxxxxxxxxxxxx> wrote:
>
> Please confirm ! Can we migrate Oracle 12c database (12.1.0.1.0) running on Solaris to PostgreSQL 11.2 on  Linux (Ubuntu). Also, please suggest the tools and pre-requisites.
A database migration is likely feasible, but might require quite a lot
of work depending on what features you're using, and the amount of PL
code.  Also, obviously migrating the database is only a part of the
overall migration process, as you'll also need to take care of the
application(s), the backup/restore, monitoring and all other tools you
need.

Concerning the database migration, the best tool is probably Gilles
Darold's ora2pg.  The tool also provides a migration cost assessment
report, to evaluate the difficulty of the database migration.  More
information on http://ora2pg.darold.net/



The last big Oracle to PG migration that I did was several years ago.  We stood up the PostgreSQL instance(s) and then used SymmetricDS to synchronize the Oracle and PG databases.   After tuning and testing the postgresql side, we cut over the applications live - with minimal downtime - by releasing the updated application code and configuration.   If we needed to fail back, it was also pretty easy to undo the release and configuration changes.

Another approach you can play with is to leverage Foreign Data Wrappers.  In that scenario, you can run queries on your Oracle database from within PostgreSQL.  You can use those queries to copy data directly into new tables without any interim files, or as a hybrid transition while you get the new database set up.

At the time I was working on that migration, we had too many data-edge-cases for ora2pg to be very useful.  It has come a long ways since then.  I'm not sure it can do a live cutover, so you may need to plan a bit of downtime if you have a lot of data to move into the new database.

Note that you will also almost certainly want to use a connection pooler like PGBouncer and/or PGPool II (or both at the same time), so be sure to include that in your plans from the beginning. 

That said, none of this is on topic for the performance mailing list.  Please try to direct your questions to the right group next time.

Just a few additional pieces of information.
1) migration from one DBMS to another must always be lead as a project (because your data are always important ;-)
2) a migration project always has the following main tasks:
- setting a proper postgres platform (with all softwares, procedures and documentation needed to provide a good PostgreSQL service to your applications/clients) (you may already have such a platform).
- migrating the data. This concerns both the structure (DDL) and the data content.
- migration the stored procedures, if any. In Oracle migrations, this is often a big workload in the project.
- adapting the client application. The needed effort here can be huge or ... null, depending on the used languages, whether the data access API are compatible or whether an ORM is used.
- when all this has been prepared, a test phase can start. This is very often the most costly part of the project, in particular for mission critical databases.
- then, you are ready to switch to Postgres.
3) do not hesitate to invest in education and external professional support.
4) before launching such a project, it is highly recommended to perform a preliminary study. For this purpose, as Julien said, ora2pg brings a big help in analysing the Oracle database content. The cost estimates are pretty well computed, which gives you very quickly an idea of the global cost of the database migration. For the application side, you may also have a look at code2pg.

KR. Philippe.

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux