Impdp导入报queue_table too long失败解决方法

在从32位的10.2.0.2版本的生产数据库导入到64位11.2.0.1的版本中,在IMPDP导入新库的时候碰到如下的错误代码:

Applies to:
Oracle Server - Enterprise Edition - Version 9.2.0.8 to 11.1.0.7 [Release 9.2 to 11.1]
Information in this document applies to any platform.
***Checked for relevance on 17-May-2012*** Problem Statement

Datapump Import fails with the following errors:

ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PROCESS_TABLE_EXISTS_ACTION
[TABLE:"APPLSYS"."AQ$_FND_CP_TM_RET_AQTBL_T"]
ORA-24019: identifier for QUEUE_TABLE too long, should not be greater than 24 characters
ORA-00955: name is already used by an existing object

Error ORA-24019 is self-explanatory: the queue table name is 25 characters long, whereas only 24 are allowed.

There are restrictions in regards to the names of the queue_tables: 
Oracle Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) 
Chapter 8 Oracle Streams AQ Administrative Interface 

DBMS_AQADM.CREATE_QUEUE_TABLE --> Queue table names must not be longer than 24 characters. 
If you attempt to create a queue table with a longer name, error ORA-24019 results 
 

Solution 

In normal case the way to resolve this is to either exclude this queue from being imported and then manually create it afterwards, or recreate the queue in the source database with a valid name (<= 24 characters) and export and import into the destination database.

But since it is followed by ORA-00955: name is already used by an existing object,then in this case, the first thing to check would be whether the interested queue_tables do have messages or are empty. 
If the queue_tables are empty then prior to import they would need to be dropped as follow:

 At the TARGET Database: 

1) Drop queue_table with force parameter set to TRUE,the queue table name is  FND_CP_TM_RET_AQTBL as shown:

connect / as sysdba 
Begin 
dbms_aqadm.drop_queue_table ('APPLSYS.FND_CP_TM_RET_AQTBL',TRUE); 
End; 
/

 

2) Re-run the IMPDP 

OR 

Use the TABLE_EXISTS_ACTION=TRUNCATE option - this deletes existing rows and then loads rows from the source 

你可能感兴趣的:(long)