Skip inserts for one table with oracle imp

oracle

I'm doing an oracle imp and in the dump there is a big table that I would like to only create but not to insert row into.

Is this possible ?

Exp was done on 10.2.0.4. I'm doing imp on XE (10.2.0.1).

Best Answer

Were you using the classic export and import utilities? Or the new DataPump versions? I assume from your references to "exp" and "imp," rather than "expdp" and "impdp," that you were using the classic versions rather than the DataPump versions. If so, that substantially decreases your options.

In the classic export and import utilities, the ROWS=N parameter applies to all tables. So there is no single command line for "import all the data into all the tables but one." You can, however, do a series of imports

  • Do a first import with ROWS=N in order to import the structure of all the tables but none of the data.
  • Do a second import with ROWS=Y and TABLES=(<<list of all other tables>>)

Since you did the first import already, you can generate the list of tables for the second import just by querying the DBA_TABLES (or ALL_TABLES or USER_TABLES) data dictionary view.