Oracle Performance Tuning: come migliorare le prestazioni del database

click fraud protection

Le scarse prestazioni del database Oracle sono piuttosto insidiose. Può avere varie ramificazioni che spesso si traducono in scarse prestazioni dell'applicazione. Questo può condurre un tipico amministratore in una caccia all'oca selvatica mentre cerca un problema da qualche parte non lo è.

Esiste solo un modo per garantire che il database non costituisca il collo di bottiglia delle applicazioni distribuite multilivello: ottimizzare le prestazioni del database Oracle. Questo sarà l'argomento del post di oggi. Il nostro obiettivo non è quello di fornire un tutorial approfondito sull'argomento, ma di fornirti informazioni sufficienti per permetterti di scegliere il miglior strumento possibile per aiutarti a gestire questo compito apparentemente travolgente.

Oracle Performance Tuning: come migliorare le prestazioni del database

Inizieremo introducendo i database, cosa sono e come funzionano. Ovviamente, saremo un po 'più specifici su Oracle in quanto è il nostro obiettivo principale oggi. Quindi, affronteremo il tuning delle prestazioni. Spiegheremo di cosa si tratta e come funziona. Il nostro prossimo ordine di attività sarà l'analisi delle prestazioni del database in quanto è al centro di ogni sforzo di ottimizzazione delle prestazioni del database Oracle. E dato che è così importante, esamineremo finalmente i migliori strumenti per l'analisi delle prestazioni del database Oracle.

instagram viewer

Informazioni sui sistemi di gestione di database relazionali

Nella sua espressione più semplice, un database è una struttura di dati che archivia le informazioni organizzate. I dati in un database sono archiviati in tabelle in cui ogni riga rappresenta un elemento di dati e ogni colonna è un'informazione su questo elemento. Ad esempio, una rubrica potrebbe essere memorizzata in un database in cui ogni voce sarebbe una linea e dove ci sarebbero colonne per il cognome, nome, indirizzo, via, città, stato, nazione, ecc.

I sistemi di database, detti anche gestori di database relazionali, offrono diversi modi per manipolare tali dati. Diverse tabelle possono essere unite, i dati possono essere indicizzati per un recupero più veloce o manipolati in diversi modi. Spiegare i database richiederebbe un intero libro. In effetti, sull'argomento sono stati scritti centinaia di libri. Ai fini della nostra discussione, l'importante da capire è che i database sono software piuttosto complessi. In parte a causa di tale complessità, molti fattori possono influenzare le loro prestazioni.

Per quanto riguarda Oracle, è un marchio proprietario di Relational DataBase Management System (RDBMS). È in circolazione da secoli e, quando è stato rilasciato nel 1979, è stato il primo RDBMS basato su SQL. Da allora non ha mai smesso di evolversi e la sua versione 19 è stata appena rilasciata lo scorso agosto. Oggi il mercato RDBMS è saturo di offerte di più fornitori. Microsoft SQL Server e IBM DB2 sono probabilmente le alternative più popolari ma gratuite e open-source le offerte stanno diventando sempre più popolari e spesso offrono funzionalità e prestazioni comparabili per la maggior parte casi d'uso.

Che cos'è Oracle Performance Tuning?

Ottimizzazione delle prestazioni del database Oracle si riferisce al processo di ottimizzazione delle prestazioni di Oracle semplificando l'esecuzione delle istruzioni SQL. In breve, l'ottimizzazione delle prestazioni semplifica il processo di accesso e modifica delle informazioni contenute all'interno del database con l'intento di migliorare i tempi di risposta alle query e, di conseguenza, l'applicazione prestazione. Indipendentemente dalla complessità di alcuni libri di testo, in realtà si riduce a questo. Farlo, tuttavia, è la parte complicata. Come molte cose nella vita, questo è più facile a dirsi che a farsi.

Come funziona?

L'ottimizzazione delle prestazioni considera i numerosi elementi in un RDBMS per individuare l'origine dei problemi di prestazioni. Gli amministratori di database (DBA) devono spesso affrontare un compito difficile. Da un lato, gli utenti segnalano ritardi nelle app e pagine a caricamento lento, ma dall'altro lato, gli amministratori non possono individuare l'origine dei colli di bottiglia del database. È un problema di ottimizzazione? È la codifica effettiva delle istruzioni della query? È un problema con il server?

