I desperately need to make an exact copy of my current (and rather large) Oracle database. All that I need is a copy containing all the tables, with their appropriate fields and relationships. I do not need the data, only a test database to, well test new ideas on.
You can use export/import or Data Pump to do the trick. You'll end up exporting the database objects without any rows of data and then importing the empty tables into your destination.
To do this with export/import, use the following to move one schema:
exp file=my_dump.dmp owner=schema_name rows=n
The ROWS=N parameter tells Oracle not to export any data. Then just import at your destination:
imp file=my_dump.dmp fromuser=schema_name
You can accomplish the same thing with the newer Data Pump utilities similar to the following:
expdp directory=data_pump_dir dumpfile=my_dump.dmp schemas=schema_name content=metadata_only
impdp directory=data_pump_dir dumpfile=my_dump.dmp schemas=schema_name
Dig Deeper on Oracle database backup and recovery
Related Q&A from Brian Peasland
Oracle expert Brian Peasland answers one reader's question about common pitfalls when connecting Oracle to outside programs. Continue Reading
One reader asks expert Brian Peasland a question about datafile sizes with the Oracle RMAN duplicate 10g command. Continue Reading
Managing parent table-child table relations in Oracle SQL environments is key to efficient programming. Continue Reading