Fehler mit dem Data Share-Tool beheben
Dieses Kapitel enthält Anleitungen zu Problemen, die zu langsamer Performance führen, und zu deren Behebung.
Themen:
- Live Share-Funktion – Langsame Performance
- Fehler beim Versuch, eine gemeinsame Tabellenabfrage auszuführen
- HTTP 403 wegen Ausnahmeliste für Remote-IP nicht autorisiert
Problem: Der Zugriff auf freigegebene Daten oder das Herunterladen von Remote-Daten ist mit einemHTTP 403 - Unauthorized-Fehler nicht erfolgreich.
Übergeordnetes Thema: Datenfreigabetool
Live Share-Funktion Langsame Leistung
Verbessert sich mit einer Zunahme der ECPUs die Performance der Live-Freigabefunktion im Datenfreigabetool, während komplexe Abfragen ausgeführt werden?
Nein, nicht. In solchen Fällen müssen Sie den Parallelitätsgrad (DOP) mit Data Studio konfigurieren, um die Performance komplexer ausgeführter Abfragen zu verbessern.
Parallelitätsgrad (DOP) mit Data Studio konfigurieren
Wenn das Live Share-Feature der Database Actions-Instanz mit einem erhöhten ECPU-Wert ausgeführt wird, verbessert sich die Performance der komplexen ausgeführten Abfragen standardmäßig nicht.
Mit der DOP-Option können Sie die Performance der komplexen ausgeführten Abfragen verbessern. Der DOP legt die Anzahl der Prozessoren fest, die zum Ausführen einer einzelnen Anweisung für jede parallele Planausführung verwendet werden. In diesem Abschnitt wird beschrieben, wie Sie die Konfigurationsoption degree of parallelism (DOP) in der autonomen KI-Datenbank mit dem Live Share-Feature von Data Studio konfigurieren.
In diesem Beispiel verwenden Sie die Live Share-Funktion und verwenden Tabellen mit einer unkomprimierten Größe von 1 TB gemeinsam.
Bevor Sie beginnen, hier sind ein paar Dinge, die Sie beachten müssen:- Die Option zum Konfigurieren des Wertes von DOP kann nur von einem
adminausgeführt werden.
- Melden Sie sich bei der Database Actions-Instanz als Admin an, und wählen Sie unter Administration die Option Resource Management-Regeln festlegen aus.
- Beachten Sie den standardmäßigen Nebenwährungswert und den standardmäßigen DOP.
- Share als Provider erstellen.
- Nutzen Sie Share als Consumer, und erstellen Sie externe Abfragen über Ihre Shares, um die Ausführungszeit der Abfrage aufzuzeichnen.
- Erhöhen Sie die ECPUs auf einen Wert, der größer als der aktuelle Wert als Provider und Consumer ist, und zeichnen Sie die Abfrageausführungszeit auf.
- Konfigurieren Sie den Wert
DOPfür die NutzungsgruppeMEDIUM. - Verwenden Sie dieselbe Freigabe, und notieren Sie die Ausführungszeit der Abfrage derselben Tabelle.
Hinweis:
Sie müssen die AnzahlECPU und den Wert DOP als Provider mit ADMIN-Berechtigungen konfigurieren.
- Share als Provider erstellen.
- Klicken Sie auf Shares bereitstellen, und wählen Sie +Share erstellen aus.
- Geben Sie im Assistenten "Freigabe erstellen" im Feld Name der Registerkarte "Allgemein" einen Namen für die Freigabe ein. Beispiel: TEST.
Geben Sie im Feld Beschreibung eine Beschreibung für die Daten ein, die Sie teilen. Dies ist ein fakultatives Feld.
Wählen Sie Weiter, um zur Registerkarte "Veröffentlichungsdetails" zu gelangen.
- Wählen Sie auf der Registerkarte "Tabellen für Veröffentlichungsdetails" des Assistenten die Option LIVE DATA USING DIRECT CONNECTION.
Klicken Sie auf Weiter.
- Wählen Sie in der Registerkarte Tabellen auswählen des Assistenten das Schema aus dem Dropdown-Menü aus, und ziehen Sie die Tabelle
CUSTOMERper Drag-and-Drop aus den verfügbaren Tabellen.Hinweis:
In diesem Beispiel wird eine einzelne Tabelle namensCustomermit großer Größe gemeinsam verwendet.Klicken Sie auf Weiter, um zur Registerkarte "Empfänger" des Assistenten "Teilen erstellen" zu gelangen.
- Wählen Sie im Assistenten "Teilen erstellen" auf der Registerkarte "Empfänger" in der Dropdown-Liste die Option
MY_COMPARTMENTaus. - Wählen Sie Erstellen aus, um die Freigabe zu erstellen.
- Nutzen Sie Share als Consumer, und erstellen Sie externe Abfragen über Ihre Shares, um die Ausführungszeit der Abfrage aufzuzeichnen.
- Nachdem Sie die Freigabe als Provider erstellt haben, verwenden Sie die vom Provider gemeinsam genutzten Daten.
Weitere Informationen finden Sie unter Freigabe konsumieren.
- Melden Sie sich als Verbraucher an, um den Datenfreigabeprovider zu abonnieren und auf die Daten in Ihrer Freigabe zuzugreifen.
- Klicken Sie auf der Seite Provider und Consumer des Tools "Datenfreigabe" auf die Kachel SUMME SHARE, um die Seite Freigabe konsumieren anzuzeigen.
- Klicken Sie auf die Dropdown-Liste Freigabeprovider abonnieren und dann auf die Option Live Share-Provider abonnieren.
- Wählen Sie unter "Providerdetails freigeben" den Providernamen aus. In diesem Beispiel ist
TPUSERder Name des Providers. - Klicken Sie auf der Seite "Providereinstellungen abonnieren" im Bereich Shares hinzufügen im Abschnitt Verfügbare Shares auf TEST, und klicken Sie dann auf das Symbol (>).
- Das Tool fügt das Share zum Abschnitt Ausgewählte Shares hinzu. Klicken Sie auf Abonnieren.
- Ein
TPUSER-Freigabeprovider wurde erfolgreich erstellt. Eine Informationsmeldung wird angezeigt. Sie werden zur Seite Daten laden geleitet, wobei die Registerkarte Teilen ausgewählt ist. - Blenden Sie den Datenfreigabeknoten
TESTSHAREein, um die darin enthaltenen Objekte anzuzeigen. Verschieben Sie die gemeinsam verwendete TabelleTPUSER.CUSTOMERper Drag-and-Drop, um sie dem Dataload-Job hinzuzufügen. - Die gemeinsam verwendete Tabelle wird dem Datenlinkjob hinzugefügt. Wenn Sie diesen Job ausführen, wird eine neue
CUSTOMER-Ansicht über der TabelleCUSTOMERerstellt, die für Sie freigegeben wurde. - Klicken Sie auf Starten. Das Dialogfeld Link aus Cloud Store starten wird angezeigt. Klicken Sie auf Ausführen. Wenn der Job erfolgreich abgeschlossen wurde, wird ein Linksymbol angezeigt. Die Ansicht
CUSTOMERwird erstellt. - Klicken Sie auf das Banner Database Actions | Data Share. Klicken Sie auf der Registerkarte Database Actions | Launchpad auf die Registerkarte Entwicklung, und klicken Sie dann auf die Registerkarte SQL, um das SQL-Arbeitsblatt anzuzeigen.
- Verschieben Sie die Tabelle
CUSTOMERper Drag-and-Drop in den SQL Worksheet-Bereich. - In einem Dialogfeld werden die Typen der verfügbaren Einfügungen angezeigt.
- Klicken Sie auf Auswählen, Anwenden.
- Klicken Sie auf Ausführen. Sie können die automatisch generierte Abfrage anzeigen, die im Arbeitsblatt angezeigt wird.
- Beachten Sie die Abfrageausführungszeit im Feld Ausführungszeit, das unter der Registerkarte "Abfrageergebnis" angezeigt wird.
- Nachdem Sie die Freigabe als Provider erstellt haben, verwenden Sie die vom Provider gemeinsam genutzten Daten.
- Erhöhen Sie die ECPUs als Provider und Consumer, und erfassen Sie die Abfrageausführungszeit.
- Erhöhen Sie die ECPUs Ihrer Autonomous AI Database-Instanz als Provider und Verbraucher über Ihre OCI-Konsole.
Hinweis:
Stellen Sie sicher, dass die automatische Skalierung nicht aktiviert ist.In diesem Beispiel haben wir die ECPU-Anzahl auf 32 erhöht. Sie können die ECPU-Anzahl auf einen beliebigen Wert Ihrer Wahl erhöhen.
- Wiederholen Sie den Vorgang, indem Sie dieselbe
CUSTOMER-Freigabe verwenden und die Abfrageausführungszeit berechnen. Die Zeit für die Abfrage der Tabelle ändert sich nicht.
- Erhöhen Sie die ECPUs Ihrer Autonomous AI Database-Instanz als Provider und Verbraucher über Ihre OCI-Konsole.
- Konfigurieren Sie den DOP-Wert für die Nutzungsgruppe
MEDIUM.- Melden Sie sich bei der Instanz der Datenbankaktionen als Consumer mit der Berechtigung
ADMINan. -
Klicken Sie auf Selektor, und wählen Sie unter Administration die Option Resource Management-Regeln festlegen aus.
-
Verringern Sie das Grenzwert für Parallelität der Nutzungsgruppe
MEDIUMauf 8, und klicken Sie auf Änderungen speichern. Wenn Sie das Nebenläufigkeitslimit verringern, erhöht sich der DOP.
Hinweis:
Das in diesem Schritt festgelegte Nebenläufigkeitslimit muss kleiner sein als der Standardwert, den Sie in der Voraussetzung angegeben haben. - Melden Sie sich bei der Instanz der Datenbankaktionen als Consumer mit der Berechtigung
- Follow-up-Schritt – Nachdem Sie die Option für den Parallelisierungsgrad konfiguriert haben, wiederholen Sie den Prozess, bei dem die Freigabe konsumiert wird, und erstellen externe Abfragen über Ihren Shares, um die Ausführungszeit der Abfrage aufzuzeichnen.
Der Wert der Abfrageausführungszeit wurde verringert.
Die Verbesserung der Performance der gleichen komplexen SQL-Abfragen erfolgt sofort, ohne den Server neu zu starten.
Fehler bei Abfrageversuch für gemeinsame Tabelle
Problem: Der Versuch, eine gemeinsame Tabelle abzufragen, verläuft nicht erfolgreich. Es wird ein Fehler angezeigt, der nicht unterstützte Delta-Tabellenfunktionen angibt.
Wahrscheinliche Ursache: In der gemeinsamen Tabelle werden Löschvektoren verwendet, die ein Delta Lake-Feature sind. Autonome KI-Datenbank Delta Sharing-Verbraucher unterstützt keine Löschvektoren (DV).
- Verwenden Sie auf Databricks 16.3+
ALTER TABLE <table_name> DROP FEATURE deletionVectors;, und teilen Sie es erneut. -
Verlassen Sie nicht nur auf die Einstellung
{{delta.enableDeletionVectors=false - }}, mit der die neue DV-Verwendung gestoppt wird, sondern das Protokoll nicht heruntergestuft wird. Befolgen Sie die Anweisungen unter Drop a Delta Lake table feature and downgrade table protocol. - Weitere Informationen finden Sie unter Was sind Löschvektoren?.
Übergeordnetes Thema: Fehler mit dem Data Share-Tool beheben
HTTP 403 wegen Ausnahmeliste für Remote-IP nicht autorisiert
Problem: Der Zugriff auf freigegebene Daten oder das Herunterladen von Remotedaten ist mit einem HTTP 403 - Unauthorized-Fehler nicht erfolgreich.
Wahrscheinliche Ursache: Der Remoteservice, z.B. Azure Blob Storage oder ein anderer externer Endpunkt, ist mit einer Quell-IP-Ausnahmeliste konfiguriert, die nicht die öffentliche ausgehende IP-Adresse enthält, die von Autonomous AI Database verwendet wird.
Hinweis:
Verwenden Sie die folgende Abfrage nicht, um die ausgehende IP-Adresse zu identifizieren:
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
Diese Abfrage gibt die Client-IP-Adresse für die aktuelle Sitzung zurück, nicht die ausgehende IP-Adresse, die vom externen Service erkannt wird.
Lösung: Identifizieren Sie die ausgehende IP-Adresse der autonomen KI-Datenbank, indem Sie eine HTTPS-Anforderung an einen öffentlichen Endpunkt senden, der die IP-Adresse des Aufrufers zurückgibt. Bitten Sie dann den Remote-Serviceadministrator, diese IP-Adresse der Ausnahmeliste hinzuzufügen.
-
Zugriff auf den Testendpunkt erteilen.
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'httpbin.org', lower_port => 443, upper_port => 443, ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => USER, principal_type => xs_acl.ptype_db)); END; / -
Fragen Sie den Endpunkt in einer autonomen KI-Datenbank ab.
SET SERVEROUTPUT ON DECLARE resp UTL_HTTP.resp; line VARCHAR2(32767); BEGIN resp := UTL_HTTP.begin_request('https://httpbin.org/ip'); resp := UTL_HTTP.get_response(resp); UTL_HTTP.read_line(resp, line, TRUE); DBMS_OUTPUT.put_line('Autonomous Database outbound IP = ' || line); UTL_HTTP.end_response(resp); END; /Die Antwort enthält die öffentliche IP-Adresse, die vom externen Service angezeigt wird. Beispiel:{{{"origin":"150.136.133.92"}}} -
Fügen Sie die IP-Adresse zur Remoteausnahmeliste hinzu.
Aktualisieren Sie die Firewall, die Netzwerkregeln für Speicherkonten oder die Ausnahmeliste auf Partnerseite, um die IP-Adresse einzuschließen.
Nachdem die Ausnahmeliste aktualisiert wurde, wiederholen Sie den Datenzugriffs- oder Datenfreigabevorgang.
Übergeordnetes Thema: Fehler mit dem Data Share-Tool beheben













