Está en la página 1de 1

We are hiring

blog

Tecnología

avanttic > blog > tecnología

Limitar recursos asignados a Servicios de BBDD Buscar en el blog 


Oracle
MANAGEMENT - 16/12/2014 - Daniel Godoy
Filtrar blog por categorías

Cuando las decisiones sobre la asignación de recursos de base de Ninguna


datos se dejan al sistema operativo, pueden aparecer (entre otros) los
siguientes problemas con la gestión de la carga de trabajo:
Filtrar blog por etiquetas
Sobrecarga excesiva
Plani cación ine ciente
Asignación de recursos inapropiada Ninguna
Imposibilidad de gestionar recursos especí cos de base de datos.

El Gestor de Recursos (Resource Manager) de la base de datos ayuda a Filtrar blog por autores
solucionar estos problemas otorgando a la base de datos más control
sobre cómo se asignan los recursos. Proporciona las siguientes Ninguno
opciones (entre otras):
Garantizar a ciertas sesiones una cantidad mínima de CPU, al
margen de la carga del sistema y del número de usuarios. Filtrar
Distribuir la CPU disponible mediante la asignación de porcentajes
de tiempo de CPU a diferentes usuarios y aplicaciones.
Limitar el grado de paralelismo de cualquier operación efectuada por
miembros de un grupo de usuarios. También te podría interesar

Los elementos del Gestor de Recursos que se ven involucrados son los
Prerrequisito para instalar Oracle
siguientes: FMW 11g en Amazon: Fijar IP y
Grupo consumidor de recursos (resource consumer group): Es un computer name
conjunto de sesiones que se agrupan basándose en los requisitos de
25/01/2011 - Jordi Sansó
recursos. El Gestor de Recursos asigna recursos a grupos
consumidores de recursos, no a sesiones individuales.
Plan de recursos (resource plan): Es un contenedor de directivas ¿Problemas de con guración del
storage en entornos Linux?
que especi ca cómo se asignan recursos a los grupos consumidores
de recursos. Se especi ca cómo asigna recursos la base de datos 07/11/2017 - Rafael Planella
mediante la activación de un plan de recursos especí co.
Directiva de plan de recursos (resource plan directive): Asocia un Tareas programadas en entornos
grupo consumidor de recursos con un plan en concreto y especi ca Oracle
cómo se asignan los recursos al grupo consumidor.
11/04/2013 - Rafael Planella
Para más información se puede consultar aquí la documentación.
A continuación se muestra un ejemplo de cómo es posible realizar una
Compresión de datos en WebLogic
con guración para limitar el consumo de recursos de los usuarios Server
que se conectan a nuestra base de datos, en base a los servicios de
07/03/2014 - Daniel Godoy
ésta.