Gli amministratori dell'ottimizzazione delle prestazioni devono considerare i numerosi elementi in un database Oracle per risolvere eventuali ritardi nell'operazione. L'ottimizzazione delle prestazioni può non solo richiedere molto tempo, ma, soprattutto, può essere difficile capire da dove cominciare. Un intenso processo di ottimizzazione delle prestazioni adotta un approccio a livello di sistema e considera ogni componente Oracle dall'alto verso il basso.

Come molti esperti di database sapranno, l'ottimizzazione delle singole istruzioni SQL una per una avrà scarso effetto, a meno che l'amministratore ha prima eseguito l'ottimizzazione a livello di sistema sul server, sulle istanze del database e sui suoi oggetti. Si consiglia vivamente di valutare le misure di input / output (I / O), i parametri e le statistiche dell'ottimizzatore e le impostazioni dell'istanza prima di ottimizzare le singole istruzioni SQL. Altrimenti tuo Sforzi di ottimizzazione SQL può essere reso inutile in seguito dall'ottimizzatore in quanto determina il protocollo di esecuzione in contrasto con i piani di esecuzione progettati.

LETTURA CORRELATA:6 I migliori strumenti di monitoraggio di SQL Server

Il primo passo, analizzare le prestazioni del database

Analisi delle prestazioni dei server di database e monitorare il tempo di attività e altri parametri operativi è uno dei compiti più importanti degli amministratori di rete, di sistema e / o di database. Aiuterà a far funzionare il software del server database in modo uniforme ed efficiente. Fatto correttamente, utilizzando gli strumenti appropriati, può rivelarsi utile non solo per l'hardware e il software del server, ma, soprattutto, per l'esperienza degli utenti finali.

Numerosi problemi possono affliggere i server di database e influire negativamente sulle loro prestazioni. Tra questi, ecco alcuni dei più importanti:

Dimensione del database

Con l'aumentare delle dimensioni di un database, il server avrà bisogno di più memoria e CPU per leggere ed elaborare i dati dalle tabelle. L'aumento delle dimensioni di una tabella esistente può, ad esempio, causare un impatto notevole sulle prestazioni del server.

Struttura delle query

Le query sono i comandi dati al database per recuperare alcuni dati specifici. Più complessa è una query, maggiore è il suo impatto sulle prestazioni del database. L'identificazione delle query più tassative sul server di database è fondamentale per la gestione delle prestazioni dei server. Una volta identificate le query che occupano la maggior parte delle risorse, è possibile compiere sforzi per ridurre il carico sui cicli del server e sull'utilizzo della memoria. Inoltre, scoprire quale applicazione sta causando queste costose query sul database può aiutarti a diagnosticare i problemi sottostanti dietro queste query e risolverli in modo rapido ed efficiente. Il monitoraggio delle query ti aiuterà a identificare quale applicazione host sta causando problemi e potenzialmente ti aiuterà a diagnosticare anche altri problemi relativi alle applicazioni.

Frammentazione dell'indice

I dati memorizzati nei database sono indicizzati per rendere più rapida ed efficiente la ricerca nel database e il recupero dei dati. Sebbene l'indicizzazione corretta aiuterà a cercare e recuperare i dati più rapidamente, quando i dati vengono modificati, eliminati o rimossi, il contenuto indicizzato viene disperso e il database diventa frammentato, il che può provocare prestazioni degradazione.

Prestazioni hardware

Hardware prestazioni del server l'esecuzione del database può anche avere un grande impatto sulle prestazioni del database. Memoria, cache e paging devono essere monitorati in tempo reale per assicurarsi che sia il software del server database prestazioni ottimali e non si verificano colli di bottiglia o rallentamenti.

I migliori strumenti per l'analisi delle prestazioni del database Oracle

Poiché l'analisi delle prestazioni del database Oracle è una questione così importante ma complessa, abbiamo cercato per il mercato alcuni dei migliori strumenti disponibili. Sebbene tutti gli strumenti esaminati di seguito siano altamente raccomandabili, sono tutti molto diversi. Prenditi del tempo per leggere recensioni dettagliate o approfittare delle prove gratuite disponibili che la maggior parte di esse offre prima di finalizzare la scelta dello strumento migliore per le tue esigenze specifiche.

