archivo trace Oracle

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.

En respuesta a por Oscar_paredes

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 :)