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.
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.
Argomento padre: Monitorare e gestire le prestazioni