Ensemble CS_RESOURCE_MANAGER
L'ensemble CS_RESOURCE_MANAGER fournit une interface permettant de lister et de mettre à jour les paramètres de groupe de consommateurs et de rétablir les valeurs par défaut des paramètres.
- Procédure CLEAR_PENDING_AREA
Cette procédure efface les modifications en attente pour le gestionnaire de ressources. - Procédure CREATE_CONSUMER_GROUP
Cette procédure définit les groupes de consommateurs de ressources. - Procédure CREATE_PENDING_AREA
Cette procédure crée une zone en attente pour apporter des modifications aux objets du gestionnaire de ressources. - Procédure CREATE_PLAN
Cette procédure crée des entrées qui définissent les plans de ressources. - Procédure CREATE_PLAN_DIRECTIVE
Cette procédure crée des directives de plan de ressources. - Procédure DELETE_CONSUMER_GROUP
Cette procédure supprime les groupes de consommateurs de ressources. - DELETE_PLAN Procédure
Cette procédure supprime le plan spécifié ainsi que toutes les directives de plan auxquelles il fait référence. - Procédure DELETE_PLAN_DIRECTIVE
Cette procédure supprime les directives de plan de ressources. - Fonction LIST_CURRENT_RULES
Cette fonction retourne les paramètres courants pour le plan par défaut. - Fonction LIST_DEFAULT_RULES
Cette fonction retourne les valeurs par défaut pour tous les groupes de consommateurs. - Procédure REVERT_TO_DEFAULT_VALUES
Cette procédure rétablit les propriétés par défaut du plan du gestionnaire de ressources en valeurs par défaut. - Procédure SET_CONSUMER_GROUP_MAPPING
Cette procédure ajoute, supprime ou modifie des entrées qui mappent des sessions à des groupes de consommateurs de ressources, en fonction des attributs de connexion et d'exécution de la session. - Procédure SET_CONSUMER_GROUP_MAPPING_PRI
Plusieurs attributs d'une session peuvent être utilisés pour mapper la session à un groupe de consommateurs de ressources. Cette procédure hiérarchise les mappages d'attributs. - Procédure SUBMIT_PENDING_AREA
Cette procédure soumet les modifications en attente pour le gestionnaire de ressources. Elle efface la zone d'attente après avoir validé et validé les modifications (si elles sont valides). - Procédure UPDATE_PLAN_DIRECTIVE
Utilisez cette procédure pour mettre à jour les plans prédéfinis par défaut fournis avec Autonomous AI Database, c'est-à-direDWCS_PLANetOLTP_PLANpour un groupe de consommateurs de ressources spécifié. - Procédure UPDATE_PLAN_DIRECTIVE_ADV
Utilisez cette procédure pour mettre à jour le plan de gestionnaire de ressources défini par l'utilisateur pour un groupe de consommateurs de ressources spécifié. - Procédure VALIDATE_PENDING_AREA
Cette procédure valide les modifications en attente pour le gestionnaire de ressources.
CLEAR_PENDING_AREA Procédure
Cette procédure efface les modifications en attente pour le gestionnaire de ressources.
Syntaxe
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
CREATE_CONSUMER_GROUP Procédure
Cette procédure définit les groupes de consommateurs de ressources.
Syntaxe
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du groupe de consommateurs |
|
|
Commentaires utilisateur |
Notes d'utilisation
Vous pouvez déterminer comment les sessions sont placées dans des groupes de consommateurs de ressources :
-
Affectation de chaîne de connexion : Spécifiez
CONSUMER_GROUPdans la chaîne de connexion à la base de données, comme indiqué ci-dessous. Cette approche a priorité sur le mappage et remplacera tous les mappages définis.(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))) -
Règles de mappage : Utilisez les sous-programmes
set_consumer_group_mappingetset_consumer_group_mapping_pripour affecter des sessions ou des applications à des groupes de consommateurs de ressources en fonction d'attributs tels que le nom d'utilisateur ou le nom d'application.
Exemples
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;
/Rubrique parent : Ensemble CS_RESOURCE_MANAGER
CREATE_PENDING_AREA Procédure
Cette procédure crée une zone d'attente pour apporter des modifications aux objets du gestionnaire de ressources.
La zone en attente peut être considérée comme une zone à gratter pour les modifications de schéma de plan. L'administrateur crée cette zone d'attente, apporte les modifications nécessaires, valide éventuellement ces modifications, et seulement lorsque la soumission est terminée, ces modifications deviennent actives.
Syntaxe
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;Notes d'utilisation
Vous pouvez, à tout moment pendant que la zone en attente est active, afficher le schéma de plan courant avec vos modifications en effectuant une sélection dans les vues utilisateur appropriées. Pour plus de détails, voir Consultation de la configuration et du statut du gestionnaire de ressources de base de données.
À tout moment, vous pouvez effacer la zone en attente si vous souhaitez arrêter les modifications en cours. Vous pouvez également appeler la procédure VALIDATE pour vérifier si les modifications que vous avez apportées sont valides. Vous n'avez pas besoin d'effectuer vos modifications dans un ordre donné pour maintenir un groupe cohérent d'entrées. Ces vérifications sont également effectuées implicitement lorsque la zone en attente est soumise.
Oracle autorise les groupes de consommateurs de ressources "orphelins" (en d'autres termes, les groupes de consommateurs de ressources qui n'ont aucune directive de plan qui les référence). Un administrateur peut vouloir créer un groupe de consommateurs de ressources qui n'est pas en cours d'utilisation, mais qui sera utilisé ultérieurement.
- Aucun schéma de plan ne peut contenir de boucles.
- Tous les régimes et groupes de consommateurs visés par les directives du régime doivent exister.
- Tous les régimes doivent avoir des directives qui font référence à des régimes ou à des groupes de consommateurs de ressources.
- La somme de tous les pourcentages d'un niveau donné ne doit pas dépasser 100 pour la méthode d'affectation des ressources de priorité.
- Aucun plan ne peut être supprimé qui est actuellement utilisé en tant que plan supérieur par une instance active.
- Il ne peut pas y avoir plus de 28 directives de plan provenant d'un plan donné (c'est-à-dire qu'aucun plan ne peut avoir plus de 28 enfants).
- Il ne peut pas y avoir plus de 28 groupes de consommateurs de ressources dans un schéma de plan actif.
- Les plans et les groupes de consommateurs de ressources utilisent le même espace de noms. Par conséquent, aucun plan ne peut avoir le même nom que n'importe quel groupe de consommateurs de ressources.
- Il doit y avoir une directive de plan pour
OTHER_GROUPSquelque part dans un schéma de plan actif. Ainsi, les ressources affectées à une session non couverte par le plan actuellement actif sont définies par la directiveOTHER_GROUPS.
Si l'une des règles précédentes est rompue lors de la vérification par les procédures VALIDATE ou SUBMIT, un message d'erreur informatif est retourné. Vous pouvez ensuite apporter des modifications pour résoudre un ou plusieurs problèmes et réémettre les procédures de validation ou de soumission.
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
CREATE_PLAN Procédure
Cette procédure crée des entrées qui définissent les plans de ressources.
Syntaxe
CS_RESOURCE_MANAGER.CREATE_PLAN (
plan IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du plan de ressources |
|
|
Commentaires utilisateur |
Exemple
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/Rubrique parent : Ensemble CS_RESOURCE_MANAGER
CREATE_PLAN_DIRECTIVE Procédure
Cette procédure crée des directives de plan d'allocation de ressources.
Syntaxe
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);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du plan de ressources |
|
|
Nom du groupe de consommateurs |
|
|
Commentaire pour la directive du plan |
|
|
Part de l'affectation des ressources pour le groupe de consommateurs. Les partages déterminent la quantité de CPU et d'E/S qu'un groupe de consommateurs obtient par rapport aux autres groupes de consommateurs. Par exemple, un groupe de consommateurs avec une part de 2 recevra deux fois plus de ressources d'UC et d'E/S qu'un groupe de consommateurs avec une part de 1. Si vous ne spécifiez pas d'actions pour un groupe de consommateurs dans votre plan, la part de ce groupe de consommateurs sera réglée à 1. |
|
|
Limites des ressources qui déterminent le nombre maximal de ressources d'UC et d'E/S qu'un groupe de consommateurs peut obtenir. |
|
|
Mesures à prendre en vue d'atteindre l'une des limites spécifiées dans les directives. Les valeurs valides sont |
|
|
Temps sur l'UC (en secondes) qu'une session peut exécuter avant qu'une action ne soit effectuée. La valeur par défaut est |
|
|
Quantité d'E/S (en Mo) qu'une session peut émettre avant qu'une action ne soit prise. La valeur par défaut est |
io_reqs_limit |
Nombre de demandes d'E/S qu'une session peut émettre avant qu'une action ne soit prise. La valeur par défaut est |
io_logical_limit |
Nombre d'E/S logiques qui déclencheront l'action spécifiée par |
elapsed_time_limit |
Temps écoulé (en secondes) pour déclencher l'action spécifiée par |
max_idle_time |
Nombre de secondes pendant lesquelles une session peut être inactive avant son arrêt. La valeur par défaut est |
max_idle_blocker_time |
Durée maximale en secondes pendant laquelle une session peut être inactive avant son arrêt, si la session est verrouillée ou si une ressource est requise par d'autres sessions. |
active_session_limit |
Nombre maximal de sessions pouvant avoir simultanément un appel actif. |
active_session_timeout |
Temps spécifié (en secondes) après lequel un appel dans la file d'attente de session inactive (en attente d'exécution) expire. La valeur par défaut est |
parallel_degree_limit |
Spécifie une limite sur le degré de parallélisme pour toute opération. La valeur par défaut est |
concurrency_limit |
Définit le niveau d'accès simultané, et donc le degré de parallélisme (DOP). Il peut faire le DOP 1. |
session_pga_limit |
Quantité maximale de mémoire PGA non réglable (en Mo) qu'une session de ce groupe de consommateurs de ressources peut allouer avant d'être arrêtée. Les opérations SQL qui allouent une mémoire PGA ajustable (opérations qui peuvent choisir d'utiliser de l'espace temporaire) ne sont pas contrôlées par cette limite. |
parallel_queue_timeout |
Indique le temps (en secondes) pendant lequel une instruction parallèle peut rester dans la file d'attente d'instructions parallèles de son groupe de consommateurs de ressources avant d'être supprimée et terminée avec une erreur (ORA-07454). |
parallel_queue_timeout_action |
Spécifie l'action à effectuer lorsqu'un énoncé parallèle est supprimé de la file d'attente en raison de Les valeurs sont :
|
Notes d'utilisation
- Vous ne pouvez pas créer de directives de plan sur les plans prédéfinis par défaut fournis avec Autonomous AI Database, c'est-à-dire
DWCS_PLANetOLTP_PLAN. - Tous les paramètres, à l'exception des partages, sont réglés par défaut à
NULL. - Une erreur est générée si
parallel_queue_timeoutest spécifié, maisparallel_queue_timeout_actionn'est pas spécifié.
Exemples
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;
/Rubrique parent : Ensemble CS_RESOURCE_MANAGER
DELETE_CONSUMER_GROUP Procédure
Cette procédure supprime les groupes de consommateurs de ressources.
Syntaxe
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group IN VARCHAR2);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du groupe de consommateurs à supprimer. Note
Vous ne pouvez pas supprimer les groupes de consommateurs prédéfinis fournis avec Autonomous AI Database, c'est-à-dire TPURGENT, TP, HIGH, MEDIUM et LOW. |
Exemples
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);Rubrique parent : Ensemble CS_RESOURCE_MANAGER
DELETE_PLAN Procédure
Cette procédure supprime le plan spécifié ainsi que toutes les directives de plan auxquelles il fait référence.
Syntaxe
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan IN VARCHAR2,
cascade IN BOOLEAN DEFAULT FALSE); Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du plan de ressources à supprimer. Note
Vous ne pouvez pas supprimer les plans prédéfinis fournis avec Autonomous AI Database, c'est-à-dire DWCS_PLAN et OLTP_PLAN.
|
cascade |
Indicateur précisant s'il faut supprimer le régime spécifié et tous ses descendants (directives de régime, spécialisations, groupes de consommateurs de ressources). Les objets et directives obligatoires ne sont pas supprimés. Valeur par défaut : DELETE_PLAN rencontre une erreur, l'opération est annulée et rien n'est supprimé.
|
Exemple
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan ==> <plan_name>);Rubrique parent : Ensemble CS_RESOURCE_MANAGER
DELETE_PLAN_DIRECTIVE Procédure
Cette procédure supprime les directives du plan d'allocation de ressources.
Syntaxe
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du plan de ressources Note
Vous ne pouvez pas supprimer les directives de plan sur les plans prédéfinis par défaut fournis avec Autonomous AI Database, c'est-à-dire DWCS_PLAN et OLTP_PLAN.
|
consumer_group |
Nom du groupe de consommateurs. |
Exemple
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
Fonction LIST_CURRENT_RULES
Cette fonction retourne les paramètres courants pour le plan par défaut.
LIST_CURRENT_RULES ne peut pas être utilisé pour voir les paramètres des plans personnalisés. Si vous utilisez des plans personnalisés, vous pouvez utiliser les vues DBRM pour voir vos paramètres.
Syntaxe
CS_RESOURCE_MANAGER.LIST_CURRENT_RULES
RETURN TABLE;
Exemple
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
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
Fonction LIST_DEFAULT_RULES
Cette fonction retourne les valeurs par défaut pour tous les groupes de consommateurs de ressources.
Syntaxe
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;Note d'utilisation
-
Par défaut, la valeur de la politique de degré parallèle est
MANUALpour le groupe de consommateursTPURGENT. La fonctionCS_RESOURCE_MANAGER.LIST_DEFAULT_RULESn'affiche aucune valeur pour la valeur par défaut deDEGREE_OF_PARALLELISMpour le groupe de consommateursTPURGENT.
Exemple
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
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
REVERT_TO_DEFAULT_VALUES Procédure
Cette procédure rétablit les valeurs par défaut des propriétés de plan du gestionnaire de ressources.
Vous ne pouvez pas utiliser cette procédure avec des plans personnalisés et elle ne peut être utilisée que pour rétablir les modifications apportées aux plans de gestionnaire de ressources par défaut fournis avec Autonomous AI Database, c'est-à-dire
DWCS_PLAN et OLTP_PLAN.
Syntaxe
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group IN VARCHAR2,
shares IN BOOLEAN DEFAULT FALSE,
concurrency_limit IN BOOLEAN DEFAULT FALSE);Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le groupe de consommateurs à rétablir. Les valeurs valides sont : |
shares |
Lorsque la valeur est |
concurrency_limit |
Lorsque la valeur est |
Exemples
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;
/
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
SET_CONSUMER_GROUP_MAPPING Procédure
Cette procédure ajoute, supprime ou modifie des entrées qui mappent des sessions à des groupes de consommateurs de ressources, en fonction des attributs de connexion et d'exécution de la session.
Syntaxe
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);Paramètres
| Paramètre | Description |
|---|---|
|
|
Attribut de mappage à ajouter ou à modifier. Il peut s'agir de l'une des constantes listées. |
|
|
Valeur d'attribut à mettre en correspondance. Cela inclut à la fois le mapping absolu et les expressions rationnelles. |
|
|
Nom du groupe de consommateurs mappé, ou |
Notes d'utilisation
- Si aucun mappage n'existe pour l'attribut et la valeur indiqués, un mappage au groupe de consommateurs de ressources indiqué sera créé. Si un mappage existe déjà pour l'attribut et la valeur indiqués, le groupe de consommateurs de ressources mappé sera mis à jour à celui indiqué. Si l'argument consumer_group est
NULL, tout mappage de l'attribut et de la valeur indiqués sera supprimé. - Le sous-programme prend en charge les expressions rationnelles simples pour le paramètre de valeur. Il implémente la même sémantique que l'opérateur SQL 'LIKE'. Plus précisément, il utilise '%' comme caractère générique à plusieurs caractères et '_' comme caractère générique à un seul caractère. Le caractère '\' peut être utilisé pour échapper aux caractères génériques. Notez que les caractères génériques ne peuvent être utilisés que si l'attribut est l'un des suivants :
CLIENT_OS_USERCLIENT_PROGRAMCLIENT_MACHINEMODULE_NAMEMODULE_NAME_ACTIONSERVICE_MODULESERVICE_MODULE_ACTION
- Les comparaisons de mappage de groupe de consommateurs pour
CS_RESOURCE_MANAGER.CLIENT_PROGRAMsont effectuées en supprimant le signe@et les caractères suivants deV$SESSION.PROGRAMavant de les comparer à la valeurCLIENT_PROGRAMfournie. - Vous pouvez utiliser des attributs tels que le nom utilisateur ou le nom d'application pour déterminer comment les sessions sont placées dans un groupe de consommateurs de ressources, comme illustré dans l'exemple ci-dessus.
Exemples
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;
/Rubrique parent : Ensemble CS_RESOURCE_MANAGER
SET_CONSUMER_GROUP_MAPPING_PRI Procédure
Plusieurs attributs d'une session peuvent être utilisés pour mapper la session à un groupe de consommateurs de ressources. Cette procédure hiérarchise les mappages d'attributs.
Syntaxe
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);Paramètres
| Paramètre | Description |
|---|---|
|
|
Priorité du mappage explicite. |
|
|
Priorité du mappage de nom d'utilisateur Oracle. |
|
|
Priorité du mappage de nom de service client. |
|
|
Priorité du mappage de programme client. |
|
|
Priorité du mappage de nom de module d'application. |
|
|
Priorité du nom du module d'application et du mappage d'actions. |
|
|
Identificateur de client. |
Notes d'utilisation
- Cette procédure nécessite que vous incluiez le pseudo-attribut explicite en tant qu'argument. Il doit être réglé à 1. Il indique que les commutateurs de groupe de consommateurs de ressources explicites ont la priorité la plus élevée. Le changement de groupe de consommateurs à l'aide de
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPaura préséance sur les mappages de groupe de consommateurs. - Chaque valeur de priorité doit être un entier unique compris entre 1 et 11. Ensemble, ils établissent un ordre où 1 est la priorité la plus élevée et 11 la plus faible.
- Vous pouvez utiliser des attributs tels que le nom utilisateur ou le nom d'application pour déterminer comment les sessions sont placées dans un groupe de consommateurs de ressources. Voir Étape 4 : Créer des mappages de groupes de consommateurs pour un exemple.
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
SUBMIT_PENDING_AREA Procédure
Cette procédure soumet les modifications en attente pour le gestionnaire de ressources. Elle efface la zone d'attente après avoir validé et validé les modifications (si elles sont valides).
Un appel à
SUBMIT_PENDING_AREA peut échouer même si VALIDATE_PENDING_AREA réussit. Cela peut se produire si un plan en cours de suppression est chargé par une instance après l'appel à VALIDATE_PENDING_AREA, mais avant l'appel à SUBMIT_PENDING_AREA.
Syntaxe
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;Rubrique parent : Ensemble CS_RESOURCE_MANAGER
UPDATE_PLAN_DIRECTIVE Procédure
Utilisez cette procédure pour mettre à jour les plans prédéfinis par défaut fournis avec Autonomous AI Database, c'est-à-dire DWCS_PLAN et OLTP_PLAN pour un groupe de consommateurs de ressources spécifié.
Vous ne pouvez pas utiliser cette procédure pour mettre à jour les paramètres des plans personnalisés. Pour mettre à jour des attributs de plan personnalisés définis par l'utilisateur, utilisez la procédure
UPDATE_PLAN_DIRECTIVE_ADV.
Syntaxe
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);Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le groupe de consommateurs à mettre à jour. Les valeurs valides sont : |
|
|
Spécifie le nombre maximal de mégaoctets d'E/S qu'une opération SQL peut émettre. Spécifiez une valeur |
|
|
Spécifie la durée maximale en secondes pendant laquelle une opération SQL peut être exécutée. Spécifiez une valeur |
|
|
Indique la valeur des actions. Un nombre plus élevé de partages, par rapport aux autres groupes de consommateurs, augmente la priorité CPU et E/S du groupe de consommateurs. |
|
|
Indique le nombre maximal d'énoncés SQL concurrents pouvant être exécutés. Ce paramètre n'est valide qu'avec le groupe de consommateurs |
Notes d'utilisation
-
Lorsqu'un énoncé SQL dans le service spécifié s'exécute plus que la limite d'exécution spécifiée (
elapsed_time_limit) ou effectue plus d'E/S que le montant spécifié (io_megabytes_limit), l'énoncé SQL est arrêté. -
Lorsque le paramètre
concurrency_limitest spécifié, la seule valeur valide pourconsumer_groupestMEDIUM.
Exemples
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;
/
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
UPDATE_PLAN_DIRECTIVE_ADV Procédure
Utilisez cette procédure pour mettre à jour le plan de gestionnaire de ressources défini par l'utilisateur pour un groupe de consommateurs de ressources spécifié.
Vous ne pouvez pas utiliser cette procédure pour mettre à jour les plans prédéfinis par défaut fournis avec Autonomous AI Database, c'est-à-dire
DWCS_PLAN et OLTP_PLAN. Pour mettre à jour un plan de ressources par défaut prédéfini, utilisez la procédure UPDATE_PLAN_DIRECTIVE.
Syntaxe
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);Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom du plan de ressources |
|
|
Nom du groupe de consommateurs. |
|
|
Commentaire pour la directive du plan. |
|
|
Part de l'affectation des ressources pour le groupe de consommateurs. Les partages déterminent la quantité de CPU et d'E/S qu'un groupe de consommateurs obtient par rapport aux autres groupes de consommateurs. Par exemple, un groupe de consommateurs avec une part de 2 recevra deux fois plus de ressources d'UC et d'E/S qu'un groupe de consommateurs avec une part de 1. Si vous ne spécifiez pas d'actions pour un groupe de consommateurs dans votre plan, la part de ce groupe de consommateurs sera réglée à 1. |
|
|
Limites des ressources qui déterminent le nombre maximal de ressources d'UC et d'E/S qu'un groupe de consommateurs peut obtenir. |
|
|
Mesures à prendre en vue d'atteindre l'une des limites spécifiées dans les directives. Les valeurs valides sont |
|
|
Temps sur l'UC (en secondes) qu'une session peut exécuter avant qu'une action ne soit effectuée. La valeur par défaut est NULL, ce qui signifie illimité. |
|
|
Quantité d'E/S (en Mo) qu'une session peut émettre avant qu'une action ne soit prise. La valeur par défaut est |
|
|
Nombre de demandes d'E/S qu'une session peut émettre avant qu'une action ne soit prise. La valeur par défaut est |
|
|
Nombre d'E/S logiques qui déclencheront l'action spécifiée par |
|
|
Temps écoulé (en secondes) pour déclencher l'action spécifiée par |
|
|
Nombre de secondes pendant lesquelles une session peut être inactive avant son arrêt. La valeur par défaut est |
|
|
Durée maximale en secondes pendant laquelle une session peut être inactive avant son arrêt, si la session est verrouillée ou si une ressource est requise par d'autres sessions. |
|
|
Nombre maximal de sessions pouvant avoir simultanément un appel actif. |
|
|
Temps spécifié (en secondes) après lequel un appel dans la file d'attente de session inactive (en attente d'exécution) expire. La valeur par défaut est |
|
|
Spécifie une limite sur le degré de parallélisme pour toute opération. La valeur par défaut est |
|
|
Définit le niveau d'accès simultané, et donc le degré de parallélisme (DOP). Il peut faire le DOP 1. |
|
|
Quantité maximale de mémoire PGA non réglable (en Mo) qu'une session de ce groupe de consommateurs de ressources peut allouer avant d'être arrêtée. Les opérations SQL qui allouent une mémoire PGA ajustable (opérations qui peuvent choisir d'utiliser de l'espace temporaire) ne sont pas contrôlées par cette limite. |
|
|
Indique le temps (en secondes) pendant lequel une instruction parallèle peut rester dans la file d'attente d'instructions parallèles de son groupe de consommateurs de ressources avant d'être supprimée et terminée avec une erreur (ORA-07454). |
|
|
Spécifie l'action à effectuer lorsqu'un énoncé parallèle est supprimé de la file d'attente en raison de Les valeurs sont :
|
Notes d'utilisation
- Tous les paramètres, à l'exception des partages, sont réglés par défaut à
NULL. - Une erreur est générée si
parallel_queue_timeout_actionest spécifié, maisparallel_queue_timeoutn'est pas spécifié.
Rubrique parent : Ensemble CS_RESOURCE_MANAGER
VALIDATE_PENDING_AREA Procédure
Cette procédure valide les modifications en attente pour le gestionnaire de ressources.
Syntaxe
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
Rubrique parent : Ensemble CS_RESOURCE_MANAGER