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 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 êtreset
,unset
ouzero
. - Nom de la famille de services, par exemple :
compute-core
. - Mot-clé
quota
ouquotas
. - Nom du quota, qui varie en fonction de la famille de services. Par exemple,
standard-e4-core-count
est un quota valide dans la famillecompute-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."
- Vous pouvez également utiliser des caractères génériques pour indiquer une plage de noms. Par exemple,
- 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 sontrequest.region
etrequest.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 clausewhere
. -
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.
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
- 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