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.