PorMyWebStudies
Servidores compartidos ii en oracle - oracle dba
Primero, vamos a verificar cuántos servidores compartidos y dispatchers tenemos en la base de datos. Utilizaremos algunas vistas que contienen información detallada sobre estos procesos, aunque solo mostraremos algunas propiedades de cada uno.
Si bien podríamos usar las consultas que ya conocemos, como SHOW PARAMETER DISPATCHER y SHOW PARAMETER SHARED, es útil saber que también existen vistas con más detalles sobre estos procesos.
Por ejemplo, la vista V$DISPATCHER nos muestra información completa sobre los dispatchers:
Podemos ver que solo hay un dispatcher en la base de datos, algo que ya sabíamos del video anterior. Este dispatcher utiliza el protocolo TCP y está en el servidor local [localhost], lo que también incluye el número de puerto.
Esta vista nos permite consultar otros parámetros, como el número de bytes transferidos, el tiempo que ha estado inactivo [IDLE], ocupado, o los mensajes enviados, entre otros.
Ahora vamos a verificar el número de servidores compartidos disponibles en la base de datos.
Mostraremos las propiedades NAME y STATUS de la vista V$SHARED_SERVER:
Observamos que actualmente hay solo un servidor compartido.
Para activar los servidores compartidos, usamos el siguiente comando:
Suponemos que queremos configurar cinco servidores compartidos, lo que indicaría el número mínimo disponible al arrancar la base de datos. Si consultamos nuevamente la vista V$SHARED_SERVER, deberíamos ver cinco servidores.
Comprobémoslo:
Efectivamente, ahora tenemos cinco servidores compartidos. Inicialmente había uno, y ahora vemos cinco.
Procedamos ahora a configurar los dispatchers, indicando a Oracle que queremos varios dispatchers que gestionen las peticiones de un determinado servicio cliente.
Usamos el siguiente comando:
[INDEX=1] indica que este grupo de dispatchers tendrá un índice de uno, ya que hay otro asociado al servicio orclXDB con índice cero.
[PROTOCOL=TCP] indica que los dispatchers se conectarán mediante el protocolo TCP.
[DISPATCHERS=4] indica que necesitamos cuatro dispatchers adicionales. Sumados al existente, tendremos cinco en total, coincidiendo con el número de servidores compartidos.
[SERVICE=orcl] especifica que estos dispatchers atenderán las solicitudes del servicio orcl, utilizado para conectarse con el listener.
Presionamos Intro, y Oracle nos confirma con el mensaje "system altered" que los cambios se han aplicado.
Ejecutemos ahora:
Podemos ver que hay dos grupos de dispatchers: uno para el servicio orclXDB y otro con los cuatro que hemos añadido, que gestionarán el servicio orcl. Hay un total de cinco dispatchers.
Comprobemos también los parámetros de SHARED:
SHOW PARAMETER SHARED
Ahora tenemos cinco servidores compartidos que estarán disponibles al arrancar la base de datos, independientemente del número de conexiones.
Ya hemos configurado los SHARED SERVERS y los DISPATCHERS. Sin embargo, queda un paso crucial: debemos definir cómo los clientes accederán a la base de datos mediante un servicio compartido. Este proceso lo realizaremos desde una terminal Linux, editando el archivo tnsnames.ora.
Dirijámonos a la ubicación del archivo:
Listamos el contenido del directorio y confirmamos que el archivo tnsnames.ora está presente. Lo abrimos con `vi tnsnames.ora`.
Al abrir el archivo, vemos la configuración original donde agregamos el argumento SERVER=DEDICATED.
Hemos copiado esta configuración y la pegamos, cambiando algunos detalles para diferenciar los servidores dedicados de los compartidos.
Es importante prestar atención al copiar, ya que omitir un paréntesis podría generar errores al acceder al servidor de base de datos.
Finalmente, cambiamos el nombre del servidor para diferenciar entre las conexiones dedicadas y compartidas, usando nombres descriptivos para cada uno.
Por ejemplo, si el cliente se conecta al servicio ORCLDB, usará servidores dedicados. Si lo hace a través del servicio ORCLDB_SHARED, utilizará servidores compartidos.