Paquete CS_RESOURCE_MANAGER
El paquete CS_RESOURCE_MANAGER proporciona una interfaz para mostrar y actualizar los parámetros del grupo de consumidores y para revertir los parámetros a los valores por defecto.
- Procedimiento CLEAR_PENDING_AREA
Este procedimiento borra los cambios pendientes para el gestor de recursos. - Procedimiento CREATE_CONSUMER_GROUP
Este procedimiento define los grupos de consumidores de recursos. - CREATE_PENDING_AREA Procedimiento
Este procedimiento crea un área pendiente para realizar cambios en los objetos del gestor de recursos. - CREATE_PLAN Procedimiento
Este procedimiento crea entradas que definen planes de recursos. - Procedimiento CREATE_PLAN_DIRECTIVE
Este procedimiento crea directivas de plan de recursos. - DELETE_CONSUMER_GROUP Procedimiento
Este procedimiento suprime los grupos de consumidores de recursos. - DELETE_PLAN Procedimiento
Este procedimiento suprime el plan especificado, así como todas las directivas de plan a las que hace referencia. - DELETE_PLAN_DIRECTIVE Procedimiento
Este procedimiento suprime las directivas del plan de recursos. - Función LIST_CURRENT_RULES
Esta función devuelve la configuración actual del plan por defecto. - Función LIST_DEFAULT_RULES
Esta función devuelve los valores por defecto para todos los grupos de consumidores. - REVERT_TO_DEFAULT_VALUES Procedimiento
Este procedimiento revierte las propiedades predeterminadas del plan del gestor de recursos a los valores predeterminados. - Procedimiento SET_CONSUMER_GROUP_MAPPING
Este procedimiento agrega, suprime o modifica entradas que asignan sesiones a grupos de consumidores, en función de los atributos de conexión y tiempo de ejecución de la sesión. - SET_CONSUMER_GROUP_MAPPING_PRI Procedimiento
Se pueden utilizar varios atributos de una sesión para asignar la sesión a un grupo de consumidores. Este procedimiento prioriza las asignaciones de atributos. - SUBMIT_PENDING_AREA Procedimiento
Este procedimiento envía los cambios pendientes para el gestor de recursos. Borra el área pendiente después de validar y confirmar los cambios (si son válidos). - UPDATE_PLAN_DIRECTIVE Procedimiento
Utilice este procedimiento para actualizar los planes predefinidos por defecto que vienen con Autonomous AI Database, es decir,DWCS_PLANyOLTP_PLANpara un grupo de consumidores especificado. - UPDATE_PLAN_DIRECTIVE_ADV Procedimiento
Utilice este procedimiento para actualizar el plan de gestor de recursos definido por el usuario para un grupo de consumidores especificado. - VALIDATE_PENDING_AREA Procedimiento
Este procedimiento valida los cambios pendientes para el gestor de recursos.
CLEAR_PENDING_AREA Procedimiento
Este procedimiento borra los cambios pendientes para el gestor de recursos.
Sintaxis
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
Tema principal: Paquete CS_RESOURCE_MANAGER
CREATE_CONSUMER_GROUP Procedimiento
Este procedimiento define los grupos de consumidores de recursos.
Sintaxis
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del grupo de consumidores |
|
|
Comentario de usuario |
Notas de uso
Puede determinar cómo se colocan las sesiones en grupos de consumidores mediante:
-
Asignación de cadena de conexión: especifique
CONSUMER_GROUPen la cadena de conexión de la base de datos, como se muestra a continuación. Este enfoque tiene prioridad sobre la asignación y sustituirá las asignaciones definidas.(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=my_database_low.adb.oraclecloud.com)(CONSUMER_GROUP=OLTP_LOW))(security=(ssl_server_dn_match=yes))) -
Reglas de asignación: utilice los subprogramas
set_consumer_group_mappingyset_consumer_group_mapping_pripara asignar sesiones o aplicaciones a grupos de consumidores en función de atributos como nombre de usuario o nombre de aplicación.
Ejemplos
BEGIN
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_HIGH',
comment => 'Priority OLTP sessions');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_LOW',
comment => 'Background/low-priority OLTP');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'LH_BATCH',
comment => 'Batch / reporting workloads');
END;
/Tema principal: Paquete CS_RESOURCE_MANAGER
CREATE_PENDING_AREA Procedimiento
Este procedimiento crea un área pendiente para realizar cambios en los objetos del gestor de recursos.
El área pendiente se puede considerar como un área nuevo para los cambios en el esquema del plan. El administrador crea esta área pendiente, realiza los cambios necesarios, posiblemente valida estos cambios y solo cuando se completa el envío, estos cambios se activan.
Sintaxis
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;Notas de uso
Puede, en cualquier momento, mientras el área pendiente está activa, ver el esquema del plan actual con los cambios mediante la selección de las vistas de usuario adecuadas. Consulte Visualización de la Configuración y el Estado del Gestor de Recursos de la Base de Datos para obtener más información.
En cualquier momento, puede borrar el área pendiente si desea detener los cambios actuales. También puede llamar al procedimiento VALIDATE para confirmar si los cambios que ha realizado son válidos. No es necesario realizar los cambios en un orden determinado para mantener un grupo coherente de entradas. Estas comprobaciones también se realizan implícitamente cuando se envía el área pendiente.
Oracle permite grupos de consumidores "huérfanos" (es decir, grupos de consumidores que no tienen directivas de plan que hagan referencia a ellos). Esto se anticipa a que un administrador puede querer crear un grupo de consumidores que no se esté utilizando actualmente, pero que se utilizará en el futuro.
- Ningún esquema de plan puede contener bucles.
- Deben existir todos los planes y grupos de consumidores a los que hacen referencia las directivas del plan.
- Todos los planes deben tener directivas de plan que hagan referencia a planes o grupos de consumidores.
- Todos los porcentajes de un nivel determinado no deben sumar más de 100 para el método de asignación de recursos de énfasis.
- No se puede suprimir ningún plan que esté siendo utilizado actualmente como plan principal por una instancia activa.
- No puede haber más de 28 directivas de plan que provengan de un plan dado (es decir, ningún plan puede tener más de 28 hijos).
- No puede haber más de 28 grupos de consumidores en ningún esquema de plan activo.
- Los planes y los grupos de consumidores utilizan el mismo espacio de nombres; por lo tanto, ningún plan puede tener el mismo nombre que cualquier grupo de consumidores.
- Debe haber una directiva de plan para
OTHER_GROUPSen algún lugar de cualquier esquema de plan activo. Esto garantiza que a una sesión no cubierta por el plan activo actualmente se le asignen recursos según lo especificado por la directivaOTHER_GROUPS.
Si alguna de las reglas anteriores se rompe cuando se comprueba mediante los procedimientos VALIDATE o SUBMIT, se devuelve un mensaje de error informativo. A continuación, puede realizar cambios para solucionar uno o más problemas y volver a ejecutar los procedimientos de validación o envío.
Tema principal: Paquete CS_RESOURCE_MANAGER
CREATE_PLAN Procedimiento
Este procedimiento crea entradas que definen planes de recursos.
Sintaxis
CS_RESOURCE_MANAGER.CREATE_PLAN (
plan IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del plan de recursos |
|
|
Comentario de usuario |
Ejemplo
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/Tema principal: Paquete CS_RESOURCE_MANAGER
CREATE_PLAN_DIRECTIVE Procedimiento
Este procedimiento crea directivas de plan de recursos.
Sintaxis
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del plan de recursos |
|
|
Nombre del grupo de consumidores |
|
|
Comentario para la directiva del plan |
|
|
Porcentaje de asignación de recursos para el grupo de consumidores. Los recursos compartidos determinan la cantidad de recursos de CPU y E/S que obtiene un grupo de consumidores en relación con otros grupos de consumidores. Por ejemplo, un grupo de consumidores con una cuota de 2 obtendrá el doble de recursos de CPU y E/S que un grupo de consumidores con una cuota de 1. Si no especifica acciones para un grupo de consumidores en su plan, el recurso compartido de ese grupo de consumidores se definirá en 1. |
|
|
Límites de recursos que determinan el máximo de recursos de CPU y E/S que puede obtener un grupo de consumidores. |
|
|
Medidas que deben adoptarse al alcanzar cualquiera de los límites especificados en las directivas. Los valores válidos son |
|
|
Tiempo en la CPU (en segundos) que se puede ejecutar una sesión antes de realizar una acción. El valor por defecto es |
|
|
Cantidad de E/S (en MB) que una sesión puede emitir antes de que se realice una acción. El valor por defecto es |
io_reqs_limit |
Número de solicitudes de E/S que una sesión puede emitir antes de que se realice una acción. El valor por defecto es |
io_logical_limit |
Número de E/S lógicas que dispararán la acción especificada por |
elapsed_time_limit |
Tiempo transcurrido (en segundos) que disparará la acción especificada por |
max_idle_time |
Número de segundos que una sesión puede estar inactiva antes de que finalice la sesión. El valor por defecto es |
max_idle_blocker_time |
Cantidad máxima de tiempo en segundos que una sesión puede estar inactiva antes de que finalice la sesión, si la sesión mantiene un bloqueo o un recurso que necesitan otras sesiones. |
active_session_limit |
Número máximo de sesiones que pueden tener simultáneamente una llamada activa. |
active_session_timeout |
Tiempo especificado (en segundos) tras el cual se agota el tiempo de espera de una llamada en la cola de sesiones inactiva (en espera de ejecución). El valor por defecto es |
parallel_degree_limit |
Especifica un límite en el grado de paralelismo para cualquier operación. El valor por defecto es |
concurrency_limit |
Define el nivel de simultaneidad y, por lo tanto, el grado de paralelismo (DOP). Puede hacer el DOP 1. |
session_pga_limit |
Cantidad máxima de PGA no ajustable (en MB) que una sesión de este grupo de consumidores puede asignar antes de terminar. Las operaciones SQL que asignan PGA ajustable (operaciones que pueden optar por utilizar espacio temporal) no están controladas por este límite. |
parallel_queue_timeout |
Especifica el tiempo (en segundos) que una sentencia paralela puede permanecer en la cola de sentencias paralelas de su grupo de consumidores antes de que se elimine y termine con un error (ORA- 07454). |
parallel_queue_timeout_action |
Especifica la acción que se debe realizar cuando se elimina una sentencia paralela de la cola debido a Los valores son los siguientes:
|
Notas de uso
- No puede crear directivas de plan en los planes predefinidos por defecto que vienen con Autonomous AI Database, es decir,
DWCS_PLANyOLTP_PLAN. - Todos los parámetros, excepto los recursos compartidos, se definen por defecto en
NULL. - Se devuelve un error si se especifica
parallel_queue_timeout, pero no se especificaparallel_queue_timeout_action.
Ejemplos
BEGIN
-- High-priority OLTP gets 8 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_HIGH',
comment => 'OLTP high priority',
shares => 8,
parallel_degree_limit => 1
);
-- Lower-priority OLTP gets 4 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_LOW',
comment => 'OLTP low priority',
shares => 2,
parallel_degree_limit => 1
);
-- Lakehouse / batch gets 4 shares and the degree of parallelism is capped to 4.
-- If a parallel SQL statement waits in the queue for more than 60 seconds, it will be canceled.
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'LH_BATCH',
comment => 'Lakehouse/reporting workloads',
shares => 4,
parallel_degree_limit => 4, -- cap DOP within this group (adjust as needed)
parallel_queue_timeout => 60,
parallel_queue_timeout_action => 'CANCEL'
);
-- Catch-all for anything unmapped; sessions that are not mapped to a consumer group get 1 CPU/IO share and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OTHER_GROUPS',
comment => 'Catch-all for unmapped sessions',
shares => 1,
parallel_degree_limit => 1
);
END;
/Tema principal: Paquete CS_RESOURCE_MANAGER
DELETE_CONSUMER_GROUP Procedimiento
Este procedimiento suprime los grupos de consumidores de recursos.
Sintaxis
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group IN VARCHAR2);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del grupo que se suprimirá. Nota
No puede suprimir grupos de consumidores predefinidos que vienen con la base de datos de IA autónoma, es decir, TPURGENT, TP, HIGH, MEDIUM y LOW. |
Ejemplos
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);Tema principal: Paquete CS_RESOURCE_MANAGER
DELETE_PLAN Procedimiento
Este procedimiento suprime el plan especificado, así como todas las directivas de plan a las que se refiere.
Sintaxis
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan IN VARCHAR2,
cascade IN BOOLEAN DEFAULT FALSE); Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del plan de recursos que desea suprimir. Nota
No puede suprimir planes predefinidos que vienen con Autonomous AI Database, es decir, DWCS_PLAN y OLTP_PLAN.
|
cascade |
Indicador que especifica si se debe suprimir el plan especificado y todos sus descendientes (directivas de plan, planes secundarios, grupos de consumidores). Los objetos y las directivas obligatorios no se suprimen. El valor por defecto es DELETE_PLAN detecta algún error, se realiza un rollback de la operación y no se suprime nada.
|
Ejemplo
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan ==> <plan_name>);Tema principal: Paquete CS_RESOURCE_MANAGER
DELETE_PLAN_DIRECTIVE Procedimiento
Este procedimiento suprime las directivas del plan de recursos.
Sintaxis
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del plan de recursos. Nota
No puede suprimir directivas de plan en los planes predefinidos por defecto que vienen con Autonomous AI Database, es decir, DWCS_PLAN y OLTP_PLAN.
|
consumer_group |
Nombre del grupo de consumidores. |
Ejemplo
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
Tema principal: Paquete CS_RESOURCE_MANAGER
Función LIST_CURRENT_RULES
Esta función devuelve la configuración actual del plan por defecto.
LIST_CURRENT_RULES no se puede utilizar para ver la configuración de los planes personalizados. Si utiliza planes personalizados, puede utilizar las vistas de DBRM para ver la configuración.
Sintaxis
CS_RESOURCE_MANAGER.LIST_CURRENT_RULES
RETURN TABLE;
Ejemplo
SELECT * FROM CS_RESOURCE_MANAGER.LIST_CURRENT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 4 3 3
MEDIUM 2 2 9
LOW 1 900 1
Tema principal: Paquete CS_RESOURCE_MANAGER
Función LIST_DEFAULT_RULES
Esta función devuelve los valores por defecto para todos los grupos de consumidores.
Sintaxis
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;Nota de uso
-
Por defecto, el valor de la política de grado en paralelo es
MANUALpara el grupo de consumidoresTPURGENT. La funciónCS_RESOURCE_MANAGER.LIST_DEFAULT_RULESno muestra ningún valor para el valor por defecto deDEGREE_OF_PARALLELISMpara el grupo de consumidoresTPURGENT.
Ejemplo
SELECT * FROM CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 0 0 4 3 1
MEDIUM 0 0 2 1 1
LOW 0 0 1 300 1
TP 0 0 8 300 1
TPURGENT 0 0 12 300
Tema principal: Paquete CS_RESOURCE_MANAGER
REVERT_TO_DEFAULT_VALUES Procedimiento
Este procedimiento revierte las propiedades predeterminadas del plan del gestor de recursos a los valores predeterminados.
No puede utilizar este procedimiento con planes personalizados y solo se puede utilizar para revertir los cambios a los planes del gestor de recursos por defecto que vienen con Autonomous AI Database, es decir,
DWCS_PLAN y OLTP_PLAN.
Sintaxis
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group IN VARCHAR2,
shares IN BOOLEAN DEFAULT FALSE,
concurrency_limit IN BOOLEAN DEFAULT FALSE);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el grupo de consumidores que se debe revertir. Los valores válidos son: |
shares |
Cuando el valor es |
concurrency_limit |
Cuando el valor es |
Ejemplos
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'MEDIUM',
concurrency_limit => TRUE);
END;
/
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'HIGH',
shares => TRUE);
END;
/
Tema principal: Paquete CS_RESOURCE_MANAGER
SET_CONSUMER_GROUP_MAPPING Procedimiento
Este procedimiento agrega, suprime o modifica entradas que asignan sesiones a grupos de consumidores en función de los atributos de conexión y tiempo de ejecución de la sesión.
Sintaxis
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Atributo de asignación para agregar o modificar. Puede ser uno de los constantes que se muestran. |
|
|
Valor de atributo que debe coincidir. Esto incluye tanto la asignación absoluta como las expresiones regulares. |
|
|
Nombre del grupo de consumidores asignado o |
Notas de uso
- Si no existe ninguna asignación para el atributo y el valor indicados, se creará una asignación para el grupo de consumidores indicado. Si ya existe una asignación para el atributo y el valor indicados, el grupo de consumidores asignado se actualizará al proporcionado. Si el argumento consumer_group es
NULL, se suprimirá cualquier asignación del atributo y valor proporcionados. - El subprograma soporta expresiones regulares simples para el parámetro value. Implementa la misma semántica que el operador SQL 'LIKE'. En concreto, utiliza '%' como comodín de varios caracteres y '_' como comodín de un solo carácter. El carácter '\' se puede utilizar para escapar de los comodines. Tenga en cuenta que los comodines solo se pueden utilizar si el atributo es uno de los siguientes:
CLIENT_OS_USERCLIENT_PROGRAMCLIENT_MACHINEMODULE_NAMEMODULE_NAME_ACTIONSERVICE_MODULESERVICE_MODULE_ACTION
- Las comparaciones de asignación de grupos de consumidores para
CS_RESOURCE_MANAGER.CLIENT_PROGRAMse realizan mediante la segmentación del signo@y los siguientes caracteres deV$SESSION.PROGRAMantes de compararlo con el valorCLIENT_PROGRAMproporcionado. - Puede utilizar atributos como el nombre de usuario o el nombre de la aplicación para determinar cómo se colocan las sesiones en un grupo de consumidores, como se muestra en el ejemplo anterior.
Ejemplos
BEGIN
-- Map schema APP_USER to OLTP_HIGH
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'APP_USER',
consumer_group => 'OLTP_HIGH');
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'LH_USER',
consumer_group => 'LH_BATCH');
END;
/Tema principal: Paquete CS_RESOURCE_MANAGER
SET_CONSUMER_GROUP_MAPPING_PRI Procedimiento
Se pueden utilizar varios atributos de una sesión para asignar la sesión a un grupo de consumidores. Este procedimiento prioriza las asignaciones de atributos.
Sintaxis
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI(
explicit IN NUMBER,
oracle_user IN NUMBER,
service_name IN NUMBER,
client_program IN NUMBER,
module_name IN NUMBER,
module_name_action IN NUMBER,
client_id IN NUMBER DEFAULT 11);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Prioridad de la asignación explícita. |
|
|
Prioridad de la asignación de nombre de usuario de Oracle. |
|
|
Prioridad de la asignación de nombre de servicio de cliente. |
|
|
Prioridad de la asignación de programa de cliente. |
|
|
Prioridad de la asignación de nombres del módulo de aplicación. |
|
|
Prioridad del nombre del módulo de la aplicación y la asignación de acciones. |
|
|
Identificador de cliente. |
Notas de uso
- Este procedimiento requiere que incluya el pseudoatributo explícito como argumento. Se debe configurar en 1. Indica que los conmutadores explícitos de grupos de consumidores tienen la prioridad más alta. El cambio del grupo de consumidores mediante
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPtendrá prioridad sobre las asignaciones de grupos de consumidores. - Cada valor de prioridad debe ser un entero único de 1 a 11. Juntos, establecen un orden donde 1 es la prioridad más alta y 11 es la más baja.
- Puede utilizar atributos como el nombre de usuario o el nombre de la aplicación para determinar cómo se colocan las sesiones en un grupo de consumidores. Consulte el Paso 4: Creación de asignaciones de grupos de consumidores para ver un ejemplo.
Tema principal: Paquete CS_RESOURCE_MANAGER
SUBMIT_PENDING_AREA Procedimiento
Este procedimiento envía los cambios pendientes para el gestor de recursos. Borra el área pendiente después de validar y confirmar los cambios (si son válidos).
Una llamada a
SUBMIT_PENDING_AREA puede fallar incluso si VALIDATE_PENDING_AREA se realiza correctamente. Esto puede ocurrir si una instancia carga un plan que se está suprimiendo después de la llamada a VALIDATE_PENDING_AREA, pero antes de la llamada a SUBMIT_PENDING_AREA.
Sintaxis
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;Tema principal: Paquete CS_RESOURCE_MANAGER
UPDATE_PLAN_DIRECTIVE Procedimiento
Utilice este procedimiento para actualizar los planes predefinidos por defecto que vienen con Autonomous AI Database, es decir, DWCS_PLAN y OLTP_PLAN para un grupo de consumidores especificado.
No puede utilizar este procedimiento para actualizar la configuración de los planes personalizados. Para actualizar atributos de plan definidos por el usuario personalizados, utilice el procedimiento
UPDATE_PLAN_DIRECTIVE_ADV.
Sintaxis
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group IN VARCHAR2,
io_megabytes_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el grupo de consumidores que se actualizará. Los valores válidos son: |
|
|
Especifica el máximo de megabytes de E/S que puede emitir una operación SQL. Especifique un valor |
|
|
Especifica el tiempo máximo en segundos que se puede ejecutar una operación SQL. Especifique un valor |
|
|
Especifica el valor de los recursos compartidos. Un mayor número de recursos compartidos, en relación con otros grupos de consumidores, aumenta la prioridad de E/S y CPU del grupo de consumidores. |
|
|
Especifica el número máximo de sentencias SQL simultáneas que se pueden ejecutar. Este parámetro solo es válido con el grupo de consumidores |
Notas de uso
-
Cuando una sentencia SQL en el servicio especificado ejecuta más que el límite de tiempo de ejecución especificado (
elapsed_time_limit) o realiza más E/S que la cantidad especificada (io_megabytes_limit), la sentencia SQL se terminará. -
Cuando se especifica el parámetro
concurrency_limit, el único valor válido paraconsumer_groupesMEDIUM.
Ejemplos
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'HIGH',
shares => 8);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'MEDIUM',
shares => 2);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'LOW',
shares => 1);
END;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'HIGH',
io_megabytes_limit => null,
elapsed_time_limit => null);
END;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'MEDIUM',
concurrency_limit => 2);
END;
/
Tema principal: Paquete CS_RESOURCE_MANAGER
UPDATE_PLAN_DIRECTIVE_ADV Procedimiento
Utilice este procedimiento para actualizar el plan de gestor de recursos definido por el usuario para un grupo de consumidores especificado.
No puede utilizar este procedimiento para actualizar los planes predefinidos por defecto que vienen con Autonomous AI Database, es decir,
DWCS_PLAN y OLTP_PLAN. Para actualizar un plan de recursos predeterminado predefinido, utilice el procedimiento UPDATE_PLAN_DIRECTIVE.
Sintaxis
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE_ADV (
plan IN VARCHAR2 DEFAULT NULL,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Nombre del plan de recursos. |
|
|
Nombre del grupo de consumidores. |
|
|
Comentario para la directiva del plan. |
|
|
Porcentaje de asignación de recursos para el grupo de consumidores. Los recursos compartidos determinan la cantidad de recursos de CPU y E/S que obtiene un grupo de consumidores en relación con otros grupos de consumidores. Por ejemplo, un grupo de consumidores con una cuota de 2 obtendrá el doble de recursos de CPU y E/S que un grupo de consumidores con una cuota de 1. Si no especifica acciones para un grupo de consumidores en su plan, el recurso compartido de ese grupo de consumidores se definirá en 1. |
|
|
Límites de recursos que determinan el máximo de recursos de CPU y E/S que puede obtener un grupo de consumidores. |
|
|
Medidas que deben adoptarse al alcanzar cualquiera de los límites especificados en las directivas. Los valores válidos son |
|
|
Tiempo en la CPU (en segundos) que se puede ejecutar una sesión antes de realizar una acción. El valor predeterminado es NULL, lo que significa ilimitado. |
|
|
Cantidad de E/S (en MB) que una sesión puede emitir antes de que se realice una acción. El valor por defecto es |
|
|
Número de solicitudes de E/S que una sesión puede emitir antes de que se realice una acción. El valor por defecto es |
|
|
Número de E/S lógicas que dispararán la acción especificada por |
|
|
Tiempo transcurrido (en segundos) que disparará la acción especificada por |
|
|
Número de segundos que una sesión puede estar inactiva antes de que finalice la sesión. El valor por defecto es |
|
|
Cantidad máxima de tiempo en segundos que una sesión puede estar inactiva antes de que finalice la sesión, si la sesión mantiene un bloqueo o un recurso que necesitan otras sesiones. |
|
|
Número máximo de sesiones que pueden tener simultáneamente una llamada activa. |
|
|
Tiempo especificado (en segundos) tras el cual se agota el tiempo de espera de una llamada en la cola de sesiones inactiva (en espera de ejecución). El valor por defecto es |
|
|
Especifica un límite en el grado de paralelismo para cualquier operación. El valor por defecto es |
|
|
Define el nivel de simultaneidad y, por lo tanto, el grado de paralelismo (DOP). Puede hacer el DOP 1. |
|
|
Cantidad máxima de PGA no ajustable (en MB) que una sesión de este grupo de consumidores puede asignar antes de terminar. Las operaciones SQL que asignan PGA ajustable (operaciones que pueden optar por utilizar espacio temporal) no están controladas por este límite. |
|
|
Especifica el tiempo (en segundos) que una sentencia paralela puede permanecer en la cola de sentencias paralelas de su grupo de consumidores antes de que se elimine y termine con un error (ORA- 07454). |
|
|
Especifica la acción que se debe realizar cuando se elimina una sentencia paralela de la cola debido a Los valores son los siguientes:
|
Notas de uso
- Todos los parámetros, excepto los recursos compartidos, se definen por defecto en
NULL. - Se devuelve un error si se especifica
parallel_queue_timeout_action, pero no se especificaparallel_queue_timeout.
Tema principal: Paquete CS_RESOURCE_MANAGER
VALIDATE_PENDING_AREA Procedimiento
Este procedimiento valida los cambios pendientes para el gestor de recursos.
Sintaxis
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
Tema principal: Paquete CS_RESOURCE_MANAGER