Gestire le condivisioni CPU/IO su Autonomous Database

Autonomous Database include condivisioni CPU/IO predefinite assegnate a diversi gruppi di consumer. È possibile modificare queste condivisioni CPU/IO predefinite se il carico di lavoro richiede allocazioni di risorse CPU/IO diverse.

Le condivisioni CPU/IO assegnate ai gruppi di consumer determinano le risorse CPU/IO che un gruppo di consumer può utilizzare rispetto agli altri gruppi di consumer. Le condivisioni CPU/IO predefinite dipendono dal carico di lavoro di Autonomous Database.

Le condivisioni CPU assegnate a ciascun servizio determinano la quantità di CPU e I/O che le sessioni che utilizzano tali servizi otterranno quando l'utilizzo della CPU nel database raggiunge il 100%. In questo caso, ogni servizio otterrà risorse CPU e I/O proporzionali alle condivisioni CPU assegnate. I processi interni di Oracle eseguiti come task automatici su Autonomous Database, ad esempio la raccolta automatica delle statistiche dell'optimizer, vengono eseguiti con una condivisione di risorse pari a 1.

Tipo del carico di lavoro Dettagli

Data warehouse

Per impostazione predefinita, le condivisioni CPU/IO assegnate ai gruppi di consumer HIGH, MEDIUM, LOW sono rispettivamente 4, 2 e 1. Con le impostazioni predefinite il gruppo di consumer HIGH sarà in grado di utilizzare 4 volte più risorse CPU/IO rispetto a LOW e 2 volte più risorse CPU/IO rispetto a MEDIUM, quando necessario. Il gruppo di consumer MEDIUM sarà in grado di utilizzare 2 volte più risorse CPU/IO rispetto a LOW, quando necessario.

Elaborazione delle transazioni

Database JSON

Per impostazione predefinita, le azioni CPU/IO assegnate ai gruppi di consumatori TPURGENT, TP, HIGH, MEDIUM e LOW sono rispettivamente 12, 8, 4, 2 e 1. Con le impostazioni predefinite il gruppo di consumer TPURGENT sarà in grado di utilizzare 12 volte più risorse CPU/IO rispetto a LOW, quando necessario. Il gruppo di consumer TP sarà in grado di utilizzare 4 volte più risorse CPU/IO rispetto a MEDIUM, quando necessario.

È possibile impostare le condivisioni CPU/IO in Database Actions o utilizzando il package PL/SQL CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE.

Per utilizzare Database Actions per modificare i valori di condivisione CPU/IO per i gruppi di consumer, procedere come segue.

  1. Accedere a Database Actions come utente ADMIN.

    Per ulteriori informazioni, vedere Accedere alle azioni del database come ADMIN.

  2. Nel Launchpad Database Actions, in Amministrazione, fare clic su Imposta regole di Resource Management.
  3. Selezionare la scheda CPU/IO shares per impostare i valori di condivisione CPU/IO per i gruppi di consumer.
  4. Impostare il valore di condivisione CPU/IO desiderato per un gruppo di consumer immettendo un valore o facendo clic sulle icone Decremento o Incremento.
  5. Fare clic su Salva modifiche.
  6. Fare clic su OK.

Per reimpostare i valori predefiniti per le condivisioni CPU/IO, fare clic su Carica valori predefiniti e fare clic su Salva modifiche per applicare i valori inseriti.

In alternativa all'uso di Database Actions, è possibile utilizzare la procedura PL/SQL CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE per modificare i valori di condivisione CPU/IO per i gruppi di consumer.

Ad esempio, in un database Autonomous Data Warehouse, eseguire lo script seguente come utente ADMIN per impostare le condivisioni CPU/IO su 8, 2 e 1 rispettivamente per i gruppi di consumer HIGH, MEDIUM e LOW. Ciò consente al gruppo di consumer HIGH di utilizzare 4 volte più risorse CPU/IO rispetto al gruppo di consumer MEDIUM e 8 volte le risorse CPU/IO rispetto al gruppo di consumer LOW:

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;
/

Ad esempio, in un Autonomous JSON Database o in un database Autonomous Transaction Processing, eseguire lo script seguente come utente ADMIN per impostare le condivisioni CPU/IO su 12, 4, 2, 1 e 1 rispettivamente per i gruppi di consumer TPURGENT, TP, HIGH, MEDIUM e LOW. Ciò consente al gruppo di consumer TPURGENT di utilizzare 3 volte più risorse CPU/IO rispetto al gruppo di consumer TP e 12 volte le risorse CPU/IO rispetto al gruppo di consumer MEDIUM:

BEGIN
   CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'TPURGENT', shares => 12);
   CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'TP', shares => 4);
   CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'HIGH', shares => 2);
   CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'MEDIUM', shares => 1);
   CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'LOW', shares => 1);
END;
/

Per tornare ai valori di condivisione predefiniti, è possibile utilizzare la procedura PL/SQL CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES per ripristinare le impostazioni predefinite.

Ad esempio, in un database Autonomous Data Warehouse, eseguire lo script seguente come utente ADMIN per impostare le condivisioni CPU/IO sui valori predefiniti per i gruppi di consumer HIGH, MEDIUM e LOW:

BEGIN
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'HIGH', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'MEDIUM', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'LOW', shares => TRUE);
END;
/

Ad esempio, in un database Autonomous JSON o in un database Autonomous Transaction Processing, eseguire lo script seguente come utente ADMIN per impostare i valori predefiniti per le condivisioni CPU/IO per i gruppi di consumer TPURGENT, TP, HIGH, MEDIUM e LOW:

BEGIN
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'TPURGENT', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'TP', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'HIGH', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'MEDIUM', shares => TRUE);
   CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'LOW', shares => TRUE);
END;
/

Per ulteriori informazioni, vedere CS_RESOURCE_MANAGER Package.