Pacchetto CS_RESOURCE_MANAGER
Il pacchetto CS_RESOURCE_MANAGER fornisce un'interfaccia per elencare e aggiornare i parametri del gruppo di consumer e per ripristinare i valori predefiniti dei parametri.
- CLEAR_PENDING_AREA Procedura
Questa procedura cancella le modifiche in sospeso per il Resource Manager. - CREATE_CONSUMER_GROUP Procedura
Questa procedura definisce i gruppi di consumer di risorse. - CREATE_PENDING_AREA Procedura
Questa procedura crea un'area in sospeso per apportare modifiche agli oggetti di Resource Manager. - CREATE_PLAN Procedura
Questa procedura crea voci che definiscono i piani risorse. - CREATE_PLAN_DIRECTIVE Procedura
Questa procedura crea direttive sui piani delle risorse. - DELETE_CONSUMER_GROUP Procedura
Questa procedura elimina i gruppi di consumer di risorse. - DELETE_PLAN Procedura
Questa procedura elimina il piano specificato e tutte le direttive del piano a cui fa riferimento. - DELETE_PLAN_DIRECTIVE Procedura
Questa procedura elimina le direttive del piano risorse. - LIST_CURRENT_RULES Funzione
Questa funzione restituisce le impostazioni correnti per il piano predefinito. - LIST_DEFAULT_RULES Funzione
Questa funzione restituisce i valori predefiniti per tutti i gruppi di consumer. - REVERT_TO_DEFAULT_VALUES Procedura
Questa procedura ripristina i valori predefiniti delle proprietà del piano di Resource Manager. - SET_CONSUMER_GROUP_MAPPING Procedura
Questa procedura aggiunge, elimina o modifica le voci che mappano le sessioni ai gruppi di consumer, in base agli attributi di login e runtime della sessione. - SET_CONSUMER_GROUP_MAPPING_PRI Procedura
Per mappare la sessione a un gruppo di consumer è possibile utilizzare più attributi di una sessione. Questa procedura assegna la priorità ai mapping degli attributi. - SUBMIT_PENDING_AREA Procedura
Questa procedura sottomette le modifiche in sospeso per il manager risorse. Cancella l'area in sospeso dopo aver convalidato ed eseguito il commit delle modifiche (se valide). - UPDATE_PLAN_DIRECTIVE Procedura
Utilizzare questa procedura per aggiornare i piani predefiniti forniti con Autonomous AI Database, ovveroDWCS_PLANeOLTP_PLANper un gruppo di consumer specificato. - UPDATE_PLAN_DIRECTIVE_ADV Procedura
Utilizzare questa procedura per aggiornare il piano Resource Manager definito dall'utente per un gruppo di consumer specificato. - VALIDATE_PENDING_AREA Procedura
Questa procedura convalida le modifiche in sospeso per il Resource Manager.
Argomento padre: Riferimento del pacchetto fornito dal database AI autonomo
Procedura CLEAR_PENDING_AREA
Questa procedura cancella le modifiche in sospeso per il manager risorse.
Sintassi
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura CREATE_CONSUMER_GROUP
Questa procedura definisce i gruppi di consumer di risorse.
Sintassi
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del gruppo di consumer |
|
|
Commento utente |
Note sull'uso
È possibile determinare la modalità di inserimento delle sessioni nei gruppi di consumer mediante:
-
Assegnazione stringa di connessione: specificare il valore
CONSUMER_GROUPnella stringa di connessione al database come mostrato di seguito. Questo approccio ha la precedenza sul mapping e sostituirà tutti i mapping definiti.(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=my_database_low.adb.oraclecloud.com)(CONSUMER_GROUP=OLTP_LOW))(security=(ssl_server_dn_match=yes))) -
Regole di mapping: utilizzare i programmi secondari
set_consumer_group_mappingeset_consumer_group_mapping_priper assegnare sessioni o applicazioni a gruppi di consumer in base ad attributi quali nome utente o nome applicazione.
Esempi
BEGIN
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_HIGH',
comment => 'Priority OLTP sessions');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_LOW',
comment => 'Background/low-priority OLTP');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'LH_BATCH',
comment => 'Batch / reporting workloads');
END;
/Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura CREATE_PENDING_AREA
Questa procedura crea un'area in sospeso per apportare modifiche agli oggetti di Resource Manager.
L'area in sospeso può essere considerata come un'area graffio per le modifiche allo schema del piano. L'amministratore crea quest'area in sospeso, apporta le modifiche necessarie, eventualmente convalida le modifiche e solo al termine della sottomissione le modifiche diventano attive.
Sintassi
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;Note sull'uso
È possibile, in qualsiasi momento mentre l'area in sospeso è attiva, visualizzare lo schema del piano corrente con le modifiche effettuate effettuando una selezione dalle viste utente appropriate. Per ulteriori informazioni, vedere Visualizzazione della configurazione e dello stato di Database Resource Manager.
È possibile cancellare l'area in sospeso in qualsiasi momento se si desidera interrompere le modifiche correnti. È inoltre possibile chiamare la procedura VALIDATE per verificare se le modifiche apportate sono valide. Non è necessario eseguire le modifiche in un determinato ordine per mantenere un gruppo coerente di voci. Questi controlli vengono eseguiti anche implicitamente quando viene sottomessa l'area in sospeso.
Oracle consente i gruppi di consumer "orfani" (in altre parole, i gruppi di consumer che non dispongono di direttive di piano che vi fanno riferimento). Si prevede che un amministratore possa voler creare un gruppo di consumer non attualmente in uso, ma che verrà utilizzato in futuro.
- Nessuno schema piano può contenere loop.
- Devono esistere tutti i piani e i gruppi di consumatori a cui fanno riferimento le direttive del piano.
- Tutti i piani devono avere direttive di piano che si riferiscono a piani o gruppi di consumatori.
- Tutte le percentuali in un determinato livello non devono essere superiori a 100 per il metodo di allocazione delle risorse di enfasi.
- Non è possibile eliminare alcun piano attualmente utilizzato come piano superiore da un'istanza attiva.
- Non possono esserci più di 28 direttive di piano provenienti da un piano specifico (cioè nessun piano può avere più di 28 figli).
- Non possono esistere più di 28 gruppi di consumer in uno schema piano attivo.
- I piani e i gruppi di consumer utilizzano lo stesso spazio di nomi; pertanto, nessun piano può avere lo stesso nome di qualsiasi gruppo di consumer.
- In qualsiasi schema di piano attivo deve essere presente una direttiva di piano per
OTHER_GROUPS. Ciò garantisce che a una sessione non coperta dal piano attualmente attivo siano assegnate risorse come specificato dalla direttivaOTHER_GROUPS.
Se una delle regole precedenti viene interrotta quando viene verificata dalle procedure VALIDATE o SUBMIT, viene restituito un messaggio di errore informativo. È quindi possibile apportare modifiche per risolvere uno o più problemi e riemettere le procedure di convalida o sottomissione.
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura CREATE_PLAN
Questa procedura crea voci che definiscono i piani risorse.
Sintassi
CS_RESOURCE_MANAGER.CREATE_PLAN (
plan IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Il nome del piano risorse |
|
|
Commento utente |
Esempio
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura CREATE_PLAN_DIRECTIVE
Questa procedura crea le direttive del piano risorse.
Sintassi
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Il nome del piano risorse |
|
|
Nome del gruppo di consumer |
|
|
Commento per la direttiva sul piano |
|
|
Condivisione dell'allocazione delle risorse per il gruppo di consumer. Le condivisioni determinano la quantità di risorse CPU e IO che un gruppo di consumer ottiene rispetto ad altri gruppi di consumer. Ad esempio, un gruppo di consumer con una quota di 2 otterrà il doppio delle risorse CPU e IO rispetto a un gruppo di consumer con una quota di 1. Se non si specificano azioni per un gruppo di consumatori nel piano, la quota di tale gruppo di consumatori verrà impostata su 1. |
|
|
Limiti delle risorse che determinano il numero massimo di risorse CPU e I/O che un gruppo di consumer può ottenere. |
|
|
Azioni da intraprendere al raggiungimento di uno qualsiasi dei limiti specificati nelle direttive. I valori validi sono |
|
|
Tempo alla CPU (in secondi) durante il quale una sessione può essere eseguita prima di eseguire un'azione. L'impostazione predefinita è |
|
|
Quantità di I/O (in MB) che una sessione può emettere prima di eseguire un'azione. L'impostazione predefinita è |
io_reqs_limit |
Numero di richieste di I/O che una sessione può emettere prima dell'esecuzione di un'azione. L'impostazione predefinita è |
io_logical_limit |
Numero di I/O logici che attiveranno l'azione specificata da |
elapsed_time_limit |
Tempo trascorso (in secondi) che attiverà l'azione specificata da |
max_idle_time |
Numero di secondi durante i quali una sessione può rimanere inattiva prima dell'interruzione della sessione. L'impostazione predefinita è |
max_idle_blocker_time |
Periodo di tempo massimo, in secondi, durante il quale una sessione può rimanere inattiva prima dell'interruzione della sessione, se la sessione contiene un blocco o una risorsa necessari per altre sessioni. |
active_session_limit |
Numero massimo di sessioni che possono contemporaneamente avere una chiamata attiva. |
active_session_timeout |
Tempo specificato (in secondi) dopo il quale si verificherà il timeout di una chiamata nella coda della sessione inattiva (in attesa di esecuzione). L'impostazione predefinita è |
parallel_degree_limit |
Specifica un limite al grado di parallelismo per qualsiasi operazione eseguita. L'impostazione predefinita è |
concurrency_limit |
Imposta il livello di concorrenza e quindi il grado di parallelismo (DOP). Può fare il DOP 1. |
session_pga_limit |
Quantità massima di PGA non configurabile (in MB) che una sessione in questo gruppo di consumer può allocare prima di essere interrotta. Le operazioni SQL che allocano PGA configurabile (operazioni che possono scegliere di utilizzare lo spazio temporaneo) non sono controllate da questo limite. |
parallel_queue_timeout |
Specifica il periodo di tempo, in secondi, durante il quale un'istruzione parallela può rimanere nella coda delle istruzioni parallele del gruppo di consumer prima che venga rimossa e terminata con un errore (ORA- 07454). |
parallel_queue_timeout_action |
Specifica l'azione da eseguire quando un'istruzione parallela viene rimossa dalla coda a causa di I valori disponibili sono:
|
Note sull'uso
- Non è possibile creare direttive di piano sui piani predefiniti predefiniti forniti con Autonomous AI Database, ovvero
DWCS_PLANeOLTP_PLAN. - Tutti i parametri, ad eccezione delle condivisioni, vengono impostati automaticamente su
NULL. - Se si specifica
parallel_queue_timeout, viene restituito un errore, ma non viene specificatoparallel_queue_timeout_action.
Esempi
BEGIN
-- High-priority OLTP gets 8 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_HIGH',
comment => 'OLTP high priority',
shares => 8,
parallel_degree_limit => 1
);
-- Lower-priority OLTP gets 4 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_LOW',
comment => 'OLTP low priority',
shares => 2,
parallel_degree_limit => 1
);
-- Lakehouse / batch gets 4 shares and the degree of parallelism is capped to 4.
-- If a parallel SQL statement waits in the queue for more than 60 seconds, it will be canceled.
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'LH_BATCH',
comment => 'Lakehouse/reporting workloads',
shares => 4,
parallel_degree_limit => 4, -- cap DOP within this group (adjust as needed)
parallel_queue_timeout => 60,
parallel_queue_timeout_action => 'CANCEL'
);
-- Catch-all for anything unmapped; sessions that are not mapped to a consumer group get 1 CPU/IO share and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OTHER_GROUPS',
comment => 'Catch-all for unmapped sessions',
shares => 1,
parallel_degree_limit => 1
);
END;
/Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura DELETE_CONSUMER_GROUP
Questa procedura elimina i gruppi di consumer di risorse.
Sintassi
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group IN VARCHAR2);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del gruppi di consumatori da eliminare. Nota
Non è possibile eliminare i gruppi di consumer predefiniti forniti con Autonomous Database, ovvero TPURGENT, TP, HIGH, MEDIUM e LOW. |
Esempi
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura DELETE_PLAN
Questa procedura elimina il piano specificato e tutte le direttive del piano a cui fa riferimento.
Sintassi
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan IN VARCHAR2,
cascade IN BOOLEAN DEFAULT FALSE); Parametri
| Parametro | Descrizione |
|---|---|
|
|
Nome del piano risorse da eliminare. Nota
Non è possibile eliminare i piani predefiniti forniti con Autonomous Database, ovvero DWCS_PLAN e OLTP_PLAN.
|
cascade |
Flag che indica se eliminare il piano specificato e tutti i relativi discendenti (direttive del piano, piani secondari, gruppi di consumer). Gli oggetti e le direttive obbligatori non vengono eliminati. Il valore predefinito è DELETE_PLAN rileva un errore, esegue il rollback dell'operazione e nulla viene eliminato.
|
Esempio
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan ==> <plan_name>);Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura DELETE_PLAN_DIRECTIVE
Questa procedura elimina le direttive del piano risorse.
Sintassi
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Il nome del piano risorse Nota
Non è possibile eliminare le direttive del piano nei piani predefiniti predefiniti forniti con Autonomous Database, ovvero DWCS_PLAN e OLTP_PLAN.
|
consumer_group |
Nome del gruppo di consumer. |
Esempio
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Funzione LIST_CURRENT_RULES
Questa funzione restituisce le impostazioni correnti per il piano predefinito.
Impossibile utilizzare LIST_CURRENT_RULES per visualizzare le impostazioni per i piani personalizzati. Se si utilizzano piani personalizzati, è possibile utilizzare le viste DBRM per visualizzare le impostazioni.
Sintassi
CS_RESOURCE_MANAGER.LIST_CURRENT_RULES
RETURN TABLE;
Esempio
SELECT * FROM CS_RESOURCE_MANAGER.LIST_CURRENT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 4 3 3
MEDIUM 2 2 9
LOW 1 900 1
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Funzione LIST_DEFAULT_RULES
Questa funzione restituisce i valori predefiniti per tutti i gruppi di consumer.
Sintassi
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;Nota per l'uso
-
Per impostazione predefinita, il valore del criterio del grado parallelo è
MANUALper il gruppo di consumerTPURGENT. La funzioneCS_RESOURCE_MANAGER.LIST_DEFAULT_RULESnon mostra alcun valore per il valore predefinito perDEGREE_OF_PARALLELISMper il gruppo di consumerTPURGENT.
Esempio
SELECT * FROM CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 0 0 4 3 1
MEDIUM 0 0 2 1 1
LOW 0 0 1 300 1
TP 0 0 8 300 1
TPURGENT 0 0 12 300
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura REVERT_TO_DEFAULT_VALUES
Questa procedura ripristina i valori predefiniti delle proprietà del piano Resource Manager.
Non è possibile utilizzare questa procedura con piani personalizzati e può essere utilizzata solo per ripristinare i piani Resource Manager predefiniti forniti con Autonomous Database, ovvero
DWCS_PLAN e OLTP_PLAN.
Sintassi
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group IN VARCHAR2,
shares IN BOOLEAN DEFAULT FALSE,
concurrency_limit IN BOOLEAN DEFAULT FALSE);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Specifica il gruppo di consumer da ripristinare. I valori validi sono: |
shares |
Se il valore è |
concurrency_limit |
Se il valore è |
Esempi
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'MEDIUM',
concurrency_limit => TRUE);
END;
/
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'HIGH',
shares => TRUE);
END;
/
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura SET_CONSUMER_GROUP_MAPPING
Questa procedura aggiunge, elimina o modifica le voci che mappano le sessioni ai gruppi di consumer in base agli attributi di login e runtime della sessione.
Sintassi
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Attributo di mapping da aggiungere o modificare. Può essere uno dei costanti elencati. |
|
|
Valore dell'attributo da confrontare. Ciò include sia il mapping assoluto che le espressioni regolari. |
|
|
Nome del gruppo di consumer mappati o |
Note sull'uso
- Se non esiste alcun mapping per l'attributo e il valore specificati, verrà creato un mapping al gruppo di consumer specificato. Se esiste già un mapping per l'attributo e il valore specificati, il gruppo di consumer mappati verrà aggiornato a quello specificato. Se l'argomento consumer_group è
NULL, qualsiasi mapping dall'attributo e dal valore specificati verrà eliminato. - Il sottoprogramma supporta espressioni regex semplici per il parametro value. Implementa la stessa semantica dell'operatore SQL 'LIKE'. In particolare, utilizza '%' come carattere jolly a più caratteri e '_' come carattere jolly a singolo carattere. Il carattere '\' può essere utilizzato come carattere di escape dei caratteri jolly. Si noti che i caratteri jolly possono essere utilizzati solo se l'attributo è uno dei seguenti:
CLIENT_OS_USERCLIENT_PROGRAMCLIENT_MACHINEMODULE_NAMEMODULE_NAME_ACTIONSERVICE_MODULESERVICE_MODULE_ACTION
- I confronti dei mapping dei gruppi di consumer per
CS_RESOURCE_MANAGER.CLIENT_PROGRAMvengono eseguiti rimuovendo il segno@e i caratteri seguenti daV$SESSION.PROGRAMprima di confrontarli con il valoreCLIENT_PROGRAMfornito. - È possibile utilizzare attributi quali il nome utente o il nome dell'applicazione per determinare la modalità di inserimento delle sessioni in un gruppo di consumer, come mostrato nell'esempio precedente.
Esempi
BEGIN
-- Map schema APP_USER to OLTP_HIGH
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'APP_USER',
consumer_group => 'OLTP_HIGH');
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'LH_USER',
consumer_group => 'LH_BATCH');
END;
/Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura SET_CONSUMER_GROUP_MAPPING_PRI
È possibile utilizzare più attributi di una sessione per mappare la sessione a un gruppo di consumer. Questa procedura assegna la priorità ai mapping degli attributi.
Sintassi
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI(
explicit IN NUMBER,
oracle_user IN NUMBER,
service_name IN NUMBER,
client_program IN NUMBER,
module_name IN NUMBER,
module_name_action IN NUMBER,
client_id IN NUMBER DEFAULT 11);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Priorità del mapping esplicito. |
|
|
Priorità del mapping dei nomi utente Oracle. |
|
|
Priorità del mapping dei nomi del servizio client. |
|
|
Priorità del mapping del programma client. |
|
|
Priorità del mapping dei nomi dei moduli applicativi. |
|
|
Priorità del nome e del mapping delle azioni del modulo applicativo. |
|
|
Identificativo del client. |
Note sull'uso
- Questa procedura richiede di includere lo pseudo-attributo esplicito come argomento. Deve essere impostato su 1. Indica che gli switch dei gruppi di consumer espliciti hanno la priorità più alta. Il passaggio al gruppo di consumer mediante
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPavrà la precedenza sui mapping dei gruppi di consumer. - Ogni valore di priorità deve essere un numero intero univoco compreso tra 1 e 11. Insieme, stabiliscono un ordine in cui 1 è la priorità più alta e 11 è la più bassa.
- È possibile utilizzare attributi quali il nome utente o il nome dell'applicazione per determinare la modalità di inserimento delle sessioni in un gruppo di consumer. Per un esempio, vedere Passo 4: Creazione di mapping di gruppi di consumer.
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura SUBMIT_PENDING_AREA
Questa procedura sottomette le modifiche in sospeso per il manager risorse. Cancella l'area in sospeso dopo aver convalidato ed eseguito il commit delle modifiche (se valide).
Una chiamata a
SUBMIT_PENDING_AREA potrebbe non riuscire anche se VALIDATE_PENDING_AREA riesce. Ciò può verificarsi se un piano da eliminare viene caricato da un'istanza dopo la chiamata a VALIDATE_PENDING_AREA, ma prima della chiamata a SUBMIT_PENDING_AREA.
Sintassi
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura UPDATE_PLAN_DIRECTIVE
Utilizzare questa procedura per aggiornare i piani predefiniti predefiniti forniti con Autonomous AI Database, ovvero DWCS_PLAN e OLTP_PLAN per un gruppo di consumer specificato.
Non è possibile utilizzare questa procedura per aggiornare le impostazioni per i piani personalizzati. Per aggiornare gli attributi di un piano personalizzato definito dall'utente, utilizzare la procedura
UPDATE_PLAN_DIRECTIVE_ADV.
Sintassi
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group IN VARCHAR2,
io_megabytes_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Specifica il gruppo di consumer da aggiornare. I valori validi sono: |
|
|
Specifica il numero massimo di megabyte di I/O che un'operazione SQL può eseguire. Specificare un valore |
|
|
Specifica il tempo massimo, in secondi, di esecuzione di un'operazione SQL. Specificare un valore |
|
|
Specifica il valore delle condivisioni. Un numero maggiore di condivisioni, rispetto ad altri gruppi di consumer, aumenta la priorità CPU e I/O del gruppo di consumer. |
|
|
Specifica il numero massimo di istruzioni SQL concorrenti che è possibile eseguire. Questo parametro è valido solo con il gruppo di consumer |
Note sull'uso
-
Quando un'istruzione SQL nel servizio specificato esegue più del limite di runtime specificato (
elapsed_time_limit) o esegue più I/O della quantità specificata (io_megabytes_limit), l'istruzione SQL verrà arrestata. -
Quando si specifica il parametro
concurrency_limit, l'unico valore valido perconsumer_groupèMEDIUM.
Esempi
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;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'HIGH',
io_megabytes_limit => null,
elapsed_time_limit => null);
END;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'MEDIUM',
concurrency_limit => 2);
END;
/
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura UPDATE_PLAN_DIRECTIVE_ADV
Utilizzare questa procedura per aggiornare il piano Resource Manager definito dall'utente per un gruppo di consumer specificato.
Non è possibile utilizzare questa procedura per aggiornare i piani predefiniti forniti con Autonomous Database, ovvero
DWCS_PLAN e OLTP_PLAN. Per aggiornare un piano risorse predefinito, utilizzare la procedura UPDATE_PLAN_DIRECTIVE.
Sintassi
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE_ADV (
plan IN VARCHAR2 DEFAULT NULL,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);Parametri
| Parametro | Descrizione |
|---|---|
|
|
Il nome del piano risorse |
|
|
Nome del gruppo di consumer. |
|
|
Commento per la direttiva sul piano. |
|
|
Condivisione dell'allocazione delle risorse per il gruppo di consumer. Le condivisioni determinano la quantità di risorse CPU e IO che un gruppo di consumer ottiene rispetto ad altri gruppi di consumer. Ad esempio, un gruppo di consumer con una quota di 2 otterrà il doppio delle risorse CPU e IO rispetto a un gruppo di consumer con una quota di 1. Se non si specificano azioni per un gruppo di consumatori nel piano, la quota di tale gruppo di consumatori verrà impostata su 1. |
|
|
Limiti delle risorse che determinano il numero massimo di risorse CPU e I/O che un gruppo di consumer può ottenere. |
|
|
Azioni da intraprendere al raggiungimento di uno qualsiasi dei limiti specificati nelle direttive. I valori validi sono |
|
|
Tempo alla CPU (in secondi) durante il quale una sessione può essere eseguita prima di eseguire un'azione. Il valore predefinito è NULL, ovvero illimitato. |
|
|
Quantità di I/O (in MB) che una sessione può emettere prima di eseguire un'azione. L'impostazione predefinita è |
|
|
Numero di richieste di I/O che una sessione può emettere prima dell'esecuzione di un'azione. L'impostazione predefinita è |
|
|
Numero di I/O logici che attiveranno l'azione specificata da |
|
|
Tempo trascorso (in secondi) che attiverà l'azione specificata da |
|
|
Numero di secondi durante i quali una sessione può rimanere inattiva prima dell'interruzione della sessione. L'impostazione predefinita è |
|
|
Periodo di tempo massimo, in secondi, durante il quale una sessione può rimanere inattiva prima dell'interruzione della sessione, se la sessione contiene un blocco o una risorsa necessari per altre sessioni. |
|
|
Numero massimo di sessioni che possono contemporaneamente avere una chiamata attiva. |
|
|
Tempo specificato (in secondi) dopo il quale si verificherà il timeout di una chiamata nella coda della sessione inattiva (in attesa di esecuzione). L'impostazione predefinita è |
|
|
Specifica un limite al grado di parallelismo per qualsiasi operazione eseguita. L'impostazione predefinita è |
|
|
Imposta il livello di concorrenza e quindi il grado di parallelismo (DOP). Può fare il DOP 1. |
|
|
Quantità massima di PGA non configurabile (in MB) che una sessione in questo gruppo di consumer può allocare prima di essere interrotta. Le operazioni SQL che allocano PGA configurabile (operazioni che possono scegliere di utilizzare lo spazio temporaneo) non sono controllate da questo limite. |
|
|
Specifica il periodo di tempo, in secondi, durante il quale un'istruzione parallela può rimanere nella coda delle istruzioni parallele del gruppo di consumer prima che venga rimossa e terminata con un errore (ORA- 07454). |
|
|
Specifica l'azione da eseguire quando un'istruzione parallela viene rimossa dalla coda a causa di I valori disponibili sono:
|
Note sull'uso
- Tutti i parametri, ad eccezione delle condivisioni, vengono impostati automaticamente su
NULL. - Se si specifica
parallel_queue_timeout_action, viene restituito un errore, ma non viene specificatoparallel_queue_timeout.
Argomento padre: Pacchetto CS_RESOURCE_MANAGER
Procedura VALIDATE_PENDING_AREA
Questa procedura convalida le modifiche in sospeso per il manager risorse.
Sintassi
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
Argomento padre: Pacchetto CS_RESOURCE_MANAGER