Oracle - Todo un Recordset en Oracle

 
Vista:

Todo un Recordset en Oracle

Publicado por Nelson Miranda (1 intervención) el 20/09/2004 23:28:16
Tengo un archivo de texto separado por comas el cual debo migrar mediante un programa a una tabla de Oracle, lo que he hecho es escribir un programa que lea línea por línea y que mediante INSERT grabe el registro en una tabla.

El problema es que tarda demasiado (19 horas) porque son millones de registros, mi pregunta es, como puedo cargar un recordset con toda la información del archivo de texto y pegarlo en la tabla de Oracle sin que tenga que leer línea por línea? Existe algo así como INSERT INTO TablaOracleDestino Values <El recordset que estoy describiendo> ?

Les agradezco de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Todo un Recordset en Oracle

Publicado por Jorge-DBA (123 intervenciones) el 21/09/2004 01:20:45
Te propongo algunas alternativas a tu problema:

1)
Intenta hacer la carga por un Loader, si tienes mas de un procesador configura tu base de datos en paralelo y realiza la carga de esta manera o bien intenta incluir la cláusula DIRECT=TRUE.

2)
Si la tabla tiene muchos índices, intenta hacer un export de definicion de la tabla y posteriormente removervos despues de realizar tu carga, y posteriormente reconstruirlos con un import.

3)
Si tu base de datos esta configurada en Archive Log, intenta configurar la tabla en NOLOGGING despues de cargar la informacion y una vez cargada intenta volverla a configurarla en LOGGING.

4) Verifica si el el datafile donde esta alojada la información de la tabla se encuentra en un disco donde no exista excedidamente contienda de I/O.

5)
Verifica si esta haciendo validaciones de integridad, esto puede ocacionar contienda entre el procesador y to carga.

Saludos.

Jorge-DBA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Todo un Recordset en Oracle

Publicado por Harold (697 intervenciones) el 22/09/2004 18:18:17
Utiliza tablas externas de oracle para que el archivo que dices que tienes se mire dentro de la BD Read Only y ahi puedes hacer los sql que quieras, el archivo tiene que estar en el lado del servidor!

Cambia el parametro:
db_file_multiblock_read_count a un valor mas grande del actual para que en una leida de oracle lea varios bloques de datos conteniendo mas registros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar