Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Uso de tablas externas en Oracle

Estas en el tema de Uso de tablas externas en Oracle en el foro de Oracle en Foros del Web. Buenas gente, Bueno os comento el asunto. Hay una seria de tablas en mi base de datos que tienen millones de millones de registros. Basicamente ...
  #1 (permalink)  
Antiguo 05/04/2011, 05:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 174
Antigüedad: 18 años, 3 meses
Puntos: 2
Uso de tablas externas en Oracle

Buenas gente,

Bueno os comento el asunto. Hay una seria de tablas en mi base de datos que tienen millones de millones de registros. Basicamente son tablas de auditorias, y lo que se quiere hacer es pasar parte de los datos de esas tablas, a tablas externas de Oracle, es decir, quitar espacio y mejorar rendimiento en las consultas, sin que dejemos de poder acceder a consultar los datos a traves de tablas externas.

Me gustaria saber los pasos que tengo que dar para irme creandome las tablas externas de las tablas y de los datos que necesitos.

Muchas gracias
  #2 (permalink)  
Antiguo 05/04/2011, 06:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 174
Antigüedad: 18 años, 3 meses
Puntos: 2
Respuesta: Uso de tablas externas en Oracle

Buenas de nuevo,

He seguido los pasos que explica en este blog de como hacer una tabla externa de una base de datos, y todo correcto. A la hora de hacer una consulta sobre dicha tabla da el siguiente error:


ORA-29913: error al ejecutar la llamada de ODCIEXTTABLEFETCH

ORA-30653: se ha alcanzado el límite de rechazo

Que he hecho mal???
  #3 (permalink)  
Antiguo 05/04/2011, 07:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Uso de tablas externas en Oracle

En cual blog?

cual es la tabla?

mire este
http://www.danielorozcojaramillo.com...as-oracle.html
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 05/04/2011, 07:49
Avatar de xf_corp  
Fecha de Ingreso: mayo-2008
Mensajes: 57
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Uso de tablas externas en Oracle

Hola, cual blog? Puedes emplear datapump, básicamente:

descargas los datos al archivo de export datapump:

CREATE TABLE TABLA_AUDITORIA_XTFECHA
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY DIRECTORIO_DE_EXPORTS
LOCATION ('TABLA_AUDITORIA_XTFECHA.dmp')
)
AS SELECT * FROM TABLA_A_MANIPULAR_COMO_EXTERNA;


y posteriormente para acceder a los datos cuando asi lo requieras, empleas:

CREATE TABLE TABLA_AUDITORIA_XTFECHA (
COLUMNA1 VARCHAR2(100),
COLUMNA2 VARCHAR2(100),
COLUMNA_N VARCHAR2(100)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY DIRECTORIO_DE_EXPORTS
LOCATION ('TABLA_AUDITORIA_XTFECHA.dmp')
);

Debes tener los privilegios requeridos para un export normal.

Ejemplo:
http://www.oracle-base.com/articles/...ataPump10g.php

Espero te sea útil :)

Saludos!
  #5 (permalink)  
Antiguo 06/04/2011, 00:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 174
Antigüedad: 18 años, 3 meses
Puntos: 2
Respuesta: Uso de tablas externas en Oracle

Buenas,

Ya he dado con la tecla, y es simplemente ejecutando esta sentencia:

CREATE TABLE ADMIN.ext_tabla_data
ORGANIZATION EXTERNAL
(TYPE oracle_datapump
DEFAULT DIRECTORY texternal_data
LOCATION ('ext_tabla_data.dat'))
PARALLEL
AS SELECT * FROM pruebas.ext_tabla_data;

Con esto creamos directamente la tabla externa y generamos el fichero fisico en el sistema operativo.

Ahora, la duda es que con esto, me genera un fichero que no es plano, sino un fichero que tiene metadatos y dentro de esos metadatos la informacion de la tabla en cuestion. No hay manera de hacer este fichero un fichero de texto plano separado por por ejemplo "|".

Tambien he visto que genera una serie de logs que son por lo que veo control de acceso a la tabla externa, cuando hago un select, queda registrado en un log nuevo o en uno ya existente dicho acceso a la tabla. ¿Hay alguna manera de permitir que no escupa ningun log de estos que digo?

Gracias
  #6 (permalink)  
Antiguo 06/04/2011, 16:48
Avatar de xf_corp  
Fecha de Ingreso: mayo-2008
Mensajes: 57
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Uso de tablas externas en Oracle

Si lo requieres en archivo plano sin metadata puedes generar un csv manualmente, por ej. desde sqlplus:

spool data.csv;
select columna1 || ',' || columna2 || ',' ||columna3 ...
from table1;
spool off;

puedes sustituir ',' por '|'
o bien exportar desde una herramienta mas visual como Toad por ejemplo.

Para hacer uso de la info cuando desees reimportar puedes guiarte con esto:

http://www.shareoracleapps.com/2011/...racle-10g.html

en fields terminated by, pones el separador empleado ya sea ',' o '|' :).

Etiquetas: externas, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:03.