¿Cómo configuro las instancias de base de datos de Oracle de Amazon RDS para que funcionen con servidores compartidos?

4 minutos de lectura
0

¿Cómo configuro las instancias de base de datos de Oracle de Amazon Relational Database Service (Amazon RDS) para que funcionen con servidores compartidos?

Descripción breve

Los usuarios de Oracle pueden conectarse a las instancias de base de datos de RDS mediante procesos de servidor dedicados o compartidos. Antes de usar servidores compartidos, tenga en cuenta lo siguiente:

  • El uso de servidores compartidos genera una sobrecarga de CPU, lo que puede provocar problemas de rendimiento.
  • El uso de un servidor compartido significa que la asignación de UGA se asigna dentro de un grupo grande. Asegúrese de disponer de suficiente espacio libre en SGA para alojar servidores compartidos. La falta de espacio libre puede provocar que aparezcan errores que indican que no hay grupos grandes en los archivos de registro de alertas y seguimiento de la instancia.
  • El uso de servidores compartidos puede provocar una reasignación dinámica más frecuente de la memoria SGA, lo que puede provocar problemas de rendimiento.
  • Durante el reinicio de la base de datos o la conmutación por error, un gran aumento en las conexiones de las aplicaciones puede sobrecargar los expedidores si el parámetro DISPATCHERS no se establece lo suficientemente alto en relación con el rendimiento de la conexión.
  • La ejecución de procesos por lotes, consultas de larga duración, cargas pesadas o tareas de DBA de larga ejecución en servidores compartidos puede provocar que otros trabajos se pongan en cola, lo que puede generar problemas de rendimiento. Utilice servidores dedicados para trabajos grandes.

Para obtener más información sobre la arquitectura de servidores compartidos y servidores dedicados de Oracle Database, consulte la documentación de Oracle sobre la Descripción de la arquitectura de servidores compartidos.

Resolución

Para equilibrar las ventajas y las limitaciones del uso de servidores compartidos:

  • Utilice servidores compartidos para un gran número de sesiones de OLTP que se conecten y desconecten con frecuencia y realicen operaciones ligeras.
  • Utilice servidores dedicados para operaciones por lotes de larga duración y tareas administrativas pesadas, como la creación de índices.

Nota: Los siguientes ejemplos se proporcionan como punto de referencia para habilitar servidores compartidos con el tamaño de instancia especificado (instancia db.r3.large). Los administradores deben aplicar configuraciones de grupos de parámetros que optimicen la memoria en función de sus casos de uso. Para obtener más información, consulte Oracle en Amazon RDS.

1.    Modifique el grupo de parámetros personalizado para establecer los siguientes parámetros en el valor máximo permitido o en un valor que se ajuste a su caso de uso:

dispatchers=(PROTOCOL=TCP)(DISPATCHERS=30)
max_dispatchers=30

2.    Inicie sesión en la instancia y, a continuación, vea el valor predeterminado de SESSIONS para el tamaño del host. Si no usa la configuración predeterminada, pruebe la instancia con el grupo de parámetros predeterminado:

SQL> show parameter sessions
2428

3.    Establezca SHARED_SERVERS y MAX_SHARED_SERVERS al 10 % de ese valor:

sessions=2428
shared_servers=243
max_shared_servers=243

4.    Establezca LARGE_POOL_SIZE como igual al valor de SHARED_SERVERS value * 1 MB (243 * 1048576 bytes en este caso).

large_pool_size= 254803968

5.    Consulte v$sgastat para obtener una «memoria libre» de large_pool_size para asegurarse de que el grupo grande tiene el tamaño adecuado.

SQL> select name, pool, bytes/1024/1024 megs from v$sgastat where name='free memory' and pool='large pool';
Name           POOL        Megs
-------------- ----------- -------
free memory    large pool  243

6.    Vea la configuración del grupo de parámetros que se aplica a una instancia de Oracle en ejecución y, a continuación, ejecute la siguiente consulta SQL desde la instancia:

select name, value from v$parameter where name in ('processes', 'sessions', 'shared_servers', 'dispatchers', 'memory_target', 'memory_max_target', 'large_pool_size');

7.    Ejecute la siguiente consulta SQL desde su instancia de Oracle para ver si las sesiones se conectan como compartidas:

SQL> select decode(server,'NONE','SHARED',server), count(*) from v$session
group by decode(server,'NONE','SHARED',server);

Para habilitar el acceso a servidores dedicados y compartidos a la misma instancia de Oracle, utilice entradas tnsnames.ora dobles, como en el siguiente ejemplo:

# make the default shared

  dbname =
  (DESCRIPTION=
      (ADDRESS_LIST=
          (ADDRESS=(PROTOCOL=TCP)(HOST=dbname.endpoint.amazonaws.com)(PORT=1521))
      )
      (CONNECT_DATA=
          (SID=dbname)
      )
  )

  # use the dedicated one for batch processes and dba tasks such as creating indexes

  dbname_d=
  (DESCRIPTION=
      (ADDRESS_LIST=
          (ADDRESS=(PROTOCOL=TCP)(HOST=dbname.endpoint.amazonaws.com)(PORT=1521))
      )
      (CONNECT_DATA=
          (SID=dbname)
          (SERVER=DEDICATED)
      )
  )

Información relacionada

Parámetros de nomenclatura local en el archivo tnsnames.ora

Trabajo con grupos de parámetros de base de datos

Visualización de valores de parámetros para un grupo de parámetros de base de datos

Reinicio de una instancia de base de datos

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 años