Remove some entries from oracle DMP file

backuporacle

I have a DMP file from a production database that i'm trying to import into a testing environment. The DMP file was exported with exp (full backup). I no longer have access to the production database so i CANNOT re-export it.

I am trying to import it in a 11g XE but it's limited to 11GB and the dump, when imported, is about 11.1GB
There is one table that i know i don't need all rows in it inside the DMP file. If i remove all those rows i would be able to import it just fine.

Any idea what the best approach is? I have been trying to find a Oracle DMP explorer for a few days now and no luck.

In my opinion i could do this:
1. Open the DMP file with something and remove those rows. (I tried a text reader, no, it doesn't work)
2. Somehow tell imp not to import all the rows in a certain table.

So far no luck with either approach.

Any help is greatly appreciated, thanks!

Best Answer

There is no dump file viewer. The only thing that can read a file generated by the export utility is the import utility.

  • When you do an import, you can list the tables you want to import with the TABLES parameter. So you could run the import once specifying only the one table whose data you want to delete. Then you could delete whatever data you don't want. And then run the import again specifying all the other tables.
  • You could also do the import without the indexes (INDEXES=N), delete whatever data you don't require, then use the INDEXFILE parameter of the import utility to generate a file with all the index and table DDL, extract the index DDL, and build whatever indexes you want.
Related Topic