Crear servicios
En primer lugar se crean los servicios que se deseen para facilitar la
gestión de la carga siguiendo los pasos explicados en este post anterior de
nuestro blog. En nuestro caso se han creado los servicios
‘SERVICIO_PRIORITARIO’ y ‘SERVICIO_NO_PRIORITARIO’, añadiendo las
entradas correspondientes en el chero tnsnames.ora. Antes de
continuar se comprueba que el listener posee los servicios:
1
2 [oracle@centos1 ~]$ lsnrctl status listener_orcl
3 LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-OCT-
4 Copyright (c) 1991, 2013, Oracle. All rights reserved.
5 Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=orcl-vip)(PORT=1521
6 STATUS of the LISTENER
7 ------------------------
8 Alias listener_orcl
9 Version TNSLSNR for Linux: Version 11.2.0.4.0
10 Start Date                 20-OCT-2014 07:13:19
11 Uptime 0 days 0 hr. 30 min . 17 sec
12 Trace Level                off
13 Security ON : Local OS Authentication
14 SNMP OFF
15 Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_
16 Listener Log File
17 /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/tnslsnr/centos1/
18 Listening Endpoints Summary...
19 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.93.140)(POR
20 Services Summary...
21 Service "orcl.avanttic.com" has 2 instance(s).
22 Instance "orcl" , status UNKNOWN, has 1 handler(s) for this
23 Instance "orcl" , status READY, has 1 handler(s) for this s
24 Service "orclXDB.avanttic.com" has 1 instance(s).
25 Instance "orcl" , status READY, has 1 handler(s) for this s
26 Service "servicio_no_prioritario.avanttic.com" has 1 instance(s
27 Instance "orcl" , status READY, has 1 handler(s) for this s
28 Service "servicio_prioritario.avanttic.com" has 1 instance(s).
29 Instance "orcl" , status READY, has 1 handler(s) for this s
30 The command completed successfully
31

Limitar recursos
Para poder limitar los recursos que utiliza cada servicio es necesario dar 3
pasos: crear grupos, asignar servicios a grupos y crear el plan de gestión
de recursos sobre los grupos.
Estos 3 pasos se pueden realizar desde Enterprise Manager o desde
línea de comandos. De cara a facilitar la explicación se va a hacer
únicamente con Enterprise Manager.
1. Crear Grupos
En Enterprise Manager, se accede a la pestaña ‘Server’ y bajo la categoría
‘Resource Manager’ está ‘Consumer Groups’:

Enterprise Manager – pestaña ‘Server’


Aparece una relación de los grupos existentes. Para crear un grupo
nuevo pulsar ‘Create’:

Enterprise Manager – Consumer Groups


A continuación se introducen los datos deseados para el grupo. En
nuestro caso vamos a crear 2 grupos, el grupo de usuarios prioritarios que
podrán consumir todos los recursos de nuestra base de datos, y el grupo
de usuarios no prioritarios que estarán restringidos a la mitad de los
recursos. Como usuario prioritario tenemos a recursos humanos, HR:

Create Resource Consumer Group – Grupo prioritario


Como usuario no prioritario tenemos a Scott:

Create Resource Consumer Group – Grupo no prioritario


2. Asignar servicios a grupos
En este punto, se han creado los servicios y los grupos consumidores. El
siguiente paso es asociarlos, para ello se accede a la pestaña ‘Server’ y
bajo la categoría ‘Resource Manager’ pulsar ‘Consumer Group Mappings’.
En este caso, se selecciona el tipo ‘Service’ pero, si se desease, se podría
seleccionar cualquier otra de las que aparecen en la captura:

Enterprise Manager – Consumer Group Mappings


Se crea la asociación entre el servicio prioritario y el grupo de usuarios
prioritario:

Consumer Group Mappings – Prioritarios


Se crea la asociación entre el servicio no prioritario y el grupo de usuarios
no prioritario:

Consumer Group Mappings – No prioritarios


Se revisa el resultado:

Consumer Group Mappings – Servicios y grupos asociados


3. Crear plan de gestión de recursos
El último paso a dar es crear el plan de gestión de recursos. Este plan es el
que determina como se asignan los recursos a los grupos consumidores.
Para crear un plan se accede a la pestaña ‘Server’ y bajo la categoría
‘Resource Manager’ ir a ‘Plans’. Se crea el plan de gestión recursos
deseado:

Crear plan de gestión de prioridades


Aquí es donde se decide el nivel de consumo de recursos que va a tener
cada uno de los grupos, en nuestro caso el grupo prioritario tendrá acceso
al 100% de los recursos y el no prioritario únicamente al 50%. Si se desea,
se puede activar el plan en el mismo momento de la creación para que
tenga efecto immediato. También es posible realizar la creación en un
modo avanzado:

Crear plan de gestión de recursos – modo avanzado


Una vez hecho todo esto y activado el plan, solamente queda comprobar
su funcionamiento. Si los usuarios HR y SCOTT se conectan a la base de
datos sin hacer uso de los servicios que se han creado se puede ver que
grupo asignado no es el deseado:
1
SQL> select username,resource_consumer_group from v$session w
2
USERNAME RESOURCE_CONSUMER_GROUP
3
------------------------------ --------------------------------
4
HR OTHER_GROUPS
5
SCOTT OTHER_GROUPS
6
Debido a esto es importante con gurar bien las conexiones. Si se
conectan al servicio correspondiente se comprueba que el grupo asignado
es correcto. Realizamos 4 conexiones con cada uno:
1
SQL> select sid,serial#,status,username,resource_consumer_group
2
( 'SCOTT' , 'HR' ) order by 4,5
3
SID SERIAL# STATUS USERNAME R
4
---------- ---------- -------- ------------------------------ --
5
10 3 INACTIVE HR G
6
24 33 INACTIVE HR G
7
148 13 INACTIVE HR G
8
22 11 INACTIVE HR G
9
30 9 INACTIVE SCOTT G
10
152 5 INACTIVE SCOTT G
11
125 41 INACTIVE SCOTT G
12
19 7 INACTIVE SCOTT G
13
8 filas seleccionadas.
14
El siguiente paso es simular mucha actividad por parte de los usuarios.
Empezamos con el usuario no privilegiado, utilizando las cuatro sesiones
abiertas provocamos un consumo de recursos elevado y vemos en el
Enterprise manager que el consumo de recursos se mantiene al 50% tal y
como habíamos indicado en el plan:

EM – Consumo 50% de recursos


Pero si ejecutamos el código mencionado anteriormente con las sesiones
del usuario HR vemos que se consume el 100% de los recursos:

EM – Consumo 100% de recursos


Y en la máquina:

OS – Consumo de recursos
Recapitulando: hemos creado 2 servicios de base de datos y 2 grupos
consumidores, hemos asignado estos grupos a sus correspondientes
servicios, hemos creado un plan de gestión de recursos añadiéndolos a
ambos y lo hemos activado, comprobando que realmente limita los
recursos asignados. Con todo esto se consigue que cuando un usuario
autorizado se conecte al servicio de base de datos deseado, se le asigne el
grupo consumidor adecuado y se le aplique el plan de recursos de nido.
Oracle proporciona varios grupos consumidores (como
BATCH_GROUP o ETL_GROUP) y planes de gestión de recursos (como
ETL_CRITICAL_PLAN o MIXED_WORKLOAD_PLAN) creados previamente
y que se pueden utilizar si se desea. También proporciona una serie de
vistas del diccionario de datos para consultar y controlar todo lo
relacionado con la asignación y uso de grupos consumidores y planes de
recursos.
Dado que las bases de datos en entornos productivos suelen ser sistemas
complejos y muy vivos, el comportamiento de una sesión puede variar a lo
largo del tiempo. Es posible crear reglas que, bajo determinadas
circunstancias, modi quen el grupo consumidor asignado a una
sesión de manera dinámica (modi cando de esta manera los recursos
asignados) o que directamente eliminen esta sesión.
Todas estas herramientas nos permiten poder gestionar mejor nuestras
base de datos y tener un mayor control de nuestros entornos productivos,
cosa que siempre es una ayuda.

Volver al blog tecnología

blog transformación digital blog people

compañía especialización 100% oracle soluciones y servicios

Evolución, innovación 37 Service Expertise Nuestra propuesta


y transformación avalados por Oracle  de valor

people blog actualidad

Posts 100% Oracle Sigue nuestro día a


día

COMPAÑÍA ESPECIALIZACIÓN SOLUCIONES Y PERSONAS BLOG ACTUALIDAD


SERVICIOS
RESPONSABILIDAD CASOS DE ÉXITO CULTURA AVANTTIC TRANSFORMACIÓN EVENTOS
SOCIAL PREMIOS TRANSFORMACIÓN AVANTTIC_LIVES DIGITAL NOTICIAS
EQUIPO TÉCNICO EXPERTISE DIGITAL POSICIONES TECNOLOGÍA
CONTACTO
EQUIPO DIRECTIVO INFLUENCERS CONSULTORÍA AULA SMACT PEOPLE
WEARESMACT ORACLE
SERVICIOS
GESTIONADOS
FLY TO ORACLE
CLOUD

avanttic es una empresa de servicios informáticos Barcelona Madrid


completamente especializada en la tecnología Aragó 182, 4ª planta Avenida de San Luis,     
Oracle. Realizamos proyectos sobre todas las 08011 Barcelona 25
capas de Infraestructura y Plataforma, Tel. 93 151 84 51 28033 Madrid
implementando y gestionando soluciones y Tel. 91 116 17 89
servicios de alta calidad y especialización, tanto
On-Premise como en Cloud y en Cloud Híbrido.

© 2022 avanttic Consultoría Tecnológica, todos los derechos reservados. | Aviso legal y Política de privacidad | Política de cookies

También podría gustarte