Automatische Partitionierung in Autonomous Database verwalten
Die automatische Partitionierung ist bei Anwendung transparent und erfordert keine Benutzerinteraktion oder -wartung.
Die automatische Partitionierung beeinträchtigt keine vorhandenen Partitionierungsstrategien und ergänzt die manuelle Partitionierung in Autonomous Database. Manuell partitionierte Tabellen werden als Kandidaten für die automatische Partitionierung ausgeschlossen.
- Automatische Partitionierung
Die automatische Partitionierung in Autonomous Database analysiert die Anwendungs-Workload und wendet die Partitionierung automatisch auf Tabellen und deren Indizes an, um die Performance zu verbessern oder eine bessere Verwaltung großer Tabellen zu ermöglichen. - Funktionsweise der automatischen Partitionierung
Bei Aufruf identifiziert die automatische Partitionierung Kandidatentabellen für die automatische Partitionierung, wertet Partitionsschemas aus und implementiert eine Partitionierungsstrategie. - Automatische Partitionierung konfigurieren
Mit der ProzedurDBMS_AUTO_PARTITION.CONFIGURE
können Sie automatische Partitionierungsoptionen konfigurieren. - Automatische Partitionierung verwenden
Beschreibt den Ablauf und die allgemeinen Prozesse zur Verwendung und Verwaltung der automatischen Partitionierung in Autonomous Database. - Automatische Partitionierungsberichte generieren
Generieren Sie automatische Partitionierungsberichte mit den FunktionenREPORT_ACTIVITY
undREPORT_LAST_ACTIVITY
des PackagesDBMS_AUTO_PARTITION
. - Beispielszenarios für die automatische Partitionierung
Beispielszenarios für die automatische Partitionierung mit den API-Prozeduren und -FunktionenDBMS_AUTO_PARTITION
. - Data Dictionary Views für die automatische Partitionierung
Im Data Dictionary gibt es zwei neue Views und eine aktualisierte View für Informationen zur Konfiguration der automatischen Partitionierung und Empfehlungen in der Datenbank.
Übergeordnetes Thema: Performance Monitor und Management
Automatische Partitionierung
Die automatische Partitionierung in Autonomous Database analysiert die Anwendungs-Workload und wendet die Partitionierung automatisch auf Tabellen und deren Indizes an, um die Performance zu verbessern oder eine bessere Verwaltung großer Tabellen zu ermöglichen.
Um geeignete Partitionierungsstrategien zu finden, müssen Sie die Anwendungs-Workload und die Datenverteilung genau kennen. Wenn Sie die manuelle Partitionierung durchführen, müssen Sie die Arbeitslast analysieren und wählen, wie die Partitionierung auf Tabellen und Indizes angewendet werden soll, um die Performance von Anwendungen zu verbessern. Durch die automatische Partitionierung können Autonomous Database-Benutzer von der Partitionierung profitieren, ohne manuelle Schema- und Workload-Analysen durchführen zu müssen.
Bei der automatischen Partitionierung wird ein einspaltiger Partitionsschlüssel in Kombination mit einer Partitionierung auf einer Ebene verwendet. Die automatische Partitionierung unterstützt keine komplexeren Partitionierungsstrategien wie mehrspaltige partitionierte Tabellen oder Composite-Partitionierung.
Bei der automatischen Partitionierung werden folgende Partitionsmethoden gewählt:
- AUTOMATISCHE INTERVAL: Diese Auswahl eignet sich am besten für Bereiche von Partitionsschlüsselwerten.
- LIST AUTOMATIC: Diese Partitionierungsmethode gilt für eindeutige Partitionsschlüsselwerte.
- HASH: Wendet die Partitionierung auf die HASH-Werte des Partitionsschlüssels an.
Weitere Informationen finden Sie unter Partitionierungskonzepte.
Die automatische Partitionierung bietet folgende Funktionen:
- Analysiert die Anwendungs-Workload und ermittelt die optimale Partitionierungsstrategie, um die Abfrage-Performance für Tabellen zu verbessern, die für die automatische Partitionierung geeignet sind.
- Stellt PL/SQL-APIs bereit, mit denen die automatische Partitionierung in einer Datenbank konfiguriert, Berichte über Partitionierungsergebnisse generiert und eine identifizierte Partitionierungsstrategie für eine bestimmte Workload generiert und angewendet werden kann.
Bei der automatischen Partitionierung sind explizite Aufrufe der PL/SQL-APIs
DBMS_AUTO_PARTITION
erforderlich, um die automatische Partitionierung zu empfehlen und auf eine Autonomous Database anzuwenden.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Funktionsweise der automatischen Partitionierung
Im Gegensatz zur automatischen Indexierung wird die automatische Partitionierung nicht regelmäßig als Hintergrundaufgabe ausgeführt. Die automatische Partitionierung wird nur ausgeführt, wenn Sie sie mit der Funktion DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
aufrufen.
Wenn Sie die automatische Partitionierung aufrufen, werden folgende Aufgaben ausgeführt:
-
Gibt Kandidatentabellen für die automatische Partitionierung an, indem die Arbeitsauslastung für ausgewählte Kandidatentabellen analysiert wird.
Standardmäßig verwendet die automatische Partitionierung die in einer Autonomous Database erfassten Workload-Informationen zur Analyse. Je nach Größe der Arbeitslast kann ein Beispiel von Abfragen berücksichtigt werden.
-
Bewertet Partitionsschemas basierend auf Workload-Analyse, Quantifizierung und Überprüfung der Performancevorteile:
-
Leere Partitionsschemas für Kandidaten mit synthetischen Statistiken werden intern erstellt und auf Performance analysiert.
-
Das Kandidatenschema mit der höchsten geschätzten I/O-Reduktion wird als optimale Partitionierungsstrategie gewählt und intern implementiert, um die Performance zu testen und zu überprüfen.
-
Wenn ein Kandidatenpartitionsschema die Performance nicht über die angegebenen Performance- und Regressionskriterien hinaus verbessert, wird die automatische Partitionierung nicht empfohlen.
-
-
Implementiert die optimale Partitionierungsstrategie für die Tabellen, die von den automatischen Partitionierungsverfahren analysiert werden, sofern entsprechend konfiguriert.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Automatische Partitionierung konfigurieren
Verwenden Sie das Verfahren DBMS_AUTO_PARTITION.CONFIGURE
, um automatische Partitionierungsoptionen zu konfigurieren.
Empfehlungen aktivieren und implementieren
EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','IMPLEMENT');
Empfehlungen aktivieren, aber diese Empfehlungen nicht implementieren
EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','REPORT ONLY');
Deaktivieren neuer Empfehlungen und Umsetzung dieser neuen Empfehlungen
EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','OFF');
In diesem Modus werden vorhandene automatisch partitionierte Tabellen nicht deaktiviert.
Schemata und Tabellen für automatische Partitionierung verwalten
AUTO_PARTITION_SCHEMA
und AUTO_PARTITION_TABLE
, um Schemas und Tabellen anzugeben, die für die automatische Partitionierung berücksichtigt werden.
Wenn die automatische Partitionierung aufgerufen wird, werden alle Schemas und Tabellen in benutzerverwalteten Schemas für die automatische Partitionierung berücksichtigt, wenn sowohl die Einschluss- als auch die Ausschlusslisten leer sind.
-
Wenn die Einschlussliste und die Ausschlussliste leer sind, fügen Sie das Schema
HR
und die TabelleSH.SALES
der Ausschlussliste hinzu, sodass nur diese Objekte keine automatische Partitionierungsanalyse ausführen können.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_SCHEMA', PARAMETER_VALUE => 'HR', ALLOW => FALSE); DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_TABLE', PARAMETER_VALUE => 'SH.SALES', ALLOW => FALSE); END; /
-
Nachdem das vorherige Beispiel ausgeführt wurde, entfernen Sie das Schema
HR
mit dem folgenden Befehl aus der Ausschlussliste.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_SCHEMA', PARAMETER_VALUE => 'HR', ALLOW => NULL); END; /
-
Mit dem folgenden Befehl können Sie alle Schemas aus der Ausschlussliste entfernen.
BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_SCHEMA', PARAMETER_VALUE => NULL, ALLOW => TRUE); END; /
-
Wenn die Ein- und Ausschlusslisten leer sind, wird im folgenden Beispiel das Schema
HR
zur Einschlussliste hinzugefügt. Sobald die Einschlussliste nicht mehr leer ist, werden nur Schemas in der Einschlussliste berücksichtigt.In diesem Beispiel ist nur das Schema
HR
für die automatische Partitionierung geeignet.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_SCHEMA', PARAMETER_VALUE => 'HR', ALLOW => TRUE); END; /
Aufbewahrungszeitraum für automatische Partitionierungsberichte verwalten
Legen Sie den Aufbewahrungszeitraum für automatische Partitionierungsberichte auf 365 Tage fest.
BEGIN
DBMS_AUTO_PARTITION.CONFIGURE(
PARAMETER_NAME => 'AUTO_PARTITION_REPORT_RETENTION',
PARAMETER_VALUE => '365');
END;
/
Weitere Informationen finden Sie unter CONFIGURE-Prozedur.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Automatische Partitionierung verwenden
Beschreibt den Ablauf und allgemeine Prozesse zur Verwendung und Verwaltung der automatischen Partitionierung in Autonomous Database.
- Datenbank für automatische Partitionierung auswählen.
Im Allgemeinen empfiehlt Oracle die automatische Partitionierung in geklonten oder manuell erstellten Datenbanken anstelle von Produktionsdatenbanken. Die Analyse und Verifizierung der automatischen Partitionierung mit
RECOMMEND_PARTITION_METHOD
ist möglicherweise ein ressourcenintensiver und langwieriger Vorgang, der Ihrer Datenbank unerwünschte Verarbeitung hinzufügen kann.Um eine sekundäre Datenbank für die automatische Partitionierungsanalyse verwenden zu können, muss die Datenbank über Informationen zu Ihrer Workload in einem intern verwalteten SQL-Workload Repository verfügen.
- Verwenden Sie eine geklonte Datenbank zur automatischen Partitionierung.
Autonomous Database erfasst automatisch Workload-Informationen im Zeitverlauf in einem intern verwalteten SQL-Workload Repository, das im SQL Tuning Set (
SYS_AUTO_STS
) verwaltet wird. Wenn Sie die Produktionsdatenbank klonen, nachdem Sie die Workload eine Weile ausgeführt haben, enthält der Klon die erforderlichen Workload-Informationen. Sie können die automatische Partitionierung mit solchen Klonen ohne zusätzliche Aktionen verwenden. - Verwenden Sie andere Datenbanken zur automatischen Partitionierung.
Sie können Ihre Workload manuell ausführen, um die erforderlichen Workload-Informationen zu erfassen. Wenn Sie Ihre Workload vor der automatischen Partitionierung manuell ausführen, können alle Autonomous Database-Instanzen, die Ihre gewünschten Schemas und Daten enthalten, nach der Ausführung der Workload zur automatischen Partitionierung verwendet werden, unabhängig davon, ob sie geklont oder manuell erstellt wurde.
- Verwenden Sie eine geklonte Datenbank zur automatischen Partitionierung.
- Automatische Partitionierung empfehlen.
Verwenden Sie
RECOMMEND_PARTITION_METHOD
, um die Datenbank, bestimmte Schemas oder bestimmte Tabellen zu analysieren und gegebenenfalls die optimale Partitionierungsstrategie zu identifizieren. Die Empfehlung analysiert Ihre Workload und Schemas und prüft die Performancevorteile, indem die Workload für eine intern erstellte Auxiliary-Tabelle ausgeführt wird. Dies kann ein ressourcenintensiver und langwieriger Vorgang sein, bei dem CPU und I/O erforderlich sind, um die Auxiliary-Tabelle zu erstellen und die Performance zu überprüfen. Sie benötigen auch vorübergehend zusätzlichen Platz, von 1 - 1,5 mal, Ihren größten Kandidatentisch. - Anwendung der Empfehlung.
Jede Empfehlung kann mit der Prozedur
APPLY_RECOMMENDATION
in der Datenbank implementiert werden, in der die Empfehlungsanalyse erfolgt ist. Alternativ kann jede Empfehlung aus der Datenbank extrahiert werden, die für die Analyse verwendet wird, und auf jede Datenbank angewendet werden, z. B. ein Produktionssystem. Das Skript, das für die manuelle Änderung erforderlich ist, wird in SpalteMODIFY_TABLE_DDL
in der AnsichtDBA_AUTO_PARTITION_RECOMMENDATION
gespeichert.Oracle empfiehlt, die automatische Partitionierung außerhalb der Spitzenzeiten auf die Datenbank anzuwenden. Während Ihre Tabellen in automatisch partitionierte Tabellen geändert werden, fügt die Konvertierung Ihrem System zusätzliche Ressourcenanforderungen hinzu, wie zusätzliche CPU und I/O. Für die automatische Partitionierung muss die Größe der Tabelle bis zum 1,5-fachen als zusätzlicher freier Speicherplatz geändert werden, je nach gleichzeitig laufenden DML-Vorgängen für diese Tabellen.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Automatische Partitionierungsberichte generieren
Generieren Sie automatische Partitionierungsberichte mit den Funktionen REPORT_ACTIVITY
und REPORT_LAST_ACTIVITY
des Packages DBMS_AUTO_PARTITION
.
Generieren eines Berichts im Nur-Text-Format für automatische Partitionierungsvorgänge für einen bestimmten Zeitraum
In diesem Beispiel wird ein Bericht generiert, der typische Informationen zu den automatischen Partitionierungsvorgängen der letzten 24 Stunden enthält. Der Bericht wird standardmäßig im Nur-Text-Format generiert.
DECLARE
Report clob := NULL
BEGIN
Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY();
END;
/
Generieren eines Berichts im HTML-Format für automatische Partitionierungsvorgänge für MAY 2021
In diesem Beispiel wird ein Bericht generiert, der grundlegende Informationen über die automatischen Partitionierungsvorgänge für den Monat MAI 2021 enthält. Der Bericht wird im HTML-Format generiert und enthält nur eine Zusammenfassung der automatischen Partitionierungsvorgänge.
DECLARE
Report clob := NULL
BEGIN
Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY(
ACTIVITY_START => TO_TIMESTAMP('2021-05-01', 'YYYY-MM-DD'),
ACTIVITY_END => TO_TIMESTAMP('2021-06-01', 'YYYY-MM-DD'),
TYPE => 'HTML',
SECTION => 'SUMMARY',
LEVEL => 'BASIC' );
END;
/
Bericht im Klartextformat des letzten automatischen Partitionierungsvorgangs generieren
In diesem Beispiel wird ein Bericht generiert, der typische Informationen zum letzten automatischen Partitionierungsvorgang enthält. Der Bericht wird standardmäßig im Nur-Text-Format generiert.
DECLARE
Report clob := NULL
BEGIN
Report := DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY();
END;
/
Weitere Informationen finden Sie unter Funktion REPORT_ACTIVITY.
Weitere Informationen finden Sie unter Funktion REPORT_LAST_ACTIVITY.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Beispielszenarios bei der automatischen Partitionierung
Beispielszenarios für die automatische Partitionierung mit den API-Prozeduren und -Funktionen DBMS_AUTO_PARTITION
.
Empfehlung für eine einzelne Tabelle generieren und Empfehlung manuell anwenden
- Setzen Sie den Parameter
AUTO_PARTITION_MODE
aufREPORT ONLY
, damit eine automatische Partitionierungsempfehlung erstellt und geprüft werden kann. Die Empfehlung wird nicht auf die Tabelle angewendet.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_MODE', PARAMETER_VALUE => 'REPORT ONLY'); END; /
- Stellen Sie sicher, dass die Tabelle
TPCH.LINEITEM
ein Kandidat für die automatische Partitionierung ist. Dieser Schritt ist optional und wird empfohlen, wenn Sie selektiv einzelne Tabellen als Ziel verwenden.SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE( TABLE_OWNER => 'TPCH', TABLE_NAME => 'LINEITEM') FROM DUAL;
Wenn die Tabelle ein gültiger Kandidat ist, wird beim Aufruf der automatischen Partitionierung für eine Empfehlungsanalyse
VALID
zurückgegeben. Andernfalls werden die Verletzungskriterien angezeigt.Eine Liste der Kriterien für berechtigte Kandidatentabellen finden Sie unter VALIDATE_CANDIDATE_TABLE Funktion.
- Rufen Sie die API
DBMS_AUTO_PARTITION
auf, um eine Empfehlung für die TabelleTPCH.LINEITEM
zu generieren.-- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID VARIABLE RECOMMENDATION_ID VARCHAR2(32); BEGIN :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD( TABLE_OWNER => 'TPCH', TABLE_NAME => 'LINEITEM'); END; /
Die Empfehlungsanalyse und -verifizierung, die Sie mit
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
ausführen, kann ressourcenintensiv und langwierig sein und viel Zeit in Anspruch nehmen. Führen Sie diesen Schritt für eine Datenbank aus, die nicht das primäre Produktionssystem ist. Oracle empfiehlt, dass Sie der Prüfung ausreichende Ressourcen zur Verfügung stellen, indem Sie den HIGH-Service wählen. - Prüfen Sie die Empfehlung. Die Ansicht
DBA_AUTO_PARTITION_RECOMMENDATIONS
enthält die Informationen zur Empfehlung. Prüfen Sie in diesem Beispiel den empfohlenen Partitionsschlüssel und die empfohlene Partitionsmethode.SELECT PARTITION_METHOD, PARTITION_KEY FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
Fragen Sie außerdem dieselbe Ansicht ab, um den Performanceanalysebericht abzurufen, der für die Workload generiert wurde, nachdem die Tabelle gemäß der Empfehlung partitioniert wurde.
SELECT REPORT FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
- Wenden Sie die Empfehlung nach der manuellen Validierung der Empfehlung an. Wenn Sie die Empfehlung in der Datenbank anwenden, in der die Empfehlungsanalyse stattgefunden hat, wenden Sie die Empfehlung an, indem Sie die Prozedur
APPLY_RECOMMENDATION
ausführen.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID); END; /
Wenn Sie die Empfehlung auf eine andere Datenbank anwenden möchten, z.B. auf Ihre Produktionsumgebung, extrahieren Sie die Änderungs-DDL. Führen Sie dann die extrahierte Änderungs-DDL in der Zieldatenbank aus. Die Abfrage zum Extrahieren der Änderungs-DDL lautet wie folgt:
SELECT MODIFY_TABLE_DDL FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
Beispielausgabe der Änderungs-DDL:
BEGIN -- DBMS_AUTO_PARTITION RECOMMENDATION_ID C3F7A59E085C2F25E05333885A0A55EA -- FOR TABLE "TPCH"."LINEITEM" -- GENERATED AT 06/04/2021 20:52:29 DBMS_AUTO_PARTITION.BEGIN_APPLY(EXPECTED_NUMBER_OF_PARTITIONS => 10); EXECUTE IMMEDIATE 'ALTER TABLE "TPCH"."LINEITEM" MODIFY PARTITION BYLIST(SYS_OP_INTERVAL_HIGH_BOUND ("L_SHIPDATE", INTERVAL ''10'' MONTH, TIMESTAMP ''1992-01-01 00:00:00'')) AUTOMATIC /* SCORE=23533.11; */ (PARTITION P_NULL VALUES(NULL)) AUTO ONLINE PARALLEL'; DBMS_AUTO_PARTITION.END_APPLY; EXCEPTION WHEN OTHERS THEN DBMS_AUTO_PARTITION.END_APPLY; RAISE; END;
- Prüfen Sie, ob die Tabelle automatisch partitioniert wurde, und fragen Sie die Katalogansichten ab.
SELECT T.AUTO, T.PARTITIONING_TYPE, C.COLUMN_NAME FROM DBA_PART_TABLES T, DBA_PART_KEY_COLUMNS C WHERE T.OWNER = 'TPCH' AND T.TABLE_NAME = 'LINEITEM' AND T.OWNER = C.OWNER AND T.TABLE_NAME = C.NAME;
Mit dieser Abfrage können Sie ermitteln, wann die automatische Partitionierung auf eine bestimmte Tabelle angewendet wurde.
SELECT APPLY_TIMESTAMP_START, APPLY_TIMESTAMP_END FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE TABLE_OWNER = 'TPCH' AND TABLE_NAME = 'LINEITEM';
Weitere Informationen finden Sie unter CONFIGURE Procedure.
Weitere Informationen finden Sie unter Funktion VALIDATE_CANDIDATE_TABLE.
Weitere Informationen finden Sie unter Funktion RECOMMEND_PARTITION_METHOD.
Weitere Informationen finden Sie unter Prozedur APPLY_RECOMMENDATION.
Empfehlung für berechtigte Tabellen generieren und Empfehlung manuell anwenden
- Setzen Sie den Parameter
AUTO_PARTITION_MODE
aufREPORT ONLY
, damit eine automatische Partitionierungsempfehlung erstellt und geprüft werden kann. Die Empfehlung wird nicht auf vorhandene Tabellen angewendet.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_MODE', PARAMETER_VALUE => 'REPORT ONLY'); END; /
- Rufen Sie die API
DBMS_AUTO_PARTITION
auf, um eine Empfehlungstabelle zu generieren.-- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID VARIABLE RECOMMENDATION_ID VARCHAR2(32); BEGIN :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD(); END; /
Die Empfehlungsanalyse und -prüfung ist ein ressourcenintensiver und langwieriger Betrieb und kann viel Zeit in Anspruch nehmen. Bei sekundären Nicht-Produktionsdatenbanken empfiehlt Oracle, dass Sie über die Option "Service HIGH" ausreichend Ressourcen für die Verifizierung angeben.
- Fragen Sie die Ansicht
DBA_AUTO_PARTITION_RECOMMENDATIONS
ab, um zu sehen, welche Tabellen analysiert wurden.SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID ORDER BY RECOMMENDATION_SEQ;
- Verwenden Sie diese Abfrage, um einen Drilldown im Bericht für eine bestimmte Tabelle durchzuführen, die bei der Ausführung analysiert wurde. Die Tabelle
TPCH.LINEITEM
in diesem Beispiel.SELECT REPORT FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID AND TABLE_OWNER = 'TPCH' AND TABLE_NAME = 'LINEITEM';
- Wenden Sie die Empfehlung an, indem Sie die Prozedur
APPLY_RECOMMENDATION
ausführen.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID); END; /
Wenden Sie alternativ Empfehlungen für eine bestimmte Tabelle an, die analysiert wurde, die Tabelle
TPCH.LINEITEM
in diesem Beispiel.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID, TABLE_OWNER => 'TPCH', TABLE_NAME => 'LINEITEM'); END; /
Weitere Informationen finden Sie unter CONFIGURE Procedure.
Weitere Informationen finden Sie unter Funktion RECOMMEND_PARTITION_METHOD.
Weitere Informationen finden Sie unter Prozedur APPLY_RECOMMENDATION.
Empfehlungen der automatischen Partitionierung, die von der Funktion
RECOMMEND_PARTITION_METHOD
generiert werden, weisen ein Zeitlimit auf, das durch den Parameter TIME_LIMIT
angegeben wird, wobei der Standardwert 1 Tag ist. Wenn Sie ein großes System mit vielen Kandidatentabellen analysieren, generiert ein einzelner Aufruf möglicherweise keine Empfehlung für alle Tabellen, die partitioniert werden können. Sie können die Empfehlung für die automatische Partitionierung sicher wiederholt aufrufen, um Empfehlungen für zusätzliche Tabellen zu generieren. Wenn die Funktion aufgerufen wird und null Zeilen in DBA_AUTO_PARTITION_RECOMMENDATIONS
für die RECOMMENDATION_ID
enthalten sind, hat die Funktion keine zusätzlichen Kandidatentabellen für die automatische Partitionierung gefunden.
Empfehlungen für berechtigte Tabellen generieren und automatisch anwenden
- Setzen Sie den Parameter
AUTO_PARTITION_MODE
aufREPORT ONLY
, damit eine automatische Partitionierungsempfehlung erstellt und geprüft werden kann. Die Empfehlung wird nicht auf vorhandene Tabellen angewendet.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_MODE', PARAMETER_VALUE => 'IMPLEMENT'); END; /
- Rufen Sie die API
DBMS_AUTO_PARTITION
auf, um eine Empfehlungstabelle zu generieren.-- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID VARIABLE RECOMMENDATION_ID VARCHAR2(32); BEGIN :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD(); END; /
Die Empfehlungsanalyse und -prüfung ist ein ressourcenintensiver und langwieriger Betrieb und kann viel Zeit in Anspruch nehmen. Bei sekundären Nicht-Produktionsdatenbanken empfiehlt Oracle, dass Sie über die Option "Service HIGH" ausreichend Ressourcen für die Verifizierung angeben.
- Fragen Sie die Ansicht
DBA_AUTO_PARTITION_RECOMMENDATIONS
ab, um zu sehen, welche Tabellen analysiert wurden.SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID ORDER BY RECOMMENDATION_SEQ;
- Verwenden Sie die Funktion
REPORT_LAST_ACTIVITY
, um den Bericht über die Aktionen abzurufen, die während der letzten Ausführung ausgeführt wurden.SELECT DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY() FROM DUAL;
Weitere Informationen finden Sie unter CONFIGURE Procedure.
Weitere Informationen finden Sie unter Funktion RECOMMEND_PARTITION_METHOD.
Weitere Informationen finden Sie unter Funktion REPORT_LAST_ACTIVITY.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
Data Dictionary Views für die automatische Partitionierung
Es gibt zwei neue Views und eine aktualisierte View im Data Dictionary für Informationen zur Konfiguration der automatischen Partitionierung und Empfehlungen in der Datenbank.
- DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_CONFIG Ansicht
Zeigt die aktuellen Konfigurationsparametereinstellungen für die automatische Partitionierung an. - DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Ansicht
Wenn SieCONFIGURE
oderRECOMMEND_PARTITION
ausführen, werden die Ergebnisse dieser Prozeduren in dieser Ansicht gespeichert. DieRECOMMENDATION_ID
wird in mehreren Prozeduren und Funktionen verwendet. - DBMS_AUTO_PARTITION Aktualisierungen vorhandener Ansichten
Diskutiert die Änderungen an vorhandenen Ansichten als Ergebnis der Implementierung der automatischen Partitionierung.
Übergeordnetes Thema: Automatische Partitionierung in Autonomous Database verwalten
DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_CONFIG Ansicht
Zeigt die aktuellen Konfigurationsparametereinstellungen für die automatische Partitionierung an.
Spalte | Beschreibung |
---|---|
PARAMETER_NAME |
Name des Konfigurationsparameters |
PARAMETER_VALUE |
Wert des Konfigurationsparameters |
LAST_MODIFIED |
Zeit in UTC, zu der der Parameterwert zuletzt geändert wurde. |
MODIFIED_BY |
Benutzer, der den Parameterwert zuletzt geändert hat |
Übergeordnetes Thema: Data Dictionary Views für automatische Partitionierung
DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Ansicht
Wenn Sie CONFIGURE
oder RECOMMEND_PARTITION
ausführen, werden die Ergebnisse dieser Prozeduren in dieser Ansicht gespeichert. Die RECOMMENDATION_ID
wird in mehreren Prozeduren und Funktionen verwendet.
Spalte | Beschreibung |
---|---|
TABLE_OWNER |
Tabelleneigentümer |
TABLE_NAME |
Tabelleneigentümer |
PARTITION_METHOD |
Empfohlene Partitionsmethode. Siehe CONFIGURE-Prozedur |
PARTITION_KEY |
Empfohlener Partitionsschlüssel. NULL bedeutet, dass die Analyse abgeschlossen ist und die Empfehlung nicht darin besteht, die Tabelle zu partitionieren.
|
GENERATE_TIMESTAMP |
Zeit in UTC, als diese Empfehlung generiert wurde. |
RECOMMENDATION_ID |
ID, die mit DBMS_AUTO_PARTITION -APIs verwendet wird, um zusätzliche Informationen zu dieser Empfehlung abzurufen.
|
RECOMMENDATION_SEQ |
Wenn eine Empfehlungs-ID Empfehlungen für mehrere Tabellen enthält, geben Sie die Reihenfolge an, in der die Empfehlungen generiert wurden. Leistungsberichte werden generiert, wenn frühere Empfehlungen angewendet wurden. Beispiel: Der Bericht für RECOMMENDATION_SEQ = 2 geht davon aus, dass Empfehlungen sowohl für RECOMMENDATION_SEQ = 1 als auch für RECOMMENDATION_SEQ = 2 angewendet wurden.
|
MODIFY_TABLE_DDL |
DDL, das zur Anwendung der Empfehlung verwendet wurde oder wurde. |
APPLY_TIMESTAMP_START |
Zeit in UTC, als die Anwendung dieser Empfehlung gestartet wurde. NULL , wenn die Empfehlung nicht angewendet wurde.
|
APPLY_TIMESTAMP_END |
Zeit in UTC, als die Anwendung dieser Empfehlung abgeschlossen wurde. NULL , wenn die Empfehlung nicht angewendet wurde oder die Anwendung nicht beendet wurde.
|
REPORT |
SQL Performance Analyzer-Bericht aus SQL-Ausführung in der Datenbank, nachdem die Empfehlung angewendet wurde. |
Übergeordnetes Thema: Data Dictionary Views für automatische Partitionierung
DBMS_AUTO_PARTITION Aktualisierungen vorhandener Ansichten
Erörtert die Änderungen an vorhandenen Views infolge der Implementierung der automatischen Partitionierung.
*_PART_TABLES
wurde die Spalte AUTO
(VARCHAR2(3)
) hinzugefügt. Die Werte lauten wie folgt:
YES
: Wenn die Tabelle durchDBMS_AUTO_PARTITION
partitioniert wurde.NO
: Wenn die Tabelle nicht durchDBMS_AUTO_PARTITION
partitioniert wurde.
Übergeordnetes Thema: Data Dictionary Views für automatische Partitionierung