Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Oracle SQLT
Amazon RDS supporta Oracle SQLTXPLAIN (SQLT) attraverso l'utilizzo dell'opzione SQLT. È possibile utilizzare SQLT con qualsiasi edizione di Oracle Database 19c e versioni successive.
L'istruzione EXPLAIN PLAN
di Oracle può stabilire il piano di esecuzione di un'istruzione SQL. Può verificare se l'ottimizzatore di Oracle sceglie un determinato piano di esecuzione, come un loop nidificato. Consente inoltre di comprendere le decisioni dell'ottimizzatore, ad esempio il motivo della scelta di loop nidificati rispetto a un hash join. Pertanto, EXPLAIN PLAN
aiuta a comprendere le prestazioni dell'istruzione.
SQLT è un'utilità di Oracle che produce un rapporto. Tale rapporto include statistiche e metadati degli oggetti, parametri di inizializzazione correlati all'ottimizzatore e altre informazioni che possono essere utilizzate da un amministratore del database per modificare un'istruzione SQL e migliorarne le prestazioni. SQLT produce un rapporto HTML con collegamenti ipertestuali a tutte le relative sezioni.
A differenza dei rapporti di Automatic Workload Repository o Statspack, SQLT agisce sulle singole istruzioni SQL. SQLT è una raccolta di file SQL, PL/SQL e SQL*Plus che consente di raccogliere, archiviare e visualizzare i dati delle prestazioni.
Di seguito sono indicate le versioni Oracle supportate per ogni versione di SQLT.
Versione SQLT | Oracle Database 21c | Oracle Database 19c |
---|---|---|
2018-07-25.v1 |
Supportato |
Supportato |
2018-03-31.v1 |
Non supportato |
Non supportato |
2016-04-29.v1 |
Non supportato |
Non supportato |
Per il download e le istruzioni per l'accesso di SQLT:
Accedere all'account My Oracle Support e aprire i documenti seguenti:
Per scaricare SQLT: Document 215187.1
Per istruzioni per l'utilizzo di SQLT: Document 1614107.1
Per le domande frequenti su SQLT: Document 1454160.1
Per informazioni sulla lettura dell'output di SQLT: Document 1456176.1
Per l'interpretazione del report principale: Documento 1922234.1
Amazon RDS non supporta i seguenti metodi SQLT:
-
XPLORE
-
XHUME
Prerequisiti di SQLT
Di seguito sono indicati i prerequisiti per l'utilizzo di SQLT:
-
Devi rimuovere gli utenti e ruoli richiesti da SQLT, se esistenti.
L'opzione SQLT crea i seguenti utenti e ruoli in un'istanza database:
SQLTXPLAIN
UtenteSQLTXADMIN
UtenteSQLT_USER_ROLE
Ruolo
Se nell'istanza database sono presenti uno o più di tali utenti o ruoli, accedi all'istanza database con un client SQL ed eliminali con le seguenti istruzioni:
DROP USER SQLTXPLAIN CASCADE; DROP USER SQLTXADMIN CASCADE; DROP ROLE SQLT_USER_ROLE CASCADE;
-
Devi rimuovere gli spazi tabelle richiesti da SQLT, se esistenti.
L'opzione SQLT crea i seguenti spazi tabelle in un'istanza database:
RDS_SQLT_TS
RDS_TEMP_SQLT_TS
Se nell'istanza database sono presenti tali spazi tabelle, accedi all'istanza database con un client SQL ed eliminali con le seguenti istruzioni:
Impostazioni dell'opzione SQLT
SQLT può essere utilizzata con caratteristiche con licenza fornite da Oracle Tuning Pack e da Oracle Diagnostics Pack. Oracle Tuning Pack include SQL Tuning Advisor, mentre Oracle Diagnostics Pack include Automatic Workload Repository. Le impostazioni SQLT consentono di abilitare o disabilitare l'accesso a tali caratteristiche da SQLT.
Amazon RDS supporta le seguenti impostazioni per l'opzione SQLT.
Impostazione opzioni | Valori validi | Valore predefinito | Descrizione |
---|---|---|---|
|
|
|
Gli Oracle Management Pack a cui desideri accedere con SQLT. Immetti uno dei seguenti valori:
NotaAmazon RDS non fornisce licenze per i seguenti Oracle Management Pack. Se specifichi che desideri utilizzare un pacchetto non incluso nell'istanza database, puoi utilizzare SQLT con tale istanza database. Tuttavia, SQLT non sarà in grado di accedere al pacchetto e il rapporto SQLT non includerà i relativi dati. Ad esempio, se specifichi |
|
|
|
Versione di SQLT da installare. NotaPer Oracle Database 19c e 21c, l'unica versione supportata è |
Aggiunta dell'opzione SQLT
Di seguito è riportato il processo generale per aggiungere l'opzione SQLT a un'istanza database:
Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.
Aggiungere l'opzione SQLT al gruppo di opzioni.
Associare il gruppo di opzioni a questa istanza database.
Una volta aggiunta l'opzione SQLT, non appena il gruppo di opzioni sarà attivo, anche SQLT sarà attivo.
Per aggiungere l'opzione SQLT a un'istanza database
-
Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni:
-
Per Engine (Motore), scegliere l'edizione di Oracle da utilizzare. L'opzione SQLT è supportata in tutte le edizioni.
-
In Major engine version (Versione principale del motore), scegliere la versione dell'istanza database.
Per ulteriori informazioni, consulta Creazione di un gruppo di opzioni.
-
-
Aggiungere l'opzione SQLT al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta Aggiunta di un'opzione a un gruppo di opzioni.
-
Applicare il gruppo di opzioni a un'istanza database nuova o esistente:
-
Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta Creazione di un'istanza database Amazon RDS.
-
Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
-
-
(Opzionale) Verificare l'installazione SQLT in ciascuna istanza database dell'opzione SQLT.
Utilizzare un client SQL per effettuare la connessione all'istanza database come utente master.
Per informazioni sulla connessione a un'istanza database Oracle con un client SQL, consulta Connessione all'istanza database RDS per Oracle.
Eseguire la seguente query:
SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;
La query restituisce la versione corrente dell'opzione SQLT in Amazon RDS.
12.1.160429
è un esempio di versione di SQLT disponibile in Amazon RDS.
Modificare le password degli utenti creati dall'opzione SQLT.
Utilizzare un client SQL per effettuare la connessione all'istanza database come utente master.
Eseguire la seguente istruzione SQL per modificare la password dell'utente
SQLTXADMIN
:ALTER USER SQLTXADMIN IDENTIFIED BY
new_password
ACCOUNT UNLOCK;Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
Eseguire la seguente istruzione SQL per modificare la password dell'utente
SQLTXPLAIN
:ALTER USER SQLTXPLAIN IDENTIFIED BY
new_password
ACCOUNT UNLOCK;Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
Nota
Per aggiornare SQLT, dovrai disinstallare la versione precedente di SQLT e installare quella nuova. Pertanto, durante l'aggiornamento di SQLT, tutti i metadati SQLT potrebbero andare perduti. Anche l'aggiornamento di una versione principale di un database la disinstallazione e la reinstallazione di SQLT. Un esempio di aggiornamento di una versione principale è l'aggiornamento da Oracle Database 19c a Oracle Database 21c.
Uso di SQLT
SQLT funziona con l'utilità Oracle SQL*Plus.
Per utilizzare SQLT
Scaricare il file .zip di SQLT da Document 215187.1
nel sito My Oracle Support. Nota
Non è possibile scaricare SQLT 12.1.160429 dal sito My Oracle Support. Oracle ha dichiarato obsoleta questa versione precedente.
Decomprimere il file .zip di SQLT.
Dal prompt dei comandi, portarsi sulla directory
sqlt/run
del file system.Dal prompt dei comandi, aprire SQL*Plus ed effettuare la connessione all'istanza database come utente master.
Per informazioni sulla connessione a un'istanza database Oracle con SQL*Plus, consulta Connessione all'istanza database RDS per Oracle.
Ottenere l'ID SQL di un'istruzione SQL:
SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='
sql_statement
';L'output è simile a quello riportato di seguito:
SQL_ID ------------- chvsmttqjzjkn
Analizzare un'istruzione SQL con SQLT:
START sqltxtract.sql
sql_id
sqltxplain_user_password
Ad esempio, per l'ID SQL
chvsmttqjzjkn
, immettere quanto segue:START sqltxtract.sql chvsmttqjzjkn
sqltxplain_user_password
SQLT genera un rapporto e le risorse correlate come un file. zip nella directory in cui è stato eseguito il comando SQLT.
(Opzionale) Per consentire agli utenti dell'applicazione di diagnosticare le istruzioni SQL con SQLT, concedere
SQLT_USER_ROLE
a ciascun utente con la seguente istruzione:GRANT SQLT_USER_ROLE TO
application_user_name
;Nota
Oracle sconsiglia l'esecuzione di SQLT con l'utente
SYS
o con utenti che dispongono del ruoloDBA
. La best practice prevede l'esecuzione della diagnostica SQLT con l'account dell'utente dell'applicazione, concedendoSQLT_USER_ROLE
a tale utente.
Aggiornamento dell'opzione SQLT
Con Amazon RDS for Oracle puoi aggiornare l'opzione SQLT dalla versione attuale a una versione successiva. Per aggiornare l'opzione SQLT, completa le fasi 1–3 in Uso di SQLT per la nuova versione di SQLT. Inoltre, se hai concesso privilegi per la versione precedente di SQLT nella fase 7 di questa sezione, assegnali di nuovo per la nuova versione di SQLT.
L'aggiornamento dell'opzione SQLT causa la perdita dei metadati della versione precedente di SQLT. Lo schema e gli oggetti correlati della versione di SQLT precedente vengono eliminati e viene installata la versione più recente. Per ulteriori informazioni sulle modifiche nella versione più recente di SQLT, consulta il Documento 1614201.1
Nota
I downgrade di versione non sono supportati.
Modifica delle impostazioni SQLT
Dopo avere abilitato SQLT, puoi modificare le impostazioni LICENSE_PACK
e VERSION
dell'opzione.
Per ulteriori informazioni su come modificare le impostazioni dell'opzione, consulta Modifica di un'impostazione di un'opzione. Per ulteriori informazioni su ciascuna impostazione, consulta Impostazioni dell'opzione SQLT.
Rimozione dell'opzione SQLT
Puoi rimuovere SQLT da un'istanza database.
Per rimuovere SQLT da un'istanza database, esegui una delle seguenti procedure:
-
Per rimuovere SQLT da più istanze database, rimuovi l'opzione SQLT dal gruppo di opzioni a cui appartengono le istanze database. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta Rimozione di un'opzione da un gruppo di opzioni.
-
Per rimuovere SQLT da una singola istanza database, modifica l'istanza database e specifica un gruppo di opzioni diverso che non comprenda l'opzione SQLT. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.