Sintaxe da Política de Cota

O tópico a seguir descreve a sintaxe da política de cota de compartimento.

Três tipos de instruções da política de cotas estão disponíveis:

  • set: Define o número máximo de um recurso de nuvem que pode ser usado para um compartimento.
  • unset: Redefine cotas de volta para os limites do serviço padrão.
  • zero: Remove o acesso a um recurso de nuvem para um compartimento.
As instruções de política de cota têm o seguinte formato:
Diagrama da instrução set da política de cotas
Diagrama da instrução unset da política de cotas
Diagrama da instrução zero da política de cotas

Os componentes da linguagem de uma instrução de política de cotas são:

  • A palavra-chave action corresponde ao tipo de cota que está sendo definido. A palavra-chave pode ser set, unset ou zero.
  • O nome da família de serviços; por exemplo: compute-core.
  • A palavra-chave quota ou quotas.
  • O nome da cota, que varia por família de serviços. Por exemplo, uma cota válida na família compute-core seria standard-e4-core-count.
    • Também é possível usar curingas para especificar uma faixa de nomes. Por exemplo, "/standard*/" corresponde a todas as cotas do serviço Compute que começam com a frase "padrão".
  • Para instruções set, o valor da cota.
  • O compartimento que a cota abrange.
  • Uma condição opcional. Por exemplo, where request.region = 'us-phoenix-1'. As condicionais suportadas atualmente são request.region e request.ad.

Consulte também Cotas de Amostra para ver alguns exemplos de uso comum.

Escopo

As cotas podem ter diferentes escopos e funcionar no domínio de disponibilidade, na região ou globalmente. Estes são alguns pontos importantes a serem compreendidos sobre o escopo ao trabalhar com cotas de compartimento:

  • Ao definir uma cota no nível do AD (domínio de disponibilidade), a cota é alocada para cada AD. Assim, por exemplo, a definição de uma cota de 120 OCPUs em um compartimento na verdade define um limite de 120 OCPUs por AD. Para direcionar um AD específico, use o parâmetro request.ad na cláusula where.

  • As cotas regionais se aplicam a cada região. Consulte Cotas de Amostra para obter um exemplo de cota regional.

  • O uso de subcompartimentos conta para o uso do compartimento principal.

Para obter mais informações, consulte Regiões e Domínios de Disponibilidade.

Permissões e Aninhamento

Você pode definir cotas de compartimento em qualquer compartimento da tenancy. Um administrador pode definir cotas para seus compartimentos e quaisquer compartimentos secundários.

Uma política de cota pode conter instruções que se aplicam a um compartimento e seus compartimentos filhos. A localização de uma política de cota não afeta sua precedência. Uma instrução de cota se aplica quando a instrução está no escopo do compartimento no qual a solicitação de recurso ocorre.

Observação

As políticas que visam compartimentos aninhados são escritas da seguinte forma:
set compute quota standard-e4-core-count to 10 in compartment parent:child:another_child

Avaliação e precedência de cotas

As seguintes regras se aplicam quando as instruções de cota são avaliadas:

  • Em uma política, as instruções de cota são avaliadas em ordem. Uma instrução posterior substitui uma instrução anterior que tem como alvo o mesmo recurso.

  • Se várias políticas tiverem como alvo o mesmo recurso, a política mais restritiva será aplicada.

  • O compartimento no qual uma política de cota é criada não determina precedência. Para políticas que têm como alvo o mesmo recurso dentro da mesma linhagem de compartimento, a política mais restritiva se aplica.

  • Os limites de serviço têm precedência sobre as cotas. Você pode especificar uma cota que exceda o limite de serviço para um recurso, mas o limite de serviço ainda se aplica.

Curingas

Algumas famílias de cotas têm muitos recursos, por exemplo, a família de cotas Banco de Dados é composta por muitas cotas. Nesses casos, é possível usar curingas de nome de cota para especificar um intervalo de nomes.

Este exemplo usa um curinga para alocar todos os recursos exadata para o compartimento ProductionApp:

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