CS_RESOURCE_MANAGER-Package
Das Package CS_RESOURCE_MANAGER bietet eine Schnittstelle zum Auflisten und Aktualisieren von Nutzungsgruppenparametern und zum Zurücksetzen von Parametern auf Standardwerte.
- Prozedur CLEAR_PENDING_AREA
Dieses Verfahren löscht ausstehende Änderungen für den Ressourcenmanager. - Prozedur CREATE_CONSUMER_GROUP
Diese Prozedur definiert Ressourcen-Nutzungsgruppen. - Prozedur CREATE_PENDING_AREA
Dieses Verfahren erstellt einen ausstehenden Bereich, um Änderungen an Ressourcenmanagerobjekten vorzunehmen. - Prozedur CREATE_PLAN
Im Folgenden werden Einträge erstellt, die Ressourcenpläne definieren. - Prozedur CREATE_PLAN_DIRECTIVE
Dieses Verfahren erstellt Anweisungen für Ressourcenpläne. - Prozedur DELETE_CONSUMER_GROUP
Mit dieser Prozedur werden Ressourcennutzungsgruppen gelöscht. - Prozedur DELETE_PLAN
Bei diesem Verfahren werden der angegebene Plan sowie alle Plananweisungen gelöscht, auf die er verweist. - Prozedur DELETE_PLAN_DIRECTIVE
Mit dieser Prozedur werden Ressourcenplananweisungen gelöscht. - LIST_CURRENT_RULES-Funktion
Diese Funktion gibt die aktuellen Einstellungen für den Standardplan zurück. - LIST_DEFAULT_RULES-Funktion
Diese Funktion gibt die Standardwerte für alle Nutzungsgruppen zurück. - Prozedur REVERT_TO_DEFAULT_VALUES
In diesem Verfahren werden die Standard-Resource Manager-Planeigenschaften auf Standardwerte zurückgesetzt. - Prozedur SET_CONSUMER_GROUP_MAPPING
Diese Prozedur fügt Einträge hinzu, löscht oder ändert Einträge, die Sessions Nutzungsgruppen zuordnen, basierend auf den Anmelde- und Laufzeitattributen der Session. - Prozedur SET_CONSUMER_GROUP_MAPPING_PRI
Mit mehreren Attributen einer Session kann die Session einer Nutzungsgruppe zugeordnet werden. In diesem Verfahren werden die Attributzuordnungen priorisiert. - Prozedur SUBMIT_PENDING_AREA
Bei diesem Verfahren werden ausstehende Änderungen für den Ressourcenmanager weitergeleitet. Sie löscht den Bereich "Ausstehend", nachdem die Änderungen validiert und festgeschrieben wurden (falls gültig). - Prozedur UPDATE_PLAN_DIRECTIVE
Mit dieser Prozedur können Sie vordefinierte Standardpläne aktualisieren, die mit der autonomen KI-Datenbank geliefert werden, d.h.DWCS_PLANundOLTP_PLANfür eine angegebene Nutzungsgruppe. - Prozedur UPDATE_PLAN_DIRECTIVE_ADV
Im Folgenden wird beschrieben, wie Sie den benutzerdefinierten Resource Manager-Plan für eine bestimmte Nutzungsgruppe aktualisieren. - Prozedur VALIDATE_PENDING_AREA
Dieses Verfahren validiert ausstehende Änderungen für den Ressourcenmanager.
Übergeordnetes Thema: Von autonomer KI-Datenbank bereitgestellte Packagereferenz
Prozedur CLEAR_PENDING_AREA
Bei diesem Verfahren werden ausstehende Änderungen für den Ressourcenmanager gelöscht.
Syntax
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur CREATE_CONSUMER_GROUP
Diese Prozedur definiert Ressourcennutzungsgruppen.
Syntax
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name der Nutzungsgruppe |
|
|
Benutzerkommentar |
Hinweise zur Verwendung
Sie können bestimmen, wie Sessions in Nutzungsgruppen platziert werden:
-
Zuweisung der Verbindungszeichenfolge: Geben Sie die
CONSUMER_GROUPin der Datenbankverbindungszeichenfolge wie unten dargestellt an. Dieser Ansatz hat Vorrang vor dem Mapping und überschreibt alle definierten Mappings.(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))) -
Zuordnungsregeln: Verwenden Sie die Unterprogramme
set_consumer_group_mappingundset_consumer_group_mapping_pri, um Nutzungsgruppen basierend auf Attributen wie Benutzername oder Anwendungsname Sessions oder Anwendungen zuzuweisen.
Beispiele
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;
/Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur CREATE_PENDING_AREA
Im Folgenden wird ein ausstehender Bereich erstellt, um Änderungen an Ressourcenmanagerobjekten vorzunehmen.
Die ausstehende Fläche kann als Kratzbereich für Planschemaänderungen betrachtet werden. Der Administrator erstellt diesen ausstehenden Bereich, nimmt bei Bedarf Änderungen vor, validiert diese möglicherweise und erst nach Abschluss der Weiterleitung werden diese Änderungen aktiv.
Syntax
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;Hinweise zur Verwendung
Sie können jederzeit das aktuelle Plangeschema mit Ihren Änderungen anzeigen, während der ausstehende Bereich aktiv ist, indem Sie aus den entsprechenden Benutzeransichten auswählen. Weitere Informationen finden Sie unter Konfiguration und Status von Database Resource Manager anzeigen.
Sie können den Bereich "Ausstehend" jederzeit löschen, wenn Sie die aktuellen Änderungen stoppen möchten. Sie können auch die Prozedur VALIDATE aufrufen, um zu bestätigen, ob die vorgenommenen Änderungen gültig sind. Sie müssen Ihre Änderungen nicht in einer bestimmten Reihenfolge vornehmen, um eine konsistente Gruppe von Einträgen beizubehalten. Diese Prüfungen werden auch implizit durchgeführt, wenn der ausstehende Bereich weitergeleitet wird.
Oracle lässt "verwaiste" Nutzungsgruppen zu (d.h. Nutzungsgruppen, die keine Plananweisungen haben, die auf sie verweisen). Dies ist in der Erwartung, dass ein Administrator möglicherweise eine Nutzungsgruppe erstellen möchte, die derzeit nicht verwendet wird, aber in Zukunft verwendet wird.
- Kein Planschema darf Schleifen enthalten.
- Alle Pläne und Nutzungsgruppen, auf die in Plananweisungen verwiesen wird, müssen vorhanden sein.
- Alle Pläne müssen über Plananweisungen verfügen, die sich entweder auf Pläne oder Nutzungsgruppen beziehen.
- Alle Prozentsätze auf einer bestimmten Ebene dürfen nicht größer als 100 für die Hervorhebungsmethode für die Ressourcenzuweisung sein.
- Es kann kein Plan gelöscht werden, der derzeit von einer aktiven Instanz als oberster Plan verwendet wird.
- Es können nicht mehr als 28 Planrichtlinien aus einem bestimmten Plan stammen (d.h. kein Plan kann mehr als 28 Kinder haben).
- In einem aktiven Plangeschema dürfen nicht mehr als 28 Nutzungsgruppen vorhanden sein.
- Pläne und Nutzungsgruppen verwenden denselben Namespace. Daher darf kein Plan denselben Namen wie jede Nutzungsgruppe haben.
- In einem aktiven Planschema muss irgendwo eine Plananweisung für
OTHER_GROUPSvorhanden sein. Dadurch wird sichergestellt, dass einer Session, die nicht vom aktuell aktiven Plan abgedeckt wird, Ressourcen zugewiesen werden, wie in der AnweisungOTHER_GROUPSangegeben.
Wenn eine der oben genannten Regeln verletzt wird, wenn sie von den Prozeduren VALIDATE oder SUBMIT geprüft wird, wird eine informative Fehlermeldung zurückgegeben. Sie können dann Änderungen vornehmen, um ein oder mehrere Probleme zu beheben und die Validierungs- oder Weiterleitungsverfahren erneut auszustellen.
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur CREATE_PLAN
Im Folgenden werden Einträge erstellt, die Ressourcenpläne definieren.
Syntax
CS_RESOURCE_MANAGER.CREATE_PLAN (
plan IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name des Ressourcenplans |
|
|
Benutzerkommentar |
Beispiel
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur CREATE_PLAN_DIRECTIVE
Mit diesem Verfahren werden Ressourcenplananweisungen erstellt.
Syntax
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);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name des Ressourcenplans |
|
|
Name der Nutzungsgruppe |
|
|
Kommentar für die Plananweisung |
|
|
Anteil der Ressourcenzuweisung für die Nutzungsgruppe. Shares bestimmen, wie viel CPU- und I/O-Ressource eine Nutzungsgruppe relativ zu anderen Nutzungsgruppen erhält. Beispiel: Eine Nutzungsgruppe mit einem Anteil von 2 erhält das Doppelte der CPU- und I/O-Ressourcen als eine Nutzungsgruppe mit einem Anteil von 1. Wenn Sie keine Shares für eine Nutzungsgruppe in Ihrem Plan angeben, wird der Share dieser Nutzungsgruppe auf 1 gesetzt. |
|
|
Ressourcenlimits, die bestimmen, wie viele CPU- und I/O-Ressourcen eine Nutzungsgruppe maximal abrufen kann. |
|
|
Maßnahmen, die zu ergreifen sind, wenn die in den Richtlinien festgelegten Grenzen erreicht werden. Gültige Werte sind |
|
|
CPU-Zeit (in Sekunden), die eine Session ausführen kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist |
|
|
Menge an I/O (in MB), die eine Session ausgeben kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist |
io_reqs_limit |
Anzahl der I/O-Anforderungen, die eine Session ausgeben kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist |
io_logical_limit |
Anzahl der logischen I/Os, die die mit |
elapsed_time_limit |
Verstrichene Zeit (in Sekunden), die die von |
max_idle_time |
Anzahl der Sekunden, die eine Session inaktiv sein kann, bevor die Session beendet wird. Der Standardwert ist |
max_idle_blocker_time |
Maximale Zeit in Sekunden, die eine Session inaktiv sein kann, bevor die Session beendet wird, wenn die Session eine Sperre oder Ressource hält, die von anderen Sessions benötigt wird. |
active_session_limit |
Maximale Anzahl von Sessions, die gleichzeitig einen aktiven Aufruf haben können. |
active_session_timeout |
Angegebene Zeit (in Sekunden), nach der ein Aufruf in der inaktiven Sessionqueue (wartet auf Ausführung) wegen Timeout abgebrochen wird. Der Standardwert ist |
parallel_degree_limit |
Gibt ein Limit für den Parallelitätsgrad für jeden Vorgang an. Der Standardwert ist |
concurrency_limit |
Legt die Nebenläufigkeitsebene und damit den Parallelitätsgrad (DOP) fest. Es kann die DOP 1 machen. |
session_pga_limit |
Maximale Größe der nicht optimierbaren PGA (in MB), die eine Session in dieser Nutzungsgruppe zuweisen kann, bevor sie beendet wird. SQL-Vorgänge, die optimierbare PGA zuweisen (Operationen, die temporären Speicherplatz verwenden können), werden nicht von diesem Grenzwert gesteuert. |
parallel_queue_timeout |
Gibt die Zeit (in Sekunden) an, die eine parallele Anweisung in der Queue der parallelen Anweisung der Nutzungsgruppe verbleiben kann, bevor sie entfernt und mit einem Fehler beendet wird (ORA- 07454). |
parallel_queue_timeout_action |
Gibt die Aktion an, die ausgeführt werden soll, wenn eine parallele Anweisung aus der Queue entfernt wird. Grund: Folgende Werte sind verfügbar:
|
Hinweise zur Verwendung
- Sie können keine Plananweisungen für die vordefinierten Standardpläne mit der autonomen KI-Datenbank erstellen, d.h.
DWCS_PLANundOLTP_PLAN. - Alle Parameter mit Ausnahme der Freigaben werden standardmäßig auf
NULLgesetzt. - Ein Fehler wird ausgelöst, wenn
parallel_queue_timeoutangegeben ist,parallel_queue_timeout_actionjedoch nicht angegeben ist.
Beispiele
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;
/Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur DELETE_CONSUMER_GROUP
Mit dieser Prozedur werden Ressourcennutzungsgruppen gelöscht.
Syntax
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group IN VARCHAR2);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name der zu löschenden Consumer-Gruppe. Hinweis
Sie können keine vordefinierten Nutzungsgruppen löschen, die Autonomous Database enthalten, d.h. TPURGENT, TP, HIGH, MEDIUM und LOW. |
Beispiele
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur DELETE_PLAN
Bei diesem Verfahren werden der angegebene Plan sowie alle Plananweisungen gelöscht, auf die er sich bezieht.
Syntax
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan IN VARCHAR2,
cascade IN BOOLEAN DEFAULT FALSE); Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name des zu löschenden Ressourcenplans. Hinweis
Vordefinierte Pläne mit Autonomous Database, d.h. DWCS_PLAN und OLTP_PLAN, können nicht gelöscht werden.
|
cascade |
Kennzeichen, das angibt, ob der angegebene Plan und alle untergeordneten Elemente (Plananweisungen, Unterpläne, Nutzungsgruppen) gelöscht werden sollen. Obligatorische Objekte und Anweisungen werden nicht gelöscht. Der Standardwert ist DELETE_PLAN auftritt, wird der Vorgang zurückgesetzt, und es wird nichts gelöscht.
|
Beispiel
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan ==> <plan_name>);Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur DELETE_PLAN_DIRECTIVE
Mit diesem Verfahren werden Ressourcenplananweisungen gelöscht.
Syntax
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name des Ressourcenplans. Hinweis
Sie können keine Plananweisungen für die vordefinierten Standardpläne löschen, die mit Autonomous Database, d.h. DWCS_PLAN und OLTP_PLAN, geliefert werden.
|
consumer_group |
Name der Nutzungsgruppe. |
Beispiel
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Funktion LIST_CURRENT_RULES
Diese Funktion gibt die aktuellen Einstellungen für den Standardplan zurück.
LIST_CURRENT_RULES kann nicht zum Anzeigen der Einstellungen für benutzerdefinierte Pläne verwendet werden. Wenn Sie benutzerdefinierte Pläne verwenden, können Sie Ihre Einstellungen mit den DBRM-Ansichten anzeigen.
Syntax
CS_RESOURCE_MANAGER.LIST_CURRENT_RULES
RETURN TABLE;
Beispiel
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
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Funktion LIST_DEFAULT_RULES
Diese Funktion gibt die Standardwerte für alle Nutzungsgruppen zurück.
Syntax
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;Hinweis zur Verwendung
-
Der Policy-Wert für den parallelen Grad ist standardmäßig
MANUALfür die NutzungsgruppeTPURGENT. Die FunktionCS_RESOURCE_MANAGER.LIST_DEFAULT_RULESzeigt keinen Wert für den Standardwert für dieDEGREE_OF_PARALLELISMfür die NutzungsgruppeTPURGENTan.
Beispiel
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
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur REVERT_TO_DEFAULT_VALUES
Bei diesem Verfahren werden die Default-Resource Manager-Planeigenschaften auf Standardwerte zurückgesetzt.
Sie können diese Prozedur nicht mit benutzerdefinierten Plänen verwenden und sie kann nur dazu verwendet werden, die Änderungen an den Standard-Resource-Manager-Plänen, die mit Autonomous Database geliefert werden, rückgängig zu machen, d.h.
DWCS_PLAN und OLTP_PLAN.
Syntax
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group IN VARCHAR2,
shares IN BOOLEAN DEFAULT FALSE,
concurrency_limit IN BOOLEAN DEFAULT FALSE);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Gibt die wiederherzustellende Nutzungsgruppe an. Gültige Werte sind: |
shares |
Wenn der Wert |
concurrency_limit |
Wenn der Wert |
Beispiele
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;
/
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur SET_CONSUMER_GROUP_MAPPING
Diese Prozedur fügt Einträge hinzu, löscht oder ändert Einträge, die Sessions Nutzungsgruppen zuordnen, basierend auf den Anmelde- und Laufzeitattributen der Session.
Syntax
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Zuordnendes oder zu änderndes Attribut. Es kann eine der aufgeführten Konstanten sein. |
|
|
Abgleichsattributwert. Dazu gehören sowohl absolute als auch reguläre Ausdrücke. |
|
|
Name der zugeordneten Nutzungsgruppe oder |
Hinweise zur Verwendung
- Wenn für das angegebene Attribut und den angegebenen Wert keine Zuordnung vorhanden ist, wird eine Zuordnung zur angegebenen Nutzungsgruppe erstellt. Wenn für das angegebene Attribut und den angegebenen Wert bereits eine Zuordnung vorhanden ist, wird die zugeordnete Nutzungsgruppe in die angegebene aktualisiert. Wenn das Argument consumer_group
NULLlautet, wird jede Zuordnung aus dem angegebenen Attribut und Wert gelöscht. - Das Unterprogramm unterstützt einfache reguläre Ausdrücke für den Wertparameter. Es implementiert die gleiche Semantik wie der SQL-Operator "LIKE". Insbesondere wird '%' als Platzhalter mit mehreren Zeichen und '_' als Platzhalter mit einem einzelnen Zeichen verwendet. Das Zeichen '\' kann verwendet werden, um die Platzhalter zu entkommen. Beachten Sie, dass Platzhalter nur verwendet werden können, wenn das Attribut eines der folgenden Attribute ist:
CLIENT_OS_USERCLIENT_PROGRAMCLIENT_MACHINEMODULE_NAMEMODULE_NAME_ACTIONSERVICE_MODULESERVICE_MODULE_ACTION
- Vergleiche der Nutzungsgruppenzuordnung für
CS_RESOURCE_MANAGER.CLIENT_PROGRAMwerden durchgeführt, indem das@-Zeichen und die folgenden Zeichen ausV$SESSION.PROGRAMentfernt werden, bevor es mit dem angegebenenCLIENT_PROGRAM-Wert verglichen wird. - Mit Attributen wie Benutzername oder Anwendungsname können Sie bestimmen, wie Sessions in einer Nutzungsgruppe platziert werden, wie im obigen Beispiel gezeigt.
Beispiele
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;
/Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur SET_CONSUMER_GROUP_MAPPING_PRI
Zur Zuordnung der Session zu einer Nutzungsgruppe können mehrere Attribute einer Session verwendet werden. In diesem Verfahren werden die Attributzuordnungen priorisiert.
Syntax
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);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Priorität der expliziten Zuordnung. |
|
|
Priorität der Zuordnung von Oracle-Benutzernamen. |
|
|
Priorität der Zuordnung des Client Service-Namens. |
|
|
Priorität der Clientprogrammzuordnung. |
|
|
Priorität der Namenszuordnung des Anwendungsmoduls. |
|
|
Priorität des Anwendungsmodulsnamens und der Aktionszuordnung. |
|
|
Client-ID. |
Hinweise zur Verwendung
- Bei dieser Prozedur müssen Sie das Pseudo-Attribut explizit als Argument aufnehmen. Sie muss auf 1 gesetzt werden. Dies bedeutet, dass explizite Switches der Nutzungsgruppe die höchste Priorität haben. Das Wechseln der Nutzungsgruppe mit
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPhat Vorrang vor den Nutzungsgruppenzuordnungen. - Jeder Prioritätswert muss eine eindeutige Ganzzahl von 1 bis 11 sein. Zusammen legen sie eine Reihenfolge fest, in der 1 die höchste Priorität und 11 die niedrigste Priorität hat.
- Mit Attributen wie Benutzername oder Anwendungsname können Sie bestimmen, wie Sessions in einer Nutzungsgruppe platziert werden. Ein Beispiel finden Sie unter Schritt 4: Nutzungsgruppenzuordnungen erstellen.
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur SUBMIT_PENDING_AREA
Im Folgenden werden ausstehende Änderungen für den Ressourcenmanager weitergeleitet. Sie löscht den Bereich "Ausstehend", nachdem die Änderungen validiert und festgeschrieben wurden (falls gültig).
Ein Aufruf von
SUBMIT_PENDING_AREA kann auch dann fehlschlagen, wenn VALIDATE_PENDING_AREA erfolgreich ist. Dies kann auftreten, wenn ein Plan, der gelöscht wird, nach dem Aufruf von VALIDATE_PENDING_AREA von einer Instanz geladen wird, jedoch vor dem Aufruf von SUBMIT_PENDING_AREA.
Syntax
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur UPDATE_PLAN_DIRECTIVE
Mit dieser Prozedur können Sie vordefinierte Standardpläne aktualisieren, die mit der autonomen KI-Datenbank (DWCS_PLAN und OLTP_PLAN) für eine angegebene Nutzungsgruppe geliefert werden.
Mit diesem Verfahren können Sie die Einstellungen für benutzerdefinierte Pläne nicht aktualisieren. Um benutzerdefinierte Planattribute zu aktualisieren, verwenden Sie die Prozedur
UPDATE_PLAN_DIRECTIVE_ADV.
Syntax
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);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Gibt die zu aktualisierende Nutzungsgruppe an. Gültige Werte sind: |
|
|
Gibt die maximale Anzahl Megabyte an I/O an, die ein SQL-Vorgang ausgeben kann. Geben Sie einen |
|
|
Gibt die maximale Zeit in Sekunden an, die ein SQL-Vorgang ausgeführt werden kann. Geben Sie einen |
|
|
Gibt den Share-Wert an. Eine höhere Anzahl von Shares im Vergleich zu anderen Nutzungsgruppen erhöht die CPU- und I/O-Priorität der Nutzungsgruppe. |
|
|
Gibt die maximale Anzahl gleichzeitiger SQL-Anweisungen an, die ausgeführt werden können. Dieser Parameter ist nur mit der Nutzungsgruppe |
Hinweise zur Verwendung
-
Wenn eine SQL-Anweisung im angegebenen Service mehr als den angegebenen Laufzeitgrenzwert (
elapsed_time_limit) oder mehr I/O als den angegebenen Betrag (io_megabytes_limit) ausführt, wird die SQL-Anweisung beendet. -
Wenn der Parameter
concurrency_limitangegeben wird, ist der einzige gültige Wert fürconsumer_groupMEDIUM.
Beispiele
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;
/
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur UPDATE_PLAN_DIRECTIVE_ADV
Unter diesem Thema wird beschrieben, wie Sie den benutzerdefinierten Resource Manager-Plan für eine bestimmte Nutzungsgruppe aktualisieren.
Sie können dieses Verfahren nicht verwenden, um vordefinierte Standardpläne zu aktualisieren, die mit Autonomous Database, d.h.
DWCS_PLAN und OLTP_PLAN, geliefert werden. Um einen vordefinierten Standardressourcenplan zu aktualisieren, verwenden Sie die Prozedur UPDATE_PLAN_DIRECTIVE.
Syntax
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);Parameter
| Parameter | Beschreibung |
|---|---|
|
|
Name des Ressourcenplans. |
|
|
Name der Nutzungsgruppe. |
|
|
Kommentar für die Planrichtlinie. |
|
|
Anteil der Ressourcenzuweisung für die Nutzungsgruppe. Shares bestimmen, wie viel CPU- und I/O-Ressource eine Nutzungsgruppe relativ zu anderen Nutzungsgruppen erhält. Beispiel: Eine Nutzungsgruppe mit einem Anteil von 2 erhält das Doppelte der CPU- und I/O-Ressourcen als eine Nutzungsgruppe mit einem Anteil von 1. Wenn Sie keine Shares für eine Nutzungsgruppe in Ihrem Plan angeben, wird der Share dieser Nutzungsgruppe auf 1 gesetzt. |
|
|
Ressourcenlimits, die bestimmen, wie viele CPU- und I/O-Ressourcen eine Nutzungsgruppe maximal abrufen kann. |
|
|
Maßnahmen, die zu ergreifen sind, wenn die in den Richtlinien festgelegten Grenzen erreicht werden. Gültige Werte sind |
|
|
CPU-Zeit (in Sekunden), die eine Session ausführen kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist NULL, d.h. unbegrenzt. |
|
|
Menge an I/O (in MB), die eine Session ausgeben kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist |
|
|
Anzahl der I/O-Anforderungen, die eine Session ausgeben kann, bevor eine Aktion ausgeführt wird. Der Standardwert ist |
|
|
Anzahl der logischen I/Os, die die mit |
|
|
Verstrichene Zeit (in Sekunden), die die von |
|
|
Anzahl der Sekunden, die eine Session inaktiv sein kann, bevor die Session beendet wird. Der Standardwert ist |
|
|
Maximale Zeit in Sekunden, die eine Session inaktiv sein kann, bevor die Session beendet wird, wenn die Session eine Sperre oder Ressource hält, die von anderen Sessions benötigt wird. |
|
|
Maximale Anzahl von Sessions, die gleichzeitig einen aktiven Aufruf haben können. |
|
|
Angegebene Zeit (in Sekunden), nach der ein Aufruf in der inaktiven Sessionqueue (wartet auf Ausführung) wegen Timeout abgebrochen wird. Der Standardwert ist |
|
|
Gibt ein Limit für den Parallelitätsgrad für jeden Vorgang an. Der Standardwert ist |
|
|
Legt die Nebenläufigkeitsebene und damit den Parallelitätsgrad (DOP) fest. Es kann die DOP 1 machen. |
|
|
Maximale Größe der nicht optimierbaren PGA (in MB), die eine Session in dieser Nutzungsgruppe zuweisen kann, bevor sie beendet wird. SQL-Vorgänge, die optimierbare PGA zuweisen (Operationen, die temporären Speicherplatz verwenden können), werden nicht von diesem Grenzwert gesteuert. |
|
|
Gibt die Zeit (in Sekunden) an, die eine parallele Anweisung in der Queue der parallelen Anweisung der Nutzungsgruppe verbleiben kann, bevor sie entfernt und mit einem Fehler beendet wird (ORA- 07454). |
|
|
Gibt die Aktion an, die ausgeführt werden soll, wenn eine parallele Anweisung aus der Queue entfernt wird. Grund: Folgende Werte sind verfügbar:
|
Hinweise zur Verwendung
- Alle Parameter mit Ausnahme der Freigaben werden standardmäßig auf
NULLgesetzt. - Ein Fehler wird ausgelöst, wenn
parallel_queue_timeout_actionangegeben ist,parallel_queue_timeoutjedoch nicht angegeben ist.
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package
Prozedur VALIDATE_PENDING_AREA
Dieses Verfahren validiert ausstehende Änderungen für den Ressourcenmanager.
Syntax
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
Übergeordnetes Thema: CS_RESOURCE_MANAGER Package