How to import and export data?

Question:

Folks,

    I am trying to export data from a table, then import that data back
into the table (thus doubling the amount of records in the table). I've
used the export function (with the INDEXES=N paramater to keep the
primary keys from being duplicated). When I tried to import the data, I
got a block size error (said it was too small), then an abend.

   I thought that I could just edit the db_block_size = 2048
 param my database's pfile to something larger (I tried 4096), restart
the database, and try the import again. HOwever, once I change the
block size, the database will not start.

   Any ideas? Am I going about this all wrong?

--Desmond

Answer1:

You are probably confusing two things. Sometimes it happens a record doesn't
fit in the import buffer. Just include and/or increase the buffer parameter
for imp and you should be fine.
You can't change the db_block_size without creating the database. Note: If
you have multiple tables with records exceeding 2k, you will get chaining
(one record in multiple blocks). In that case changing the db_block_size
will be advantageous.
If this doesn't resolve the problem, please post the EXACT error message.

Hth,

Sybrand Bakker, Oracle DBA

Answer 2:

Once you've set the block size, you cannot change it anymore.
If you have a primary key on the table, you cannot duplicate the rows,
whatever method you choose.  You will need to drop that index.
The easiest way is to do a simple

insert into x
select * from x;

This will only work though if you have 'normal' datatypes.  If you have for
instance a column defined as a long, this will not work.
--
Terry Dykstra
Canadian Forest Oil Ltd.
Check out Sybase Developer's Network: http://www.sybase.com/sdn

Hosted by www.Geocities.ws

1