I have a database on a legacy system that has some data that needs to be exported to another environment. Everything I need is contained in one tablespace. Unfortunately, I am unable to use Data Pump due to previously botched patching (thousands of invalid objects, including streams packages, which can't be recompiled).
Can I use RMAN or other methods to back up this tablespace, move it to another network (by physical media transfer – networks are completely segregated) and restore it to an existing database?
Best Answer
This is the bare minimum assuming the simplest scenario.
1. Original export/import:
Source database:
exp userid=user/password tablespaces=example file=example.dmp
Destination:
imp userid=user/password full=y file=example.dmp
or 2. Transportable tablespace with original export/import:
Source database:
alter tablespace example read only;
exp userid=\'/ as sysdba\' transport_tablespace=y tablespaces=example file=example_tts.dmp
Note that you get an EXP-00044 error here if you do not connect with SYSDBA.
Destination database:
imp userid=\'/ as sysdba\' transport_tablespace=y datafiles=/oradata/S112/example01.dbf file=example_tts.dmp
alter tablespace example read write;
More details can be found in the documentation:
Original Export
Original Import