Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question.

Asked: August 19, 2016 - 6:33 pm UTC

Last updated: August 20, 2016 - 7:01 am UTC

Version: 11gr2

Viewed 1000+ times

You Asked

Hi,
I'm looking for a solution/best approach to set up my lower environments from Production with pared down version, say 90-100% data for UAT, 30% for SIT and 10% for Dev environments.
Can you suggest an approach to achieve this at schema level?

Thanks,
Mangesh

and Connor said...

Firstly...I'm going to suggest a different approach :-)

A small-sized environment often struggles to provide any real benefit

- you can't really do definitive performance tests on them
- for (proper) unit tests, developers are responsible data setup and tear down, so the existing data (beside perhaps reference data) should be minimal consequence.

Or let me put it this way ... if the code works on a 10% dev environment...what gives you the confidence to promote it forward ?

The database isnt licensed on storage...its licensed on server horsepower, so this comes down to storage costs...which nowadays are incredibly small. You dont have to have the same super-high-spec storage on the non-production environment, but full sized environments are an awesome tool for testing.

Or you can consider using snapshot technologies at storage and database level, so you can have "full size" environments without a massive investment in more storage.

Ok...if you still want to do what you want to do :-)

For 100% db copy => go with RMAN duplicate. Simple and easy.

For 100% schema copy => you *might* be able to use transportable tablespaces, otherwise its DataPump

For reduced sized copies => go with DataPump.



Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Data Pump

All of the database utilities including Data Pump are explained in the Utilities guide.