2009-03-26 22 views
6

Tengo un DB completo para importar como volcado al mío. Quiero excluir datos de ciertas tablas (principalmente porque son de gran tamaño y no son útiles). No puedo excluir por completo esas tablas ya que necesito el objeto de tabla per se (menos los datos) y tendré que volver a crearlos en mi esquema si lo hago. Además, en ausencia de esos objetos de tabla, varias otras restricciones externas definidas en otras tablas tampoco podrán importarse y deberán redefinirse. Por lo tanto, debo excluir solo los datos de ciertas tablas. Sin embargo, deseo datos de todas las demás tablas. .Importación de datos selectivos usando impdp

¿Existe algún conjunto de parámetros para impdp que pueda ayudarme a hacerlo?

Respuesta

8

Definitivamente haga 2 carreras. Uno de crear todos los objetos de la tabla, pero en lugar de utilizar tablas en la segunda pasada impdp, utilice el excluye

impdp ... Content=data_only exclude=TABLE:"IN ('table1', 'table2')" 

La otra forma en que funciona, pero de esta manera sólo tiene que enumerar las tablas que no desea frente todo lo que quieras.

9

me gustaría hacer dos carreras en ello: Los metadatos primero me importar sólo:

impdp ... CONTENT=METADATA_ONLY

El segundo incluiría los datos sólo para las mesas que estaba interesado en:

impdp ... CONTENT=DATA_ONLY TABLES=table1,table2...

1

Sintaxis:

EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause] 
INCLUDE=[object_type]:[name_clause],[object_type]:[name_clause] 

Ejemplos de operador en el uso:

EXCLUDE=SEQUENCE 
or EXCLUDE=TABLE:"IN ('EMP','DEPT')" 
or EXCLUDE=INDEX:"= 'MY_INDX'" 
or INCLUDE=PROCEDURE:"LIKE 'MY_PROC_%'" 
or INCLUDE=TABLE:"> 'E'" 

El parámetro también se puede almacenar en un archivo de parámetros, por ejemplo: exp.par

DIRECTORY = my_dir 
DUMPFILE = exp_tab.dmp 
LOGFILE = exp_tab.log 
SCHEMAS = scott 
INCLUDE = TABLE:"IN ('EMP', 'DEPT')" 
1

Si el el tamaño de la tabla es grande para la importación de exportación, puede usar el parámetro "SAMPLE" en el comando expdp para ta ke exportación de mesa para lo que cada vez el porcentaje que desea ....

$ expdp tables=T100test DIRECTORY=expimp1 DUMPFILE=test12.dmp SAMPLE = 10; 

Este comando sólo exportará 10% de datos de datos de la tabla T100test.

Cuestiones relacionadas