My Environment has more than 4000 tables. I want to export only 2000 tables. I tried using par file using Include clause. But the export is failing. Details are mentioned below
Tool: EXPDP | Oracle Database version:11g R2 | Number of tables to be exported: 2000
Code used:
directory=pump
dumpfile=EXP_FULL_GOLD.dmp
logfile=EXP_FULL_GOLD.log
COMPRESSION=ALL
schemas=GOLD
include=TABLE:"IN('T1','T2','T3','T4'..'T2000')
Error: With the Partitioning, OLAP, Data Mining and Real Application Testing options ORA-39001: invalid argument value ORA-39071: Value for INCLUDE is badly formed. ORA-00920: invalid relational operator
Even I tried below code:
directory=pump
dumpfile=EXP_FULL_GOLD.dmp
logfile=EXP_FULL_GOLD.log
COMPRESSION=ALL
schemas=Gold
content=DATA_ONLY
INCLUDE=TABLE:\"IN \(SELECT tname FROM Gold.t11\)\"
Here T11 contains list of tables stored in Column tname (2000 records).
But same error occurs. Please help as I searched on Net a lot, but I am not able to find any Solution. Even for Include clause Number of Tables allowed Limit is also not available anywhere. Tried using 900 tables but failed with same error.
Regards,
Sujit
The documentation describes, that the
name_clauseof theINCLUDEparameterthis implies that by using an IN list you are constrained with the general limit of 1000 elements in the list.
Even worst this link suggest that there is a limit of the length of the
name_clauseby 4000 chars. Exceeding it you getUDE-00014 invalid value for parameter INCLUDEBut a workaround is easy (as suggested in the link above)
1) use a parameter file - see parameter
PARFILE- to aviod possible escaping issues2) put the (unquoted) table names in a helper table and use following parameter