Oracle – Ciclo de vida de un cursor

última actualización el 21 de octubre de 2009, 00:08 por Carlos-vialfa
Publicado por Carlos-vialfa


Un buen entendimiento del ciclo de vida y funcionamiento de un cursor permite optimizar las aplicaciones que ejecutan solicitudes SQL.

Las etapas durante la ejecución de un cursor con las siguientes:
  • Apertura del cursor: una estructura de memoria es asignada al cursor en la memoria privada del proceso servidor del lado del servidor asociado a la sesión (UGA User Global Area). Notar que ninguna solicitud SQL aun es asociada al cursor.
  • Recorrido del cursor: una solicitud SQL es asociada al cursor. La representación del recorrido de la solicitud incluyendo su plan de ejecución, que describe cómo el motor SQL ejecutará la solicitud SQL, es cargada en la Shared Pool, para ser más exactos en la library cache. La estructura en la UGA es actualizada para almacenar un puntero hacia la zona asociada al cursor en la library cache.
  • Definición de las variables de salida: la solicitud SQL devuelve datos, es por ello que las variables que los almacenarán deben ser definidas. Esta definición es también necesaria para las solicitudes Delete, Insert y Update que utilizan la cláusula RETURNING.
  • Enlace de variables de entrada: si la solicitud SQL utiliza variables enlazadas, éstas deber ser proporcionadas. Ninguna verificación es efectuada durante el enlace. Si son transmitidos valores no validos, se activará un error de ejecución.
  • Ejecución del cursor: en esta etapa, la solicitud SQL es ejecutada. En función del motor de base de datos, la fase de ejecución real puede ser diferida a la etapa de fetch.
  • Fetch del cursor (recuperación del contenido): si la solicitud SQL devuelve un resultado, es en esta etapa que es obtenido. En general es en esta etapa que se efectúa el tratamiento.
  • Cierre del cursor: los recursos asociados al cursor en la UGA son automáticamente liberados. El cursor en la library cache no es eliminado para responder a posibles usos en el futuro.


El artículo original fue escrito por wjaouadi, contribuidor de CommentCaMarche
Mejores respuestas para « Oracle – Ciclo de vida de un cursor » en :
Ciclo de vida del software Ver Ciclo de vida del software El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el...
PLM (administración del ciclo de vida del producto) Ver Introducción a PLM Mientras que la administración de relaciones con el cliente (CRM) trata de recopilar toda la información que tenga que ver con los clientes, la PLM (administración del ciclo de vida del producto) consiste en capitalizar toda la...
Ciclo de vida del software Ver Ciclo de vida del software El término ciclo de vida del software describe el desarrollo del software , desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar...
Creación de un listener a nivel del servidor Oracle VerPara crear un listener al nivel de un servidor de una base de datos Oracle, tan solo hay que editar los ficheros listener.ora tnsnames.ora al nivel del directorio $ORACLE_HOME/network/admin.. Para iniciar el listener hay que utilizar el comando...
Oracle – Generar estadísticas VerPara generar estadísticas relativas a tu base de datos, tan solo ejecuta el siguiente script: $ORACLE_HOME/rdbms/admin/utlbstat.sql Luego te aparecera informacion de utilidad. Activar la auditoría sobre un objeto Para activar la auditoría...
Métodos rápidos (RAD, XP) VerMétodos rápidos "El desarrollo de software de "métodos rápidos" (también denominado Modelo rápido o abreviado AG) reduce el tiempo del ciclo de vida del software (por lo tanto, acelera el desarrollo) al desarrollar, en primera instancia, una versión...
Etapas del proyecto VerLas etapas del proyecto Para poder administrarlo en un contexto de calidad, un proyecto deberá pasar por varias fases, al final de las cuales deberán definirse los acontecimientos importantes. Cada etapa se relaciona con una prestación y una...