Risoluzione degli errori con lo strumento di condivisione dati
Questo capitolo fornisce indicazioni sui problemi che causano prestazioni lente e su come risolverli.
Argomenti:
- Funzione di condivisione live con prestazioni lente
- Tentativo di query tabella condivisa non riuscito
- HTTP 403 non autorizzato a causa dell'elenco di inclusione IP remoto
Problema: l'accesso ai dati condivisi o il download di dati remoti non riesce con un erroreHTTP 403 - Unauthorized.
Argomento padre: Strumento di condivisione dati
Prestazioni lente della funzione Condividi in tempo reale
Con un aumento delle ECPU, le prestazioni della funzione di condivisione live nello strumento Condivisione dati migliorano durante l'esecuzione di query complesse?
No, non. In questi casi, è necessario configurare il Degree Of Parallelism (DOP) utilizzando Data Studio per migliorare le prestazioni di query in esecuzione complesse.
Configurare il grado di parallelismo (DOP) mediante Data Studio
Quando la funzione Condivisione attiva dell'istanza di Database Actions viene eseguita con un valore aumentato di ECPU, per impostazione predefinita le prestazioni delle query in esecuzione complesse non migliorano.
È possibile utilizzare l'opzione DOP per migliorare le prestazioni delle query in esecuzione complesse. Il DOP imposta il numero di processori impiegati per eseguire un'unica istruzione, per ogni esecuzione del piano parallelo. In questa sezione viene descritto come configurare l'opzione di configurazione degree of parallelism (DOP) in Autonomous AI Database utilizzando la funzione Live Share di Data Studio.
In questo esempio, si utilizzerà la funzione Condivisione live e si condivideranno tabelle di dimensioni non compresse pari a 1 TB.
Prima di iniziare, ecco alcune cose che devi considerare:- L'opzione per configurare il valore di DOP può essere eseguita solo da un
admin.
- Eseguire il login all'istanza di Database Actions come amministratore e in Amministrazione selezionare Imposta regole di Resource Management.
- Prendere nota dei valori predefiniti di valuta e DOP.
- Crea Share come provider.
- Utilizzare Condividi come consumatore e creare query esterne sopra le condivisioni per registrare il tempo di esecuzione delle query.
- Aumentare le ECPU a un valore maggiore del valore corrente come fornitore e consumatore e registrare il tempo di esecuzione delle query.
- Configurare il valore
DOPper il gruppo di consumerMEDIUM. - Utilizzare la stessa condivisione e registrare il tempo di esecuzione dell'interrogazione della stessa tabella.
Nota
È necessario configurare il conteggioECPU e il valore DOP come provider con privilegi ADMIN.
- Crea Share come provider.
- Fare clic su Fornisci condivisioni e selezionare +Crea condivisione.
- Nel campo Nome della scheda Generale della procedura guidata Crea condivisione immettere un nome per la condivisione. Ad esempio: TEST.
Immettere una descrizione per i dati condivisi nel campo Descrizione. Questo campo è facoltativo.
Selezionare Successivo per passare alla scheda Pubblica dettagli.
- Nella scheda Pubblica tabelle dettagli della procedura guidata, selezionare SHARE LIVE DATA USING DIRECT CONNECTION.
Fare clic su Successivo.
- Nella scheda Seleziona tabelle della procedura guidata, selezionare lo schema dal menu a discesa, trascinare la tabella
CUSTOMERdalle tabelle disponibili.Nota
In questo esempio, viene condivisa una singola tabella denominataCustomerdi grandi dimensioni.Fare clic su Avanti per passare alla scheda Destinatari della Creazione guidata condivisione.
- Nella scheda Destinatari della Creazione guidata condivisione, selezionare
MY_COMPARTMENTdall'elenco a discesa. - Per creare la condivisione, selezionare Crea.
- Utilizzare Condividi come consumatore e creare query esterne sopra le condivisioni per registrare il tempo di esecuzione delle query.
- Dopo aver creato la condivisione come provider, si utilizzeranno i dati condivisi dal provider.
Per ulteriori dettagli, vedere Consuma condivisione.
- Eseguire il login come consumatore per eseguire la sottoscrizione al provider di condivisione dati e accedere ai dati nella condivisione.
- Nella pagina Provider e consumer dello strumento Condivisione dati, fare clic sulla casella CONSUME SHARE per visualizzare la pagina Consuma condivisione.
- Fare clic sull'elenco a discesa Esegui sottoscrizione a provider condivisione, quindi fare clic sull'opzione Esegui sottoscrizione a provider condivisione attiva.
- In Dettagli provider condivisione selezionare Nome provider. In questo esempio,
TPUSERè il nome del provider. - Nel pannello Aggiungi condivisioni della pagina della procedura guidata Sottoscrivi a condivisione Impostazioni provider, fare clic su TEST nella sezione Condivisioni disponibili, quindi fare clic sull'icona (>).
- Lo strumento aggiunge la condivisione alla sezione Azioni selezionate. Fare clic su Sottoscrivi.
- Un provider di condivisione
TPUSERè stato creato e viene visualizzato un messaggio informativo. Si viene indirizzati alla pagina Carica dati con la scheda Condividi selezionata. - Espandere il nodo di condivisione dati
TESTSHAREper visualizzare gli oggetti al suo interno. Trascinare la tabella condivisaTPUSER.CUSTOMERper aggiungerla al job di caricamento dati. - La tabella condivisa viene aggiunta al job di collegamento dati. Quando si esegue questo job, verrà creata una nuova vista
CUSTOMERnella parte superiore della tabellaCUSTOMERche è stata condivisa con l'utente. - Fare clic su Avvia. Viene visualizzata la finestra di dialogo Avvia collegamento da area di memorizzazione cloud. Fare clic su Esegui. Al termine del job, viene visualizzata un'icona di collegamento. La vista
CUSTOMERviene creata. - Fare clic sul banner Azioni database | Condivisione dati. In Azioni database | Launchpad fare clic sulla scheda Sviluppo, quindi sulla scheda SQL per visualizzare il foglio di lavoro SQL.
- Trascinare la tabella
CUSTOMERnell'area del foglio di lavoro SQL. - Viene visualizzata una finestra di dialogo che offre i tipi di inserzioni disponibili.
- Fare clic su Seleziona, quindi su Applica.
- Fare clic su Esegui. È possibile visualizzare la query generata automaticamente visualizzata nel foglio di lavoro.
- Prendere nota del tempo di esecuzione della query nel campo Ora di esecuzione visualizzato nella scheda Risultato query.
- Dopo aver creato la condivisione come provider, si utilizzeranno i dati condivisi dal provider.
- Aumenta le ECPU come fornitore e consumatore e registra il tempo di esecuzione delle query.
- Aumenta le ECPU della tua istanza di Autonomous AI Database come provider e consumatore dalla tua console OCI.
Nota
Assicurarsi di non aver abilitato la scala automatica.In questo esempio il conteggio di ECPU è stato aumentato a 32. Puoi scalare il conteggio ECPU a qualsiasi valore di tua scelta.
- Ripetere l'operazione utilizzando la stessa condivisione
CUSTOMERe calcolando il tempo di esecuzione della query. Non ci saranno modifiche nel tempo per eseguire la query sulla tabella.
- Aumenta le ECPU della tua istanza di Autonomous AI Database come provider e consumatore dalla tua console OCI.
- Configurare il valore DOP per il gruppo di consumer
MEDIUM.- Eseguire il login all'istanza di Database Actions come consumatore con il privilegio
ADMIN. -
Fare clic su Selettore e in Amministrazione selezionare Imposta regole di Resource Management.
-
Ridurre il limite di valuta del gruppo di consumer
MEDIUMa 8 e fare clic su Salva modifiche. La riduzione del limite di concorrenza aumenta il DOP.
Nota
Il limite di concorrenza impostato in questo passo deve essere inferiore al valore predefinito indicato nel prerequisito. - Eseguire il login all'istanza di Database Actions come consumatore con il privilegio
- Passo di follow-up: dopo aver configurato l'opzione relativa al grado di parallelismo, ripetere il processo di utilizzo della condivisione, creando query esterne sopra le condivisioni per registrare il tempo di esecuzione della query.
Il valore del tempo di esecuzione della query è diminuito.
Il miglioramento delle prestazioni delle stesse query SQL complesse avviene immediatamente senza riavviare il server.
Tentativo di query tabella condivisa non riuscito
Problema: il tentativo di eseguire una query su una tabella condivisa non riesce con un errore che indica le funzioni non supportate della tabella delta.
Probabile causa: la tabella condivisa utilizza Vettori di eliminazione, che è una funzione Delta Lake. Il consumer di condivisione delta del database AI autonomo non supporta i vettori di eliminazione (DV).
- In Databricks 16.3+, utilizzare
ALTER TABLE <table_name> DROP FEATURE deletionVectors;e condividere di nuovo. -
Non fare affidamento solo sull'impostazione di
{{delta.enableDeletionVectors=false - }}che interrompe il nuovo utilizzo DV, ma non esegue il downgrade del protocollo. Seguire le istruzioni in Eliminare una funzione della tabella Delta Lake e il protocollo della tabella di downgrade. - Per ulteriori dettagli, vedere Che cosa sono i vettori di eliminazione?.
Argomento padre: Risoluzione degli errori con lo strumento Condivisione dati
HTTP 403 non autorizzato a causa della lista di inclusione IP remoto
Problema: l'accesso ai dati condivisi o il download di dati remoti non riesce con un errore HTTP 403 - Unauthorized.
Probabile causa: il servizio remoto, ad esempio Azure Blob Storage o un altro endpoint esterno, è configurato con una lista di inclusione IP di origine che non include l'indirizzo IP pubblico in uscita utilizzato da Autonomous AI Database.
Nota
Non utilizzare la seguente query per identificare l'indirizzo IP in uscita:
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
Questa query restituisce l'indirizzo IP client per la sessione corrente, non l'indirizzo IP in uscita visualizzato dal servizio esterno.
Risoluzione: identificare l'indirizzo IP in uscita di Autonomous AI Database effettuando una richiesta HTTPS a un endpoint pubblico che restituisce l'indirizzo IP del chiamante. Quindi, chiedere all'amministratore del servizio remoto di aggiungere tale indirizzo IP alla lista di inclusione.
-
Concedere l'accesso all'endpoint di test.
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; / -
Eseguire una query sull'endpoint all'interno di Autonomous AI Database.
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; /La risposta contiene l'indirizzo IP pubblico visualizzato dal servizio esterno. Ad esempio:{{{"origin":"150.136.133.92"}}} -
Aggiungere l'indirizzo IP alla lista di inclusione remota.
Aggiornare il firewall, le regole di rete degli account di storage o la lista di inclusione lato partner per includere l'indirizzo IP.
Dopo l'aggiornamento della lista di inclusione, riprovare a eseguire l'operazione di accesso o condivisione dei dati.
Argomento padre: Risoluzione degli errori con lo strumento Condivisione dati













