Syntaxe de stratégie de quota

La rubrique suivante décrit la syntaxe de stratégie de quota de compartiment.

Trois types d'instruction de stratégie de quota sont disponibles :

  • set : définit le nombre maximal de ressources cloud pouvant être utilisées pour un compartiment.
  • unset : réinitialise les quotas sur les limites de service par défaut.
  • zero : enlève l'accès à une ressource cloud pour un compartiment.
Les instructions de stratégie de quota ont le format suivant :
Diagramme d'instruction set de stratégie de quota
Diagramme d'instruction unset de stratégie de quota
Diagramme d'instruction zero de stratégie de quota

Les composants de langage d'une instruction de stratégie de quota sont les suivants :

  • Mot-clé action, qui correspond au type de quota en cours de définition. Le mot-clé peut être set, unset ou zero.
  • Nom de la famille de services, par exemple : compute-core.
  • Mot-clé quota ou quotas.
  • Nom du quota, qui varie en fonction de la famille de services. Par exemple, standard-e4-core-count est un quota valide dans la famille compute-core.
    • Vous pouvez également utiliser des caractères génériques pour indiquer une plage de noms. Par exemple, "/standard*/" correspond à tous les quotas Compute qui commencent par l'expression "standard."
  • Valeur du quota pour les instructions set.
  • Compartiment couvert par le quota.
  • Condition facultative. Exemple : where request.region = 'us-phoenix-1'. Les conditions actuellement prises en charge sont request.region et request.ad.

Reportez-vous également à Exemples de quotas pour obtenir des exemples d'utilisation courants.

Périmètre

Les quotas peuvent avoir différentes portées et s'appliquer au domaine de disponibilité, à la région ou à l'échelle mondiale. Voici quelques points importants à comprendre sur la portée lors de l'utilisation des quotas de compartiment :

  • Lors de la définition d'un quota au niveau du domaine de disponibilité, ce quota est attribué à chaque domaine de disponibilité. Par exemple, la définition d'un quota de 120 OCPU sur un compartiment définit en réalité une limite de 120 OCPU par domaine de disponibilité. Pour cibler un domaine de disponibilité spécifique, utilisez le paramètre request.ad dans la clause where.

  • Les quotas régionaux s'appliquent à chaque région. Pour obtenir un exemple de quota régional, reportez-vous à Exemples de quotas.

  • L'utilisation des sous-compartiments est comptabilisée dans l'utilisation du compartiment principal.

Pour plus d'informations, reportez-vous à Régions et domaines de disponibilité.

Droits d'accès et imbrication

Les quotas de compartiment peuvent être définis sur le compartiment racine. Un administrateur (qui doit être en mesure de gérer des quotas sur le compartiment racine) peut définir des quotas sur son propre compartiment, ainsi que sur tout compartiment enfant. Les quotas définis sur un compartiment parent remplacent ceux définis sur les compartiments enfant. Ainsi, l'administrateur d'un compartiment parent peut créer un quota sur un compartiment enfant qui ne peut pas être remplacé par l'enfant.

Remarque

Les stratégies qui ciblent des compartiments imbriqués sont écrites comme suit :
set compute quota standard-e4-core-count to 10 in compartment parent:child:another_child

Priorité et évaluation des quotas

Les règles suivantes s'appliquent lorsque des instructions de quota sont évaluées :
  • Au sein d'une stratégie, les instructions de quota sont évaluées dans l'ordre, et les instructions suivantes remplacent les instructions précédentes qui ciblent la même ressource.
  • Lorsque plusieurs stratégies sont définies pour la même ressource, la stratégie la plus restrictive est appliquée.
  • Les limites de service sont toujours prioritaires sur les quotas. Bien qu'il soit possible d'indiquer un quota qui dépasse la limite de service de la ressource associée, la limite de service est quand même appliquée.

Caractères génériques

Certaines familles de quotas disposent de nombreuses ressources, par exemple, la famille de quotas Database est composée de nombreux quotas. Les caractères génériques de nom de quota peuvent être utilisés dans ce cas pour spécifier une plage de noms.

Cet exemple utilise un caractère générique pour allouer toutes les ressources exadata au compartiment ProductionApp :

zero database quota /*exadata*/ in tenancy
unset database quota /*exadata*/ in compartment ProductionApp