Package CS_RESOURCE_MANAGER
Le package CS_RESOURCE_MANAGER fournit une interface permettant de répertorier et de mettre à jour les paramètres de groupe de consommateurs de ressources, et de rétablir les valeurs par défaut des paramètres.
- CLEAR_PENDING_AREA Procédure
Cette procédure efface les modifications en attente pour le gestionnaire de ressources. - CREATE_CONSUMER_GROUP Procédure
Cette procédure définit les groupes de consommateurs de ressources. - CREATE_PENDING_AREA Procédure
Cette procédure crée une zone d'attente pour apporter des modifications aux objets du gestionnaire de ressources. - CREATE_PLAN Procédure
Cette procédure crée des entrées qui définissent les plans d'allocation de ressources. - CREATE_PLAN_DIRECTIVE Procédure
Cette procédure crée des directives de plan d'allocation 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 indiqué ainsi que toutes les directives de plan auxquelles il fait référence. - DELETE_PLAN_DIRECTIVE Procédure
Cette procédure supprime les directives de plan d'allocation de ressources. - LIST_CURRENT_RULES Fonction
Cette fonction renvoie les paramètres actuels du plan par défaut. - LIST_DEFAULT_RULES Fonction
Cette fonction renvoie les valeurs par défaut de tous les groupes de consommateurs de ressources. - 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. - SET_CONSUMER_GROUP_MAPPING Procédure
Cette procédure ajoute, supprime ou modifie les entrées qui mettent en correspondance des sessions avec des groupes de consommateurs de ressources, en fonction des attributs de connexion et d'exécution de la session. - SET_CONSUMER_GROUP_MAPPING_PRI Procédure
Plusieurs attributs d'une session peuvent être utilisés pour mettre en correspondance la session avec un groupe de consommateurs de ressources. Cette procédure hiérarchise les mappages d'attributs. - SUBMIT_PENDING_AREA Procédure
Cette procédure soumet les modifications en attente pour le gestionnaire de ressources. Il 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 la base de données Autonomous AI, à savoirDWCS_PLANetOLTP_PLANpour un groupe de destinataires spécifié. - UPDATE_PLAN_DIRECTIVE_ADV Procédure
Cette procédure permet de mettre à jour le plan de gestion des ressources défini par l'utilisateur pour un groupe de consommateurs de ressources spécifié. - VALIDATE_PENDING_AREA Procédure
Cette procédure valide les modifications en attente pour le gestionnaire de ressources.
Rubrique parent : Référence de package fourni par la base de données Autonomous AI
Procédure CLEAR_PENDING_AREA
Cette procédure efface les modifications en attente pour le gestionnaire de ressources.
Syntaxe
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure CREATE_CONSUMER_GROUP
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 de ressources |
|
|
Commentaire de l'utilisateur |
Notes d'utilisation
Vous pouvez déterminer la façon dont les sessions sont placées dans les groupes de consommateurs de ressources via :
-
Attribution de chaîne de connexion : indiquez
CONSUMER_GROUPdans la chaîne de connexion à la base de données, comme indiqué ci-dessous. Cette approche est prioritaire sur le mapping et remplacera tous les mappings 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 mise en correspondance : 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 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 : Package CS_RESOURCE_MANAGER
Procédure CREATE_PENDING_AREA
Cette procédure crée une zone d'attente pour apporter des modifications aux objets du gestionnaire de ressources.
La zone d'attente peut être considérée comme une zone de travail 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 ce n'est que lorsque la soumission est terminée que ces modifications deviennent actives.
Syntaxe
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;Notes d'utilisation
Vous pouvez, à tout moment pendant que la zone d'attente est active, afficher le schéma de plan en cours avec vos modifications en sélectionnant l'une des vues utilisateur appropriées. Pour plus d'informations, reportez-vous à Visualisation de la configuration et du statut de Database Resource Manager.
A tout moment, vous pouvez effacer la zone d'attente si vous souhaitez arrêter les modifications en cours. Vous pouvez également appeler la procédure VALIDATE pour vérifier que 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 contrôles sont également implicitement effectués 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 pas de directives de plan qui y font référence). Un administrateur peut alors 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 plans et groupes de consommateurs de ressources auxquels les directives de plan font référence doivent exister.
- Tous les plans doivent avoir des directives de plan qui font référence à des plans ou à des groupes de consommateurs de ressources.
- Tous les pourcentages d'un niveau donné ne doivent pas être supérieurs à 100 pour la méthode d'allocation des ressources de mise en évidence.
- Aucun plan en cours d'utilisation en tant que plan principal par une instance active ne peut être supprimé.
- Il ne peut y avoir plus de 28 directives de régime provenant d'un régime donné (c'est-à-dire qu'aucun régime ne peut avoir plus de 28 enfants).
- Il ne peut y avoir plus de 28 groupes de consommateurs de ressources dans aucun 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 porter le même nom qu'un groupe de consommateurs de ressources.
- Une directive de plan doit exister pour
OTHER_GROUPSdans n'importe quel schéma de plan actif. Cela garantit qu'une session qui n'est pas couverte par le plan actuellement actif reçoit les ressources spécifiées par la directiveOTHER_GROUPS.
Si l'une des règles précédentes est rompue lorsque la vérification est effectuée par les procédures VALIDATE ou SUBMIT, un message d'erreur informatif est renvoyé. 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 : Package CS_RESOURCE_MANAGER
Procédure CREATE_PLAN
Cette procédure crée des entrées qui définissent les plans d'allocation 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 |
|
|
Commentaire de l'utilisateur |
Exemple
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure CREATE_PLAN_DIRECTIVE
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 de ressources |
|
|
Commentaire pour la directive du plan |
|
|
Part de l'allocation des ressources pour le groupe de consommateurs. Les partages déterminent la quantité de ressources d'UC et d'E/S qu'un groupe de consommateurs obtient par rapport aux autres groupes de consommateurs. Par exemple, un groupe de consommateurs de ressources avec une part de 2 obtiendra deux fois plus de ressources d'UC et d'E/S qu'un groupe de consommateurs de ressources avec une part de 1. Si vous ne spécifiez pas de partages pour un groupe de consommateurs de ressources dans votre plan, le partage de ce groupe de consommateurs de ressources sera défini sur 1. |
|
|
Limites de ressources qui déterminent le nombre maximal de ressources d'E/S et de CPU qu'un groupe de consommateurs de ressources peut obtenir. |
|
|
Mesures à prendre pour 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 entreprise. 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 effectuée. La valeur par défaut est |
io_logical_limit |
Nombre d'E/S logiques qui déclencheront l'action indiquée par |
elapsed_time_limit |
Temps écoulé (en secondes) qui déclenche l'action indiquée par |
max_idle_time |
Nombre de secondes pendant lesquelles une session peut être inactive avant la fin de la session. La valeur par défaut est |
max_idle_blocker_time |
Durée maximale (en secondes) pendant laquelle une session peut être inactive avant la fin de la session, si la session contient un verrou ou une ressource nécessaire à d'autres sessions. |
active_session_limit |
Nombre maximal de sessions pouvant simultanément avoir un appel actif. |
active_session_timeout |
Délai 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 |
Indique le degré de parallélisme maximal pour toute opération. La valeur par défaut est |
concurrency_limit |
Définit le niveau de simultanéité 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 la mémoire PGA réglable (opérations pouvant choisir d'utiliser l'espace temporaire) ne sont pas contrôlées par cette limite. |
parallel_queue_timeout |
Indique la durée (en secondes) pendant laquelle une instruction parallèle peut rester dans la file d'attente des instructions parallèles de son groupe de consommateurs de ressources avant qu'elle ne soit supprimée et interrompue par une erreur (ORA-07454). |
parallel_queue_timeout_action |
Indique l'action à effectuer lorsqu'une instruction parallèle est enlevée de la file d'attente en raison de Les valeurs disponibles sont les suivantes :
|
Notes d'utilisation
- Vous ne pouvez pas créer de directives de plan sur les plans prédéfinis par défaut fournis avec la base de données Autonomous AI, à savoir
DWCS_PLANetOLTP_PLAN. - Tous les paramètres sauf les partages sont définis par défaut sur
NULL. - Une erreur est générée si
parallel_queue_timeoutest indiqué, mais queparallel_queue_timeout_actionn'est pas indiqué.
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 : Package CS_RESOURCE_MANAGER
Procédure DELETE_CONSUMER_GROUP
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 du consommateur à supprimer. Remarque
Vous ne pouvez pas supprimer les groupes de consommateurs de ressources prédéfinis fournis avec Autonomous Database, à savoir TPURGENT, TP, HIGH, MEDIUM et LOW. |
Exemples
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure DELETE_PLAN
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. Remarque
Vous ne pouvez pas supprimer les plans prédéfinis qui sont fournis avec Autonomous Database, à savoir DWCS_PLAN et OLTP_PLAN.
|
cascade |
Indicateur signalant si le plan spécifié et tous ses descendants doivent être supprimés (directives de plan, options, groupes de consommateurs de ressources). Les objets et directives obligatoires ne sont pas supprimés. La valeur par défaut est 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 : Package CS_RESOURCE_MANAGER
Procédure DELETE_PLAN_DIRECTIVE
Cette procédure supprime les directives de 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. Remarque
Vous ne pouvez pas supprimer de directives de plan sur les plans prédéfinis par défaut fournis avec Autonomous Database, à savoir DWCS_PLAN et OLTP_PLAN.
|
consumer_group |
Nom du groupe de consommateurs de ressources. |
Exemple
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
Rubrique parent : Package CS_RESOURCE_MANAGER
Fonction LIST_CURRENT_RULES
Cette fonction renvoie les paramètres actuels du plan par défaut.
LIST_CURRENT_RULES ne peut pas être utilisé pour visualiser les paramètres des plans personnalisés. Si vous utilisez des plans personnalisés, vous pouvez utiliser les vues DBRM pour visualiser 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 : Package CS_RESOURCE_MANAGER
Fonction LIST_DEFAULT_RULES
Cette fonction renvoie les valeurs par défaut de tous les groupes de consommateurs de ressources.
Syntaxe
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;Remarque sur l'utilisation
-
Par défaut, la valeur de stratégie de degré parallèle est
MANUALpour le groupe de consommateurs de ressourcesTPURGENT. La fonctionCS_RESOURCE_MANAGER.LIST_DEFAULT_RULESn'affiche aucune valeur pour la valeur par défaut deDEGREE_OF_PARALLELISMpour le groupe de consommateurs de ressourcesTPURGENT.
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 : Package CS_RESOURCE_MANAGER
Procédure REVERT_TO_DEFAULT_VALUES
Cette procédure rétablit les valeurs par défaut des propriétés du plan du gestionnaire de ressources.
Vous ne pouvez pas utiliser cette procédure avec des plans personnalisés et elle peut uniquement être utilisée pour rétablir les modifications apportées aux plans de gestionnaire de ressources par défaut fournis avec Autonomous Database, à savoir
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 de ressources à 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 : Package CS_RESOURCE_MANAGER
Procédure SET_CONSUMER_GROUP_MAPPING
Cette procédure ajoute, supprime ou modifie les entrées qui mettent en correspondance des sessions avec 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 mapping à ajouter ou modifier. Il peut s'agir de l'une des constantes répertoriées. |
|
|
Valeur d'attribut à mettre en correspondance. Cela inclut à la fois le mapping absolu et les expressions régulières. |
|
|
Nom du groupe de consommateurs de ressources mis en correspondance, ou |
Notes d'utilisation
- S'il n'existe aucun mapping pour l'attribut et la valeur indiqués, un mapping avec le groupe de consommateurs de ressources indiqué est créé. Si un mappage existe déjà pour l'attribut et la valeur indiqués, le groupe de consommateurs de ressources mappé est mis à jour sur celui indiqué. Si l'argument consumer_group est
NULL, toute correspondance de l'attribut et de la valeur indiqués sera supprimée. - Le sous-programme prend en charge les expressions régulières simples pour le paramètre value. 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 quitter les 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 mise en correspondance de groupes de destinataires pour
CS_RESOURCE_MANAGER.CLIENT_PROGRAMsont effectuées en supprimant le signe@et les caractères suivants deV$SESSION.PROGRAMavant de le comparer à la valeurCLIENT_PROGRAMfournie. - Vous pouvez utiliser des attributs tels que le nom utilisateur ou le nom de l'application pour déterminer comment les sessions sont placées dans un groupe de consommateurs de ressources, comme indiqué 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 : Package CS_RESOURCE_MANAGER
Procédure SET_CONSUMER_GROUP_MAPPING_PRI
Plusieurs attributs d'une session peuvent être utilisés pour mettre en correspondance la session avec 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 mapping explicite. |
|
|
Priorité du mappage des noms d'utilisateur Oracle. |
|
|
Priorité du mappage du nom du service client. |
|
|
Priorité du mappage du programme client. |
|
|
Priorité du mappage du nom du module d'application. |
|
|
Priorité du mappage du nom et de l'action du module d'application. |
|
|
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é sur 1. Elle indique que les commutateurs de groupe de consommateurs de ressources explicites ont la priorité la plus élevée. Le changement de groupe de consommateurs de ressources à l'aide de
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPprévaut sur les mappings de groupe de consommateurs de ressources. - 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 basse.
- Vous pouvez utiliser des attributs tels que le nom utilisateur ou le nom de l'application pour déterminer la façon dont les sessions sont placées dans un groupe de consommateurs de ressources. Pour obtenir un exemple, reportez-vous à l'Step 4 : Create Consumer Group Mappings.
Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure SUBMIT_PENDING_AREA
Cette procédure soumet les modifications en attente pour le gestionnaire de ressources. Il efface la zone d'attente après avoir validé et validé les modifications (si elles sont valides).
Un appel vers
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 vers VALIDATE_PENDING_AREA, mais avant l'appel vers SUBMIT_PENDING_AREA.
Syntaxe
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure UPDATE_PLAN_DIRECTIVE
Utilisez cette procédure pour mettre à jour les plans prédéfinis par défaut fournis avec la base de données Autonomous AI, c'est-à-dire DWCS_PLAN et OLTP_PLAN pour un groupe de destinataires 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 de ressources à mettre à jour. Les valeurs valides sont : |
|
|
Indique le nombre maximal de mégaoctets d'E/S qu'une opération SQL peut émettre. Indiquez une valeur |
|
|
Indique la durée maximale en secondes pendant laquelle une opération SQL peut être exécutée. Indiquez une valeur |
|
|
Spécifie la valeur des partages. Par rapport aux autres groupes de consommateurs de ressources, un nombre plus élevé de partages augmente la priorité d'E/S et de CPU du groupe. |
|
|
Indique le nombre maximal d'instructions SQL simultanées pouvant être exécutées. Ce paramètre est valide uniquement avec le groupe de consommateurs de ressources |
Notes d'utilisation
-
Lorsqu'une instruction SQL dans le service indiqué s'exécute plus que la limite d'exécution indiquée (
elapsed_time_limit) ou effectue plus d'E/S que la quantité indiquée (io_megabytes_limit), l'instruction SQL prend fin. -
Lorsque le paramètre
concurrency_limitest indiqué, 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 : Package CS_RESOURCE_MANAGER
Procédure UPDATE_PLAN_DIRECTIVE_ADV
Cette procédure permet de mettre à jour le plan de gestion des 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 Database, c'est-à-dire
DWCS_PLAN et OLTP_PLAN. Pour mettre à jour un plan d'allocation 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 de ressources. |
|
|
Commentaire sur la directive du plan. |
|
|
Part de l'allocation des ressources pour le groupe de consommateurs. Les partages déterminent la quantité de ressources d'UC et d'E/S qu'un groupe de consommateurs obtient par rapport aux autres groupes de consommateurs. Par exemple, un groupe de consommateurs de ressources avec une part de 2 obtiendra deux fois plus de ressources d'UC et d'E/S qu'un groupe de consommateurs de ressources avec une part de 1. Si vous ne spécifiez pas de partages pour un groupe de consommateurs de ressources dans votre plan, le partage de ce groupe de consommateurs de ressources sera défini sur 1. |
|
|
Limites de ressources qui déterminent le nombre maximal de ressources d'E/S et de CPU qu'un groupe de consommateurs de ressources peut obtenir. |
|
|
Mesures à prendre pour 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 entreprise. La valeur par défaut est |
|
|
Nombre de demandes d'E/S qu'une session peut émettre avant qu'une action ne soit effectuée. La valeur par défaut est |
|
|
Nombre d'E/S logiques qui déclencheront l'action indiquée par |
|
|
Temps écoulé (en secondes) qui déclenche l'action indiquée par |
|
|
Nombre de secondes pendant lesquelles une session peut être inactive avant la fin de la session. La valeur par défaut est |
|
|
Durée maximale (en secondes) pendant laquelle une session peut être inactive avant la fin de la session, si la session contient un verrou ou une ressource nécessaire à d'autres sessions. |
|
|
Nombre maximal de sessions pouvant simultanément avoir un appel actif. |
|
|
Délai 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 |
|
|
Indique la limite applicable au degré de parallélisme d'une opération. La valeur par défaut est |
|
|
Définit le niveau de simultanéité 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 la mémoire PGA réglable (opérations pouvant choisir d'utiliser l'espace temporaire) ne sont pas contrôlées par cette limite. |
|
|
Indique la durée (en secondes) pendant laquelle une instruction parallèle peut rester dans la file d'attente des instructions parallèles de son groupe de consommateurs de ressources avant qu'elle ne soit supprimée et interrompue par une erreur (ORA-07454). |
|
|
Indique l'action à effectuer lorsqu'une instruction parallèle est enlevée de la file d'attente en raison de Les valeurs disponibles sont les suivantes :
|
Notes d'utilisation
- Tous les paramètres sauf les partages sont définis par défaut sur
NULL. - Une erreur est générée si
parallel_queue_timeout_actionest indiqué, mais queparallel_queue_timeoutn'est pas indiqué.
Rubrique parent : Package CS_RESOURCE_MANAGER
Procédure VALIDATE_PENDING_AREA
Cette procédure valide les modifications en attente pour le gestionnaire de ressources.
Syntaxe
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
Rubrique parent : Package CS_RESOURCE_MANAGER