Pages

Tuesday, March 25, 2014

Copying Data from Database A to Database B.

One of the common tasks is to copy data from Instance to Instance.
For Example, copy data from production Instance to test Instance.

Several ways to copy data from Database A to Database B.

Option 1 - Export/Import
Pros - Good Performance. Suitable for heavy data loads.
Cons - Cumbersome, Not suitable as an ongoing refresh task.

Option B - INSERT INTO SELECT
Pros - Easy to do. 
Cons - Not suitable for heavy data load. 
            Would cause a load on the target DB. 
            If set of data to imported, no guarantee that the loaded data is synchronized.

Option C - INSERT /*+ APPEND */INTO SELECT
In this case the data is written directly into data blocks, i.e. via direct path, and not via Buffer Cache.
Pros - Easy to do. Easy to do as ongoing Refresh task.
            The write is always writes above the high water mark. Thus existing free space is not reused. 
            No writing to UNDO.
Cons - Suitable for heavy data load. 
            Less load on target DB.
            If set of data to imported, no guarantee that the loaded data is synchronized.

Useful reference for INSERT /*+ APPEND */INTO SELECT

Option D - Use Materialized Views
Materialized View By Example


No comments:

Post a Comment