Data pump "impdp" fails with error message saying "unable to extend the table"

3.8k views Asked by At

Background

I am trying to import a huge Oracle database dump whose size is larger than 40GB to my Oracle Express environment. As you know, Oracle Express does allow only up to database size of 11GB. Therefore, I can't "impdp" the entire bulk of this dump file to my Oracle XE. I need to selectively import only some tables which won't exceed the XE limitation.

Preparation

I created tablespaces required for the import which point to a directory DIR on my harddrive as follows:

Directory object {DIR} created as /db/

Tablespace ABC is created at /db/abc.dbf allocated a size of 6GB

I created the tablespace with only size applied, no other additional arguments.

Hint*: Tablespace name ABC is required by the dump file for import.

I successfully imported the entire database structure

First of all, I ran this command below to create table structures in my target XE environment without copying any data. Just to make sure my dump file contains all tables I want:

$> impdp system/pwd directory=DIR dumpfile=FOO.dump 
   content=METADATA_ONLY schemas=FOO;

The command above is executed correctly. All table structures are created in my XE environment under schema FOO.

Next, I want to start importing table data (BUT FAILED)

Then I start off with the first table to import, say table abc. I ran this command to import only data to my pre-created table.

$> impdp FOO/pwd directory=DIR dumpfile=FOO.dump
   content=DATA_ONLY tables=abc;

You may notice I switch from the user system to FOO. I'm aware of this. Due to the fact that my tables are created under schema FOO, so I use FOO to import it to the existing tables under this schema.

However, this fails. I've got errors as shown below:

Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

Master table "FOO"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded

Starting "FOO"."SYS_IMPORT_TABLE_01": FOO/******** directory=DIR dumpfile=DUMP.dump logfile=import_table.log content=data_only tables=item_keyword_tab

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

ORA-31693: Table data object "FOO"."ABC" failed to load/unload and is being skipped due to error:

ORA-29913: error in executing ODCIEXTTABLEFETCH callout

ORA-01653: unable to extend table FOO.ABC by 8 in tablespace ABC

Job "ABC"."SYS_IMPORT_TABLE_01" completed with 1 error(s) at 02:03:33

The error message seems to mention "the tablespace cannot be extended by only 8 MB". I can guarantee I have created the sufficient tablespace "ABC" which is as large as 6 GB and it won't exceed the XE limitation.

Can anybody please help me figure this out? How should I do?

My assumptions are:

  • The schema "FOO" is lack of privilege so it cannot extend the table while importing. I explored the documentation but "extending the tablespace" is not one of the adjustable privilege of users.

  • Extending the tablespace by 8 MB is very small in size. I don't think this is a true reason why it fails. There might be other underlying cause.

0

There are 0 answers