martes, 29 de septiembre de 2009

Oracle - Vistas de Diccionarios de datos

V$CIRCUIT

V$CIRCUIT contains information about virtual circuits, which are user connections to the database through dispatchers and servers.

Column Datatype Description
CIRCUIT RAW(4 | 8) Circuit address
DISPATCHER RAW(4 | 8) Current dispatcher process address
SERVER RAW(4 | 8) Current server process address
WAITER RAW(4 | 8) Address of the server process that is waiting for the (currently busy) circuit to become available
SADDR RAW(4 | 8) Address of the session bound to the circuit
STATUS VARCHAR2(16)

Status of the circuit:

  • BREAK - currently interrupted

  • EOF - about to be removed

  • OUTBOUND - an outward link to a remote database

  • NORMAL - normal circuit into the local database

QUEUE NUMBER

Queue the circuit is currently on:

  • COMMON - on the common queue, waiting to be picked up by a server process

  • DISPATCHER - waiting for the dispatcher

  • SERVER - currently being serviced

  • NONE - idle circuit

MESSAGE0 NUMBER Size in bytes of the messages in the first message buffer
MESSAGE1 NUMBER Size in bytes of the messages in the second message buffer
MESSAGE2 NUMBER Size in bytes of the messages in the third message buffer
MESSAGE3 NUMBER Size in bytes of the messages in the fourth message buffer
MESSAGES NUMBER Total number of messages that have gone through this circuit
BYTES NUMBER Total number of bytes that have gone through this circuit
BREAKS NUMBER Total number of breaks (interruptions) for this circuit
PRESENTATION VARCHAR2(257) Presentation protocol used by the client and server
PCIRCUIT RAW(4 | 8) Address of the parent circuit

V$SHARED_SERVER

This view contains information on the shared server processes.

Column Datatype Description
NAME VARCHAR2(4) Name of the server
PADDR RAW(4 | 8) Server's process address
STATUS VARCHAR2(16)

Server status:

EXEC - Executing SQL

WAIT (ENQ) - Waiting for a lock

WAIT (SEND) - Waiting to send data to user

WAIT (COMMON) - Idle; waiting for a user request

WAIT (RESET) - Waiting for a circuit to reset after a break

MESSAGES NUMBER Number of messages processed
BYTES NUMBER Total number of bytes in all messages
BREAKS NUMBER Number of breaks
CIRCUIT RAW(4 | 8) Address of circuit currently being serviced
IDLE NUMBER Total idle time (in hundredths of a second)
BUSY NUMBER Total busy time (in hundredths of a second)
REQUESTS NUMBER Total number of requests taken from the common queue in this server's lifetime

V$DISPATCHER

V$DISPATCHER displays information about the dispatcher processes.

Column Datatype Description
NAME VARCHAR2(4) Name of the dispatcher process
NETWORK VARCHAR2(128) Network address of the dispatcher
PADDR RAW(4 | 8) Process address
STATUS VARCHAR2(16)

Status of the dispatcher:

  • WAIT - Idle

  • SEND - Sending a message

  • RECEIVE - Receiving a message

  • CONNECT - Establishing a connection

  • DISCONNECT - Handling a disconnect request

  • BREAK - Handling a break

  • TERMINATE - In the process of terminating

  • ACCEPT - Accepting connections (no further information available)

  • REFUSE - Rejecting connections (no further information available)

ACCEPT VARCHAR2(3) Indicates whether the dispatcher is accepting new connections (YES) or not (NO)
MESSAGES NUMBER Number of messages processed by the dispatcher
BYTES NUMBER Size (in bytes) of messages processed by the dispatcher
BREAKS NUMBER Number of breaks occurring in the connection
OWNED NUMBER Number of circuits owned by the dispatcher
CREATED NUMBER Number of circuits created by the dispatcher
IDLE NUMBER Total idle time for the dispatcher (in hundredths of a second)
BUSY NUMBER Total busy time for the dispatcher (in hundredths of a second)
LISTENER NUMBER Most recent Oracle error number the dispatcher received from the listener
CONF_INDX NUMBER Zero-based index of the DISPATCHERS configuration used by the dispatcher

V$SHARED_SERVER_MONITOR

This view contains information for tuning the shared server.

Column Datatype Description
MAXIMUM_CONNECTIONS NUMBER Highest number of virtual circuits in use at one time since the instance started. If this value reaches the value set for the CIRCUITS initialization parameter, then consider raising the value of CIRCUITS.
MAXIMUM_SESSIONS NUMBER Highest number of shared server sessions in use at one time since the instance started. If this reaches the value set for the SHARED_SERVER_SESSIONS initialization parameter, then consider raising the value of SHARED_SERVER_SESSIONS.
SERVERS_STARTED NUMBER Total number of shared servers started since the instance started (but not including those started during startup)
SERVERS_TERMINATED NUMBER Total number of shared servers stopped by Oracle since the instance started
SERVERS_HIGHWATER NUMBER Highest number of servers running at one time since the instance started. If this value reaches the value set for the MAX_SHARED_SERVERS initialization parameter, then consider raising the value of SHARED_SERVERS.

V$QUEUE

V$QUEUE contains information on the shared server message queues.

Column Datatype Description
PADDR RAW(4 | 8) Address of the process that owns the queue
TYPE VARCHAR2(10)

Type of queue:

  • COMMON - Processed by servers

  • DISPATCHER

QUEUED NUMBER Number of items in the queue
WAIT NUMBER Total time that all items in this queue have waited (in hundredths of a second). Divide by TOTALQ for average wait per item.
TOTALQ NUMBER Total number of items that have ever been in the queue

viernes, 4 de septiembre de 2009

Como usar Tiles con aplicaciones JavaServerFaces

Lo que se tiene que hacer es agregar el archivo struts.jar de la distribución de los 1.1 de Struts a la ruta de clases. Incluir struts.jar no significa que Struts es necesario para utilizar JSF con Tiles. Es que el paquete se distribuye dentro del archivo struts.jar. No hay otras funcionalidades de la infraestructura de Struts que se trataran.

Algunos consejos útiles.

1.- Aquí está un fragmento del archivo web.xml que habilita Tiles:

<servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
   <servlet-name>TilesServet</servlet-name>
   <servlet-class>org.apache.struts.tiles.TilesServlet</servlet-class>
   <init-param>
      <param-name>definitions-config</param-name>
      <param-value>/WEB-INF/tiles-defs.xml</param-value>
   </init-param>
   <load-on-startup>2</load-on-startup>
</servlet>

Pon atención al Tag load-on-startup tag. El servlet Tiles debe ser leído después del server Faces. ¡Esto es importante!

2.- tiles-defs-xml es el nombre del archivo estándar para el archivo de definiciones de Tiles. Sin embargo puedes nombrarlo de la manera que desees y usar mas de uno. Sepáralos por coma para definir tales archivos en el parametro definitions-config en el archivo web.xml.

3.- Establece flush="false" para las etiquetas tiles:insert si los usas dentro de un elemento f:view (entre las etiquetas de inicio y fin de f:view).

4.- Usa la etiqueta f:subview si esta usando tiles dentro de un elemento f:facet, por ejemplo:

<f:facet name="header">
  <f:subview id="header">
    <tiles:insert definition="page.header" flush="false"/>
  </f:subview>
</f:facet>

5.- Nunca incluya un elemento f:view dentro de otro elemento f:view.

6.- No puedes hacer un forward directamente en los Tiles, como en Struts. El archivo faces-config debe referenciar a las paginas usando Tiles como vistas.