13.8.7. Migrating from an External Oracle Database to an External PostgreSQL Database
The requirements to migrate from an External Oracle Database to an External PostgreSQL database:
- A complete installation of Red Hat Satellite server (
satellite.example.com) using an External Oracle Database (oracledb.example.com). - A system hosting a running instance of PostgreSQL (
postgresql.example.com), See Section 4.3.1.1, “PostgreSQL Database Requirements” for configuration details.
Procedure 13.8. Migrating to an External Database from Oracle Database
- Shut down all services on the Red Hat Satellite server:
[root@satellite ~]# rhn-satellite stop - Make sure your External Oracle Database is still running.
- Remove the
rhn-upgradeif it exists on your server:[root@satellite ~]# yum remove rhn-upgrade - Update the External Oracle Database to the latest schema version:
[root@satellite ~]# yum update satellite-schema [root@satellite ~]# spacewalk-schema-upgradeThis ensures that your database version matches the latest version for the External Database. - Create a directory to hold your database snapshot.
[root@satellite ~]# mkdir ~/dbbackup [root@satellite ~]# cd ~/dbbackup - Export the database using
spacewalk-dump-schema:[root@satellite dbbackup]# spacewalk-dump-schema --to=postgresql > migrate-to-postgresql.sql - Stop the External Oracle Database. It is no longer required.
- Exchange the Oracle drivers and configuration scripts with the PostgreSQL drivers and configuration scripts on the Satellite server:
[root@satellite dbbackup]# yum remove -y spacewalk-oracle [root@satellite dbbackup]# yum install -y spacewalk-postgresql [root@satellite dbbackup]# yum remove -y spacewalk-java-oracle spacewalk-backend-sql-oracle - Use
spacewalk-setupto populate the External Database:[root@satellite dbbackup]# spacewalk-setup --db-only --external-postgresqlThe script asks for your database details so Satellite can connect and populate the database. Enter your External PostgreSQL Database details:** Database: Setting up database connection for PostgreSQL backend. Hostname (leave empty for local)? postgresql.example.com Port [5432]? Database? myextdb Username? root Password? - When the script completes database population, restore the database schema
[root@satellite dbbackup]# spacewalk-sql -i < migrate-to-postgresql.sql - Start Red Hat Satellite.
[root@satellite ~]# rhn-satellite start
The database is now migrated from an External Oracle Database to an External PostgreSQL Database.