To migrate a third-party database to Oracle, the basic actions are: prepare for the migration, create or select associate a migration repository, capture the source database, convert the captured database, generate and run DDL for the new Oracle schema objects, and optionally move data from the source database to the new database.
There are two mechanisms for migrating third-party databases to Oracle: standard migration and quick migration.
Related Topics
SQL Developer User Interface for Migration
Migrating Third-Party Databases
Standard migration involves capturing, converting, generating the database, and performing the data move in several distinct steps. This is the recommended approach when performing a migration. Any issues during these phases can be manually resolved and all objects can be inspected or modified to suit your needs.
Standard Migration: Prepare for Migration
Prepare for the migration by reading the appropriate related topics in Migrating Third-Party Databases.
Create a migration repository in a new or existing Oracle connection. You may find it simple and convenient to create separate a Oracle database user and connection for migration work. Then, select the connection and create the repository. For example:
Create an Oracle user named MIGRATIONS with default tablespace USER and temporary tablespace TEMP; and grant it at least RESOURCE, CREATE SESSION, and CREATE VIEW privileges. (For multischema migrations, you must grant the RESOURCE role with the ADMIN option; and you must also grant this user the CREATE ROLE, CREATE USER, and ALTER ANY TRIGGER privileges, all with the ADMIN option.)
Create a database connection named Migration_Repository that connects to the MIGRATIONS user.
Right-click the Migration_Repository connection, and select Migration Repository, then Associate Migration Repository to create the repository.
Create and open a database connection for the third-party database. (For migrations other than from Microsoft Access, you should set the third party JDBC driver preference before creating the connection.)
For example, create a database connection named Sales_Access to the Microsoft Access database named sales.mdb, and connect to it.
Standard Migration: Capture Source Schema Objects
There are two ways to capture source schema objects: online and offline. Online capture which is suitable in most cases, so it is described here.
To perform online capture, right-click the connection name in the Connections navigator and select Capture database-type (for example, Capture MySQL, Capture Microsoft Access, Capture Microsoft SQL Server, or Capture Sybase Adaptive Server).
Selecting Capture Microsoft Access automatically invokes the Microsoft Access exporter tool to create XML files for migrating the schema and the table data. However, if you want to run the exporter tool manually (for example, to control certain options), click Migration, then Microsoft Access Exporter, then the item for your version of Microsoft Access. Follow the steps for the exporter tool, which has its own online help.
After the capture, the Captured Objects navigator displays an expandable node for the captured objects (for example, sales (Access) for the captured sales.mdb objects, as shown in the figure in SQL Developer User Interface for Migration).
Standard Migration: Convert Captured Objects
To convert the captured objects to Oracle-format objects, right-click the appropriate node in the Captured Objects navigator and select Convert to Oracle Model, and accept the defaults for data mappings (or specify selected mappings if you need to).
After the conversion, the Converted Models navigator displays an expandable node for the converted objects (for example, Converted sales (Access)).
Standard Migration: Generate Oracle Database Objects
Generate a SQL*Plus script that creates the DDL statements to create the Oracle database objects that correspond to the source database objects: right-click the appropriate node in the Captured Models navigator and select Generate. A SQL Worksheet window opens containing the SQL*Plus statements.
In the SQL Worksheet window that was just opened, select (in the drop-down list on the right) an Oracle database connection in which to run the script (next step).
Examine the generated SQL*Plus statements, and optionally make any changes. For example, if the database user to own the generated objects already exists (as it will if you are following these quick-step instructions), delete or modify the CREATE USER and related statements.
Click the Run Script button in the SQL Worksheet window to run the script.
In the Connections navigator, create a connection to the user that was just created.
In the Connections navigator, you should now see the new database objects corresponding to the objects in the third-party database that you migrated.
Standard Migration: Move Data to Oracle Database
If you want, you can migrate (move) any existing data from the source database to the Oracle database. You have two options for data migration: online or offline.
Online data move: Click Migration, then Migrate Data. In the dialog box, specify the Source Connection, the Target Connection, and the Converted Model. This method uses JDBC and therefore is constrained by the third-party implementations. This method is suitable for moving small data sets.
Offline data move: Click Migration, then Script Generation, then Generate Data Move Scripts; specify the converted model and a directory into which to generate the files that you will use for unloading the data from the source database and for importing into Oracle using SQL*Loader. This method is designed for moving large volumes of data.
Quick migration is a simplified approach that uses a wizard. It provides a quick solution when migrating a simple database; however, for more control of the migration process, you should use Standard Migration.
Quick Migration: Prepare for Migration
Prepare for the migration by reading the appropriate related topics in Migrating Third-Party Databases.
Create a migration repository in a new or existing Oracle connection. You may find it simple and convenient to create separate a Oracle database user and connection for migration work. Then, select the connection and create the repository. For example:
Create an Oracle user named MIGRATIONS with default tablespace USER and temporary tablespace TEMP; and grant it at least RESOURCE, CREATE SESSION, and CREATE VIEW privileges. (For multischema migrations, you must grant the RESOURCE role with the ADMIN option; and you must also grant this user the CREATE ROLE, CREATE USER, and ALTER ANY TRIGGER privileges, all with the ADMIN option.)
Create a database connection named Migration_Repository that connects to the MIGRATIONS user.
Right-click the Migration_Repository connection, and select Migration Repository, then Associate Migration Repository to create the repository.
Create an Oracle user whose schema is to be used as the destination for the objects to be migrated, or use an existing Oracle user and schema. Grant sufficient privileges to this user.
For example, if you plan to migrate a Microsoft Access database named sales.mdb, you might create an Oracle user named SALES, in whose schema the Oracle database objects will be generated.
Create and open an Oracle connection for the schema that you created or selected in the preceding step.
For example, create an Oracle connection named Sales_Oracle to the schema associated with user SALES, and connect to it.
Create and open a database connection for the third-party database. (For migrations other than from Microsoft Access, you should set the third party JDBC driver preference before creating the connection.)
For example, create a database connection named Sales_Access to the Microsoft Access database named sales.mdb, and connect to it.
Quick Migration: Migrate Using the Wizard
Click Migration, then Quick Migrate.
For Source Connection, select the connection for the third-party database to be migrated. For example: Sales_Access
For Target Connection, select the connection for the Oracle Database schema to which the third-party database is to be migrated. For example: Sales_Oracle
For Repository, use the selected existing repository; or if no repository exists, allow SQL Developer to create a migration repository in the schema of the target connection.
Click Verify to start the pre-migration check.
After the pre-migration check completes satisfactorily, specify the Migration Type: Migrate Tables, Migrate Tables and Data, or Migrate Everything (all objects).
Click Finish in the Summary pane to perform the migration.
The specific operations performed depend on the migration type and the type of third-party database being migrated. For example, for a Microsoft Access database, the Exporter for Microsoft Access tool is automatically invoked. Do not interrupt any of the migration operations.
If any issues arise during the migration, the quick migration will stop. To proceed with migration, follow the Standard Migration approach, which will help identify the issues and allow you to modify the appropriate objects.