La nostra prima voce è uno strumento eccellente di SolarWinds, la stessa compagnia che ci ha portato il Network Performance Monitor, considerato da molti come uno dei migliori strumenti di monitoraggio della larghezza di banda della rete. SolarWinds è diventato un nome familiare tra gli amministratori di rete grazie principalmente alla sua impressionante selezione di strumenti che includono alcuni dei migliori strumenti gratuiti disponibili sul mercato.

Il Analizzatore delle prestazioni del database SolarWinds (o DPA) monitora e analizza le istanze del database Oracle per risolvere i problemi. Utilizza un metodo di analisi del tempo di risposta e si concentra sul tempo tra una richiesta di query e il la risposta corrispondente dal database e analizza i tempi di attesa e gli eventi per individuare i colli di bottiglia di banche dati.

Analizzatore delle prestazioni del database SolarWinds
  • PROVA GRATUITA: Analizzatore delle prestazioni del database SolarWinds
  • Link ufficiale per il download: https://www.solarwinds.com/database-performance-analyzer/registration

Lo strumento vanta un'interfaccia facile da usare che ti aiuterà a trovare i problemi in modo rapido e semplice. La schermata principale consente di visualizzare istanze del database, tempi di attesa, consigli sulle query, CPU (con avvisi e avvisi critici), memoria, disco e sessioni.

Il dashboard Trend di una specifica istanza di database mostra i tempi di attesa totali (o, in alternativa, i tuoi scelta dei tempi di attesa giornalieri medi o tipici) per gli utenti nel corso di un mese in modo grafico formato. Ogni colore del grafico rappresenta una singola istruzione SQL, fornendo una rappresentazione di quale istruzione richiede più tempo per l'esecuzione.

Il Analizzatore delle prestazioni del database SolarWinds è così ricco di funzionalità che un intero articolo potrebbe essere dedicato ad esso. Ecco un riepilogo delle sue caratteristiche più importanti.

Consulenza sull'ottimizzazione del database

Lo strumento offre consigli per l'ottimizzazione delle singole istanze del database e garantisce che funzionino al massimo delle loro prestazioni. Lo fa analizzando tutti i parametri di un'istanza e raccomandando un corso di azione per ottimizzare determinate query o intere istanze di database per le massime prestazioni.

Monitoraggio attivo di tutte le sessioni attive

Il motore di polling nativo altamente dettagliato registra esattamente tutto ciò che accade all'interno delle istanze del database senza alcun carico aggiuntivo sul database stesso.

Tracciamento, monitoraggio e analisi dei componenti del database

Per aiutare a individuare la causa principale dei problemi di rendimento, lo strumento correla automaticamente query, utenti, file, piani, oggetti, tempi di attesa, archiviazione e data / ora / ora / minuto per scoprire e diagnosticare con precisione i problemi sul volare.

Unico punto di monitoraggio per tutti i tuoi database

Il Analizzatore delle prestazioni del database SolarWinds non funziona solo con Oracle. In realtà supporta la maggior parte dei principali prodotti tra cui Microsoft SQL Server, MySQL, DB2 e ASE. Supporta inoltre server fisici locali, macchine virtuali (sotto Vmware o Hyper-V) e database basati su cloud.

Senza agente e altamente scalabile

Questo prodotto ti consentirà di monitorare tutte le istanze di database che desideri. Può facilmente scalare da una a mille istanze. Inoltre, non richiede l'installazione di alcun agente di monitoraggio o analisi sui server. Non vi è alcun rischio, quindi, che lo strumento abbia un impatto sulle prestazioni dei database.

Prezzi per il Analizzatore delle prestazioni del database SolarWinds iniziare da $ 1 995 e variare in base al numero e al tipo di istanze del database da monitorare. Se preferisci provare il prodotto prima di acquistarlo, è disponibile una versione di prova di 14 giorni completamente funzionale.

Prova gratuita di 14 giorni: https://www.solarwinds.com/database-performance-analyzer/registration

2. Responsabile Diagnostica Idera

Il Responsabile Diagnostica Idera offre il monitoraggio delle prestazioni di Oracle e altri database in ambienti sia fisici che virtuali. Lo strumento consente agli amministratori di visualizzare statistiche sulle prestazioni, metriche e avvisi dai server fisici, nonché dalle macchine virtuali e dal loro hardware host sottostante. Le metriche monitorate includono CPU, memoria, utilizzo e spazio sul disco rigido, utilizzo della rete e altro. Il prodotto fornisce anche il monitoraggio proattivo delle query SQL insieme al monitoraggio transnazionale e può fornire agli amministratori consigli per l'integrità dei loro database Oracle.

Idera Diagnostic Manager - Central Dashboard

Il Responsabile Diagnostica Idera offre un'interfaccia basata sul Web o app mobili disponibili sia per telefoni e tablet Android e iOS sia per la piattaforma Blackberry. La disponibilità di dati storici e in tempo reale sulle istanze del server Oracle consente agli amministratori di apportare modifiche al volo direttamente dall'app mobile. E anche se le app mobili non sono così ricche di funzionalità come la console Web, è possibile eseguire diverse attività amministrative tra cui la visualizzazione e l'uccisione di processi, l'avvio e l'interruzione dei lavori in base alle esigenze e l'esecuzione di query per la risoluzione problemi.

Altre caratteristiche di questo potente strumento includono un sistema di allerta predittivo che è costruito per evitare falsi allarmi e un eccellente funzione di monitoraggio delle prestazioni delle query in grado di individuare query non efficienti e / o con prestazioni scadenti. Prezzi per il Responsabile Diagnostica Idera iniziare da $ 1 996 per istanza del database ed è disponibile una versione di prova di 14 giorni completamente funzionale sebbene piuttosto breve.

3. ManageEngine Applications Manager

Anche se potrebbe non essere così noto come SolarWinds, ManageEngine è un altro nome che gode di un'ottima reputazione tra gli amministratori di rete. Non lasciare che il suo nome ti induca in errore. sebbene il ManageEngine Application Manager riguarda principalmente la gestione delle applicazioni, include anche alcune potenti funzionalità di monitoraggio e gestione delle prestazioni Oracle ed è tanto una piattaforma di monitoraggio quanto uno strumento di gestione.

Il ManageEngine Applications ManagerIl monitor di database Oracle offre un monitoraggio Oracle multidimensionale pronto all'uso. Vanta inoltre avvisi tempestivi e report approfonditi. A causa delle sue numerose funzionalità, Database Performance Analyzer for oracle di Applications Manager è un potente strumento di monitoraggio del database Oracle utilizzato da migliaia di amministratori IT. I database Oracle sono complessi e il monitoraggio è spesso impegnativo e richiede tempo. I parametri importanti possono facilmente scivolare attraverso le fessure. L'efficace supporto del monitoraggio Oracle di questo strumento semplifica il monitoraggio delle prestazioni di vari aspetti del database Oracle, in particolare metriche relative a tablespace, sessioni, SGA, file di dati e I / O del disco.

Screenshot di ManageEngine Applications Manager Oracle

C'è molto di più che si può fare con questo strumento. Ad esempio, è possibile tenere traccia dei tempi di risposta dell'applicazione con informazioni a livello di codice sull'ambiente di monitoraggio delle prestazioni dell'applicazione. La sua funzione di tracciamento delle transazioni ti consentirà di rilevare le transazioni lente. Monitorerà le esecuzioni delle query del database e traccerà le transazioni in background.

Il ManageEngine Application Manager è disponibile in diverse edizioni. Esiste un'edizione gratuita con funzionalità limitate, nonché versioni a pagamento Professional e Enterprise. Il prezzo parte da $ 945 e i dettagli possono essere ottenuti contattando ManageEngine. È inoltre disponibile una versione di prova gratuita di 30 giorni.

4. eG Enterprise

eG Innovation è una società specializzata in strumenti di monitoraggio delle prestazioni. Si chiama il suo prodotto di punta eG Enterprise. È una soluzione di gestione delle prestazioni totale che fornisce monitoraggio, diagnosi e report IT automatizzati per la risoluzione dei problemi rallentamenti dell'applicazione, problemi relativi all'esperienza utente, interruzioni della rete, strozzature della virtualizzazione, guasti del server, hot spot di archiviazione e Di Più.

eG Enterprise utilizza una combinazione di tecnologie basate su agenti e senza agenti per monitorare la salute e le prestazioni dell'intero Infrastruttura IT dal codice dell'applicazione all'hardware in qualsiasi tipo di ambiente: fisico, virtuale, cloud o ibrido. Lo strumento utilizza una correlazione delle prestazioni brevettata e una tecnologia di diagnosi delle cause alla radice. Ciò semplifica la risoluzione dei problemi delle prestazioni e può comportare una risoluzione più rapida dei problemi e una maggiore efficienza operativa.

Screenshot di eG Enterprise

eG Enterprise include ampie funzionalità di monitoraggio per database Oracle. Un singolo agente di monitoraggio eG è in grado di monitorare tutte le istanze del database Oracle eseguite su un sistema. Il monitoraggio effettivo delle istanze del database Oracle viene eseguito in modo non intrusivo e per gli amministratori avere la possibilità di configurare se il monitoraggio deve essere eseguito in modo basato su agenti o senza agenti maniera.

eG EnterpriseL’architettura basata sul Web consente la gestione e il monitoraggio dei server Oracle distribuiti da un gestore centrale. Gli amministratori possono visualizzare e analizzare le prestazioni dei server di database Oracle in tempo reale sul Web. Il monitor Oracle dello strumento include un modello specializzato per un server di database Oracle creato per evitare di schiacciare l'amministratore con una tonnellata di dati sulle prestazioni. Visualizzando il modello di layer di un server di database Oracle, un amministratore può determinare rapidamente quali layer del server di database stanno causando un problema.

eG EnterpriseIl modello di prezzi e distribuzione è piuttosto complesso. Lo strumento è disponibile come software installato localmente con una licenza perpetua o su abbonamento. Se preferisci, è disponibile anche un'opzione SaaS basata su cloud. I prezzi non sono prontamente disponibili da eG Innovation e dovrai richiedere un preventivo formale alla società. Se puoi testare le funzionalità del prodotto, è disponibile una versione di prova gratuita dell'editore.

5. Piattaforma precisa Idera

L'ultimo nella nostra lista è un altro prodotto di Idera chiamato il Piattaforma precisa. Si differenzia dal Responsabile della diagnostica recensito sopra in quanto la piattaforma precisa è progettata specificamente per mantenere il tuo ambiente Oracle disponibile e performante alla massima efficienza. Lo strumento acquisisce, misura e analizza le metriche delle prestazioni di tutti i componenti di sistema critici e consente di rilevare e correggere le cause alla radice dei problemi prima che gli utenti finali siano interessati. Questo prodotto offre visibilità di alto livello su più istanze Oracle e Oracle RAC, fornendo avvisi quando vengono rilevati problemi, offrendo report sui dati raccolti e mantenendo un magazzino di prestazioni del database Oracle informazione.

Finestra principale precisa di Idera

Il Idera Piattaforma precisa analizza continuamente il comportamento del database per trovare gli oggetti o i processi con le prestazioni più scadenti. Ciò può includere dichiarazioni pesanti, oggetti pesanti, I / O elevati, eventi RAC, dispositivi di archiviazione e altro. Le statistiche storiche sono archiviate per istanza, per utente e per programma per fornire il contesto necessario per vedere l'intero quadro. Analizzerà rapidamente istruzioni SQL, oggetti di database e istanze Oracle per scoprire cause specifiche di problemi di prestazioni. Presenta inoltre il percorso di accesso Oracle in passaggi dettagliati e visualizza le statistiche necessarie per comprendere ogni passaggio, consentendo di isolare rapidamente i problemi.

Il Idera Piattaforma precisa fornisce ai DBA una libreria di conoscenze ed esperienze progettate per aiutarli a ottimizzare il loro ambiente Oracle. Offrirà consigli sull'ottimizzazione delle istruzioni SQL, l'ottimizzazione degli oggetti del database, l'ottimizzazione dell'indice e il costo dell'indice. Inoltre identifica automaticamente le aree problematiche e fornisce consigli attuabili su come affrontarle. Inoltre, i DBA possono eseguire analisi what-if per prevedere l'impatto delle modifiche proposte prima di apportarle effettivamente, riducendo così il rischio di peggiorare accidentalmente le cose. Infine, questo strumento semplifica l'allineamento della capacità del server e dello storage alle crescenti esigenze della tua azienda.

Prezzi per il Piattaforma precisa Idera non è prontamente disponibile e dovrai contattare l'azienda per un preventivo adattato al tuo ambiente specifico. Allo stesso modo, una prova gratuita non sembra essere disponibile sebbene sia possibile organizzare una sessione demo, contattando nuovamente l'editore.

watch instagram story