OracleMania en Español Volumen 1 | Page 6

ARTICULO Especial

Base de datos

6

¿Qué es una directiva?

Los recursos son especificados haciendo uso de una “directiva” en la cual se especifica el porcentaje o cantidad de recursos asignados. Las directivas pueden ser usadas en los planes de recursos a nivel del CDB como también para los planes a nivel de PDB.

Las directivas controlan la distribución de los siguientes recursos:

1. CPU

2. Parallel execution servers

En un plan de recursos a nivel del CDB la asignación de los recursos en las Directivas se realiza mediante un valor “Share” el cual determina la cantidad de recursos asignados a una determinada PDB. Dicho valor es establecido a través del procedimiento CREATE_CDB_PLAN_DIRECTIVE en el paquete DBMS_RESOURCE_MANAGER. Por ejemplo, en el siguiente diagrama se puede ver que existen 3 directivas, una para cada PDB y que cada directiva contiene un valor “Share” el cual es la cantidad de recursos asignados a la PDB.

También se ve que el valor “share” para la PDB “salespdb” es de 3, al igual que la PDB “servicespdb”, pero, la PDB solamente tiene un valor igual a 1. Esto indica que tanto “salespdb” como “servicespdb” tendrán 3/7 de todos los recursos del sistema y “hrpdb”

¿Qué es Oracle Database Resource Manager?

Comparte los recursos del sistema entre las PDBs existentes en el CDB.

• Los recursos son asignados con prioridades, esto hace posible que la PDB más importante tenga más recursos.

• Limita el CPU a una PDB específica.

• Limita el número de ejecuciones paralelas que una PDB puede realizar.

• Monitorea el uso de los recursos por PDB.

• Cuando una PDB es conectada a un CDB con planes de recursos configurados, dicha PDB puede adoptar una configuración de

facto.

• No pueden ser definidos grupos consumidores en el CDB$ROOT. Los recursos solo pueden ser distribuidos entre las PDBs y dicha

configuración pertenece al CDB$ROOT.

• Es posible tener varios planes de recursos pero solo uno puede estar habilitado al mismo tiempo.

• La manera en que se habilita el “Resource Manager” es a través del parámetro “resource_manager_plan”.

• En una PDB solo se puede tener hasta 8 grupos consumidores.

• En una PDB no se puede tener sub-planes.

• En una base de datos no-CDB se puede tener hasta 32 grupos consumidores.

• En una base de datos no-CDB se puede tener sub-planes.

• Si un plan de recursos a nivel de PDB no es especificado, todas las sesiones dentro de dicha PDB tendrán la misma prioridad.

• Se le puede dar prioridad automáticamente a las sesiones largas dentro del PDB plan.

• Se puede limitar el grado de paralelismo de cualquier operación.

• Se puede asignar ciclos de CPU a grupos consumidores.

• Se le asigna un grupo consumidor de recursos a cada uno de los usuarios, de tal manera que cuando una sesión de dicho usuario

sea creada automáticamente la sesión sea manejada por ese grupo consumidor de recursos.

• Cada usuario puede cambiar dinámicamente de grupo consumidor de recursos dependiendo de los cambios que dicha sesión

vaya teniendo, si se cumplen ciertos atributos, la sesión es automáticamente movida a otro grupo consumir de recursos.