Leistungsstarke Features in autonomen KI-Datenbanken auf dedizierter Exadata-Infrastruktur
In diesem Artikel werden die wichtigsten Features zur Leistungsoptimierung in Autonomous AI Database on Dedicated Exadata Infrastructure beschrieben.
Beachten Sie, dass in diesem Abschnitt der Begriff "Sie" allgemein für jeden Benutzer in Ihrer Organisation verwendet wird, der für die Ausführung bestimmter Aufgaben verantwortlich ist. In einigen Fällen ist das der Anwendungs-DBA, in anderen Fällen der Anwendungsentwickler.
Autonome KI-Datenbank umfasst mehrere Features, mit denen die Performance Ihrer Datenbank automatisch überwacht, analysiert und optimiert wird. Eine vollständige Liste der Features für SQL Tuning und Performancemanagement von Oracle Autonomous AI Database sowie Anweisungen zu deren Verwendung finden Sie in Oracle Database 19c SQL Tuning Guide oder im Oracle Database 26ai SQL Tuning Guide.
Eine umfassende Kategorisierung für die wichtigsten Performanceoptimierungsfeatures von Autonomous AI Database wird unten dargestellt.
Tipp:
In der folgenden Abbildung können Sie auf die Funktion klicken, die Sie weiter untersuchen möchten.Vordefinierte Datenbankservices
Die Verbindung zwischen Anwendung und Datenbank und die Codierung von SQL-Aufrufen an die Datenbank bestimmen die Gesamtperformance der Transaktionsverarbeitungs- und Berichtsvorgänge der Anwendung.
Tipp:
Prüfen Sie die wichtigsten Merkmale der vordefinierten Datenbankservices und die Tabelle, in der die verschiedenen Sets von Datenbankservices anhand dieser Merkmale verglichen werden, um zu entscheiden, welcher Datenbankservice für die Performanceanforderungen Ihrer Anwendung besser geeignet ist.Connection-Pools
Wenn Sie Verbindungen zu Ihrer autonomen KI-Datenbank herstellen, können Sie Verbindungspools verwenden, um den Performance-Overhead beim wiederholten Erstellen und Löschen einzelner Verbindungen zu reduzieren. Dies ist ein weiterer Faktor, der große Auswirkungen auf die Performance der Interaktion Ihrer Anwendung mit der Datenbank hat.
Häufig wird die Verwendung von Verbindungspools nur beim Entwerfen oder Verbessern einer Anwendung für kontinuierliche Verfügbarkeit in Betracht gezogen. Die Verwendung von Verbindungspools anstelle einzelner Verbindungen kann jedoch fast jeder Transaktionsverarbeitungsanwendung zugutekommen. Ein Verbindungspool bietet die folgenden Vorteile:
- Reduziert die Anzahl der neu erstellten Verbindungsobjekte.
- Fördert die Wiederverwendung von Verbindungsobjekten.
- Beschleunigt das Abrufen einer Verbindung.
- Kontrolliert die Menge der für die Verwaltung von Verbindungen verwendeten Ressourcen.
- Reduziert den Codierungsaufwand für die manuelle Verwaltung von Verbindungsobjekten.
Spezielle Verbindungsfeatures
-
Colocation-Tagging ist ein Beispiel dafür, dass diese Features in bestimmten Transaktionsverarbeitungsanwendungen nützlich sind. Wenn Ihre Anwendung wiederholt Verbindungen zu demselben Datenbankservice herstellt, können solche Verbindungen durch Colocation-Tagging an dieselbe Datenbankinstanz weitergeleitet werden. Dabei wird die Load-Balancing-Verarbeitung umgangen, die normalerweise auf der Datenbankseite von Verbindungen erfolgt. Weitere Informationen finden Sie unter COLOCATION_TAG von Clientverbindungen in Oracle Database 19c oder Oracle Database 26ai .
-
Shared Server-Konfiguration ist ein weiteres Feature, das Autonomous AI Database für die Verwaltung von Legacy-Anwendungen unterstützt, die ohne Connection Pooling entwickelt wurden. Die Shared-Server-Architektur ermöglicht es dem Datenbankserver, mehreren Clientprozessen die gemeinsame Verwendung nur sehr weniger Serverprozesse zu erlauben. Dadurch wird die Anzahl der Benutzer erhöht, die von der Anwendung unterstützt werden können. Mit der Shared-Server-Architektur für solche Legacy-Anwendungen können diese vertikal skaliert werden, ohne die Anwendung selbst zu ändern.
Sie können Shared Server-Verbindungen beim Provisioning einer autonomen Containerdatenbank (ACD) aktivieren. Diese Einstellung gilt für alle darin erstellten Datenbanken. Anweisungen hierzu finden Sie unter Autonomous Containerdatenbank erstellen.
Ausführliche Informationen zu Shared Servern, einschließlich Features wie Session Multiplexing, finden Sie auch im Oracle Database 19c Net Services Administrator's Guide oder im Oracle Database 26ai Net Services Administrator's Guide.
Nachdem die Shared Server-Verbindung für Ihre autonome Containerdatenbank aktiviert wurde, ist eine Änderung der Verbindungszeichenfolge nicht erforderlich. Die Standardkonfiguration ist auf Dedicated gesetzt.
Hinweis:
Sie können keinen Shared Server für eine bestimmte autonome KI-Datenbank deaktivieren, die unter einer autonomen Shared Server-fähigen Containerdatenbank erstellt wurde. Außerdem können Sie keine dedizierte Verbindung für autonome KI-Datenbanken verwenden, die unter einer autonomen Shared Server-fähigen Containerdatenbank erstellt wurden.
Features des SQL-Performancetunings
Voraussetzung für gute Anwendungen ist ein gut geschriebener SQL-Code. Oracle Autonomous AI Database bietet zahlreiche Features, mit denen Sie leistungsstarke Anwendungen erstellen und Ihren SQL- und PL/SQL-Code validieren kann. Einige dieser Funktionen sind unten aufgeführt:
- Automatische Indexierung
- Optimizer-Statistiken und -Hinweise
- Automatische Auflösung von SQL-Planregressionen
- Automatische Quarantäne von fehlgeleiteten SQL-Anweisungen
- SQL-Planmanagement
- SQL Tuning Sets
- SQL Trace
Bei der Entwicklung Ihrer Anwendung können Sie schnell erfahren, wie sich diese Features auf den von Ihnen geschriebenen SQL-Code auswirken. Verbessern Sie Ihren Code daher mit dem SQL Worksheet, das sowohl von Oracle Database Actions (das in Ihre Autonomous AI Database integriert ist) als auch von Oracle SQL Developer (einer kostenlosen Anwendung, die Sie auf Ihrem Entwicklungssystem installieren) bereitgestellt wird.
SQL Tracing
Wenn ein Anwendungsvorgang länger als erwartet dauert, können Sie durch das Abrufen eines Traces aller SQL-Anweisungen, die als Teil dieses Vorgangs ausgeführt werden, mit Details wie der Zeit, die diese SQL-Anweisung in den Parse-, Ausführungs- und Fetch-Phasen verbracht hat, die Ursache des Performanceproblems identifizieren und beheben. Dazu können Sie SQL-Tracing in einer autonomen KI-Datenbank verwenden.
SQL-Tracing ist in Autonomous AI Database standardmäßig deaktiviert. Sie müssen es aktivieren, um mit der Erfassung der SQL-Tracingdaten zu beginnen. Ausführliche Anweisungen zum Aktivieren und Verwenden von SQL-Tracing finden Sie unter SQL-Tracing in Autonomous AI Database verwenden.
Optimizer-Statistiken
Autonome KI-Datenbank erfasst Optimizer-Statistiken automatisch, sodass Sie diese Aufgabe nicht manuell ausführen müssen. Dadurch wird sichergestellt, dass Statistiken immer aktuell sind. Die automatische Statistikerfassung ist in Autonomous AI Database aktiviert und wird in einem Standardwartungsfenster ausgeführt.
Hinweis:
Weitere Informationen zu Wartungsfensterzeiten und zur automatischen Erfassung von Optimizer-Statistiken finden Sie in Administratorhandbuch für Oracle Database 19c oder im Administratorhandbuch für Oracle Database 26ai.
Weitere Informationen zu Optimizer-Statistiken finden Sie in der Dokumentation Oracle Database 19c SQL Tuning Guide oder im Oracle Database 26ai SQL Tuning Guide.
Optimizer-Hinweise
Optimizer-Hinweise sind besondere Kommentare in einer SQL-Anweisung, die Anweisungen an den Optimizer übergeben. Der Optimizer verwendet Hinweise, um einen Ausführungsplan für die Anweisung auszuwählen, sofern das nicht durch eine bestimmte Bedingung verhindert wird.
PARALLEL
-Hinweise unterscheiden sich je nach Workload:
-
Autonomous AI Lakehouse: Autonomous AI Database mit Data Warehouse ignores-Optimizer-Hinweise und
PARALLEL
-Hinweise in SQL-Anweisungen standardmäßig.Wenn die Anwendung auf Hinweisen basiert, können Sie Optimizer-Hinweise aktivieren, indem Sie den Parameter
OPTIMIZER_IGNORE_HINTS
auf Session- oder Systemebene mitALTER SESSION
oderALTER SYSTEM
aufFALSE
setzen.Beispiel: Mit dem folgenden Befehl können Sie Hinweise in der Session aktivieren:ALTER SESSION SET OPTIMIZER_IGNORE_HINTS=FALSE;
Sie können auch
PARALLEL
-Hinweise in SQL-Anweisungen aktivieren, indem SieOPTIMIZER_IGNORE_PARALLEL_HINTS
auf Session- oder Systemebene mitALTER SESSION
oderALTER SYSTEM
aufFALSE
setzen.Beispiel: Mit dem folgenden Befehl aktivieren SiePARALLEL
-Hinweise in der Session:ALTER SESSION SET OPTIMIZER_IGNORE_PARALLEL_HINTS=FALSE;
-
Autonomous AI Transaction Processing: Autonomous AI Database Ehren-Optimizer-Hinweise und
PARALLEL
-Hinweise in SQL-Anweisungen standardmäßig.Sie können Optimizer-Hinweise deaktivieren, indem Sie den Parameter
OPTIMIZER_IGNORE_HINTS
auf Session- oder Systemebene mitALTER SESSION
oderALTER SYSTEM
aufTRUE
setzen.Beispiel: Der folgende Befehl deaktiviert Hinweise in der Session:
ALTER SESSION SET OPTIMIZER_IGNORE_HINTS=TRUE;
Sie können
PARALLEL
-Hinweise auch in SQL-Anweisungen deaktivieren, indem SieOPTIMIZER_IGNORE_PARALLEL_HINTS
auf Session- oder Systemebene mitALTER SESSION
oderALTER SYSTEM
aufTRUE
setzen.Beispiel: Mit dem folgenden Befehl aktivieren Sie
PARALLEL
-Hinweise in der Session:ALTER SESSION SET OPTIMIZER_IGNORE_PARALLEL_HINTS=TRUE;
Automatische Indexierung
Die automatische Indexierung automatisiert die Indexverwaltungsaufgaben in Autonomous AI Database. Die automatische Indexierung ist in Autonomous AI Database standardmäßig deaktiviert.
Das manuelle Erstellen von Indizes erfordert umfassende Kenntnisse in Bezug auf Datenmodell, Anwendung und Datenverteilung. In der Vergangenheit waren DBAs für die Auswahl der zu erstellenden Indizes verantwortlich. Manchmal haben die DBAs ihre Auswahl nicht geändert oder Indizes nicht beibehalten, wenn sich die Bedingungen geändert haben. Dadurch gingen Verbesserungsmöglichkeiten verloren, und die Verwendung unnötiger Indizes konnte die Performance beeinträchtigen.
Das Feature für die automatische Indexierung in Autonomous AI Database überwacht die Anwendungs-Workload und erstellt und verwaltet Indizes automatisch.
Tipp:
Als Alternative kann Sie Lab 14: Automatic Indexing im Oracle Autonomous AI Database Dedicated for Developers and Database Users Workshop ausführen, um diese Anweisungen auszuprobieren.- Verwenden Sie die Prozedur
DBMS_AUTO_INDEX.CONFIGURE
, um die automatische Indexierung zu aktivieren. Beispiel: Wenn Sie die folgende Anweisung ausführen, wird die automatische Indexierung in einer Datenbank aktiviert. Dadurch werden neue automatische Indizes als sichtbare Indizes erstellt, sodass sie in SQL-Anweisungen verwendet werden können.EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','IMPLEMENT');
- Mit dem Package
DBMS_AUTO_INDEX
können Sie Berichte zur automatischen Aufgabe erstellen und Voreinstellungen für die automatische Indexierung festlegen.Hinweis:
Wenn die automatische Indexierung aktiviert ist, wird die Indexkomprimierung für automatische Indizes standardmäßig aktiviert.
DBMS_AUTO_INDEX.CONFIGURE
, um die automatische Indexierung zu deaktivieren. Beispiel: Wenn Sie die folgende Anweisung ausführen, wird die automatische Indexierung in einer Datenbank deaktiviert, sodass keine neuen automatischen Indizes erstellt werden. Die vorhandenen automatischen Indizes bleiben jedoch aktiviert.EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF');
Weitere Informationen finden Sie unter Managing Auto Indexes im Oracle Database 19c Administrator's Guide oder im Oracle Database 26ai Administrator's Guide.
Schnelle Datenaufnahme
Die schnelle Datenaufnahme optimiert die Verarbeitung hochfrequenter Einfügevorgänge von einzeiligen Daten in eine Datenbank. Bei der schnellen Datenaufnahme werden Einfügevorgänge im Large Pool gepuffert, bevor sie auf Datenträger geschrieben werden, um die Performance beim Einfügen von Daten zu verbessern.
Das Ziel von Fast-Uningest ist es, Anwendungen zu unterstützen, die viele Informationsdaten generieren, die einen wichtigen Wert im Aggregat haben, aber nicht unbedingt vollständige ACID-Garantien erfordern. Viele Anwendungen im Internet of Things (IoT) haben eine schnelle Arbeitslast vom Typ "Feuer und Vergessen", wie Sensordaten, Smart Meter-Daten oder sogar Verkehrskameras. Für diese Anwendungen können Daten zur späteren Analyse in großen Mengen erfasst und in die Datenbank geschrieben werden.
Die schnelle Aufnahme unterscheidet sich sehr von der normalen Oracle AI Database-Transaktionsverarbeitung, bei der Daten protokolliert werden und nie verloren gehen, wenn sie in die Datenbank geschrieben werden (d. h. festgeschrieben). Um den maximalen Aufnahmedurchsatz zu erreichen, werden die normalen Oracle-Transaktionsmechanismen umgangen. Die Anwendung muss prüfen, ob alle Daten tatsächlich in die Datenbank geschrieben wurden. Es wurden spezielle APIs hinzugefügt, die aufgerufen werden können, um zu prüfen, ob die Daten in die Datenbank geschrieben wurden.
Einen Überblick über die schnelle Aufnahme und die Schritte zur Verwendung dieses Features finden Sie unter Fast Ingest verwenden in Oracle Database 19c Performance Tuning Guide oder Oracle Database 26ai Performance Tuning Guide.
-
Optimizer zur Verwendung von Hints aktivieren: Setzen Sie den Parameter
optimizer_ignore_hints
auf Session- oder Systemebene aufFALSE
.Je nach Workload-Typ der autonomen KI-Datenbank kann
optimizer_ignore_hints
standardmäßig auf Systemebene aufFALSE
gesetzt werden. Weitere Informationen finden Sie unter Optimizer-Statistiken. - Tabelle für schnelle Aufnahme erstellen: In der Dokumentation Oracle Database 19c Performance Tuning Guide oder in der Dokumentation Oracle Database 26ai Performance Tuning Guide werden die Einschränkungen beschrieben, mit denen Tabellen für die schnelle Aufnahme in Frage kommen (Tabellen mit den angegebenen Eigenschaften können keine schnelle Aufnahme verwenden).
Vordefinierte Jobklassen mit Oracle Scheduler
Autonomous AI Database enthält vordefinierte job_class
-Werte für die Verwendung mit Oracle Scheduler. Mit diesen Job-Klassen können Sie Jobs, die gemeinsame Merkmale und Verhaltensweisen aufweisen, in größeren Entitys gruppieren, sodass Sie zwischen diesen Klassen Prioritäten setzen können, indem Sie die Ressourcen steuern, die jeder Klasse zugewiesen sind.
Mit vordefinierten Jobklassen können Sie sicherstellen, dass Ihre kritischen Jobs Priorität haben und genügend Ressourcen für den Abschluss vorhanden sind. Beispiel: Damit ein kritisches Projekt ein Data Warehouse lädt, können Sie alle Data Warehousing-Jobs in einer Klasse kombinieren und gegenüber anderen Jobs priorisieren, indem Sie einen hohen Prozentsatz der verfügbaren Ressourcen zuweisen. Sie können den Jobs innerhalb einer Jobklasse auch relative Prioritäten zuweisen.
Die vordefinierten job_class
-Werte TPURGENT
, TP
, HIGH
, MEDIUM
und LOW
sind den entsprechenden Consumer-Gruppen zugeordnet. Mit diesen Jobklassen können Sie die Consumer-Gruppe angeben, in der ein Job mit DBMS_SCHEDULER.CREATE_JOB
ausgeführt wird.
Die Prozedur DBMS_SCHEDULER.CREATE_JOB
unterstützt PLSQL_BLOCK
- und STORED_PROCEDURE
-Jobtypen für den Parameter job_type
in Autonomous AI Database.
Beispiel: Verwenden Sie Folgendes, um einen einzelnen regulären Job zu erstellen, der in der Consumer-Gruppe HIGH
ausgeführt werden soll:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'update_sales',
job_type => 'STORED_PROCEDURE',
job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
start_date => '28-APR-19 07.00.00 PM Australia/Sydney',
repeat_interval => 'FREQ=DAILY;INTERVAL=2',
end_date => '20-NOV-19 07.00.00 PM Australia/Sydney',
auto_drop => FALSE,
job_class => 'HIGH',
comments => 'My new job');
END;
/
Hinweise zu Oracle Scheduler:
-
Um
DBMS_SCHEDULER.CREATE_JOB
zu verwenden, müssen möglicherweise zusätzliche Rechte für bestimmte Rollen oder Berechtigungen erteilt werden. Der BenutzerADMIN
und die Benutzer mitDWROLE
verfügen über die erforderlichen BerechtigungenCREATE SESSION
undCREATE JOB
. Wenn ein Benutzer nicht überDWROLE
verfügt, sind Berechtigungen fürCREATE SESSION
undCREATE JOB
erforderlich. -
Das Jobattribut
instance_id
wird für Oracle Scheduler-Jobs ignoriert, die in Autonomous AI Database ausgeführt werden.
Weitere Informationen zu Oracle Scheduler und DBMS_SCHEDULER.CREATE_JOB
finden Sie unter Jobs mit Oracle Scheduler planen in Oracle Database 19c oder Oracle Database 26ai .
Informationen zu Jobattributen finden Sie unter Prozedur SET_ATTRIBUTE in Oracle Database 19c oder Oracle Database 26ai.
Tools für Performanceüberwachung und -optimierung
Tool | Details |
---|---|
Performancehub |
Ein leicht verfügbares Tool mit umfangreichen Features, das in der Oracle Cloud Infrastructure-(OCI-)Konsole verfügbar ist. Performance Hub ist auch in Oracle Database Actions und Oracle Enterprise Manager integriert. Weitere Informationen finden Sie unter Datenbankperformance mit Performancehub überwachen. |
Autonomous AI Database-Metriken |
Mit die Metriken des Autonomous AI Database-Service können Sie nützliche quantitative Daten messen, wie CPU- und Speicherplatzauslastung, die Anzahl erfolgreicher und nicht erfolgreich erfolgreicher Datenbankanmelde- und -verbindungsversuche, Datenbankvorgänge, SQL-Abfragen und -Transaktionen usw. Anhand der Metrikdaten können Sie Probleme mit Ihren autonomen KI-Datenbankressourcen diagnostizieren und beheben. Weitere Informationen, wie Voraussetzungen, Nutzung und die Liste der Metriken, die für Autonomous AI Database on Dedicated Exadata Infrastructure verfügbar sind, finden Sie unter Datenbanken mit autonomen KI-Datenbankmetriken überwachen. |
Automatic Workload Repository (AWR) und Automatic Database Diagnostic Monitor (ADDM) |
Zwei weitere häufig verwendete Tools sind Automatic Workload Repository (AWR) und Automatic Database Diagnostic Monitor (ADDM). AWR speichert performancebezogene Statistiken für eine Oracle-Datenbank. ADDM ist ein Diagnosetool, das die AWR-Daten regelmäßig analysiert, die Ursachen von Performanceproblemen ermittelt, Empfehlungen zur Behebung der Probleme bereitstellt und unproblematische Bereiche des Systems identifiziert. Da AWR ein Repository aus historischen Performancedaten ist, kann ADDM Performanceprobleme nach dem Ereignis analysieren und dabei häufig Zeit und Ressourcen für die Reproduktion eines Problems sparen. Anweisungen zur Verwendung dieser Tools sowie detaillierte Informationen zur Überwachung und Optimierung von Datenbankperformance finden Sie im Oracle Database 19c Performance Tuning Guide oder im Oracle Database 26ai Performance Tuning Guide. AWR und ADDM sind auch über Performancehub verfügbar. Weitere Informationen finden Sie unter Datenbankperformance mit Performancehub überwachen. Eine schnelle Einführung in das Monitoring und die Optimierung der Datenbankperformance finden Sie im Handbuch für Oracle Database 19c 2 Day + Performance Tuning oder im Handbuch für Oracle Database 26ai 2 Day + Performance Tuning. |