archivo trace Oracle
- Inicie sesión o regístrese para enviar comentarios
Hola buen dia a todos :)
Un gusto saludarles
Posteo el siguiente problema agradeciendo de antemano la ayuda que me puedan brindar.
Les cuento, hacemos selects a unas tablas a las cuales accesamos a través de un dblink, pero cuando las ejecutamos y revisamos el archivo trace nos salen ejecutadas una consultas del tipo select * from a las tablas q utlizamos en la query que ejecutamos, ahora claro que no ejecutamos los select * from, creemos q por alguna razon Oracle los ejecuta, es posible eso? y hay alguna manera de evitarlo?Si necesitan mas información estaremos pendientes de su respuesta.
Gracias por su ayuda
Saludos :)
Yo no he visto nunca que el motor de base de datos se haya 'inventado' una select. La consulta tiene que venir de algún sitio.
En estos casos lo más habitual es que haya implicada alguna vista, y que la 'select fantasma' se encuentre en la definición de la vista, o en alguna función que se pueda utilizar en la consulta original, o también dentro de la supuesta vista.
Yo lo primero que haría es asegurarme de que no hay ninguna view implicada.
Saludos,
Lo único que se me ocurre, es que es posible que lo que estés viendo como "select * from table" sea la manera de verificar la validez de la query obteniendo los nombres de los campos de la tabla remota antes de la ejecución de la misma.
Debiera lanzarse con un where, del estilo de "where 1=0", es decir, una query previa que no devuelva resultados y sólo sirva para retornar la cabecera de la tabla. Verificalo.
Hola
Bueno la query no viene con ningun where, como podría verificar si efectivamente
lo que devuelve es solamente la cabecera de la tabla, podría ser verificando la cantidad de
rows en el trace?, y ya verifique y no vienen de ninguna vista, se me ocurre que puede ser
lo que comenta Oscar, podría agregarle el hint DRIVER_SITE,serviría?
Saludos
Gracias
DRIVING_SITE
Sí, pruebalo, enviando al remoto los datos puede que no sea necesario este "select *"... si estamos en lo cierto. Entiendo que piensas que puede tener relación con el Bug 10181153.
Ya dirás. Suerte.
Hola
Bueno he utilizado el hint DRIVING_SITE y en el trace devuelve un select/*+ FULL(alias_tabla) +*/ * from tabla, la verdad no estoy muy segura de que si tendría q devolverme algo al utilizar ese hint, me parece que lo q devuelve es la estructura de la tabla no la data como mencionada Oscar, aunq siempre le pone el asterisco, la verdad ya no tengo idea de que puede ser, ya utilicé el hint de indeces y es lo mismo.
Voy a seguir investigando que otro detalle puede ser, a lo mejor sea porque la tabla tiene particiones,pero bueno cualquier cosa les comento
Gracias por su ayuda y su tiempo
Feliz Dia :)
Contenido relacionado