Oracle Performance Tuning: hoe u de databaseprestaties kunt verbeteren

click fraud protection

Slechte Oracle-databaseprestaties zijn nogal verraderlijk. Het kan verschillende gevolgen hebben die zich vaak zullen vertalen in slechte applicatieprestaties. Dit kan een typische beheerder op een wilde gansjacht leiden terwijl hij op zoek gaat naar een probleem ergens anders.

Er is maar één manier om ervoor te zorgen dat de database niet het knelpunt wordt van uw gedistribueerde, meerlagige applicaties: de prestaties van Oracle-databases afstemmen. Dat is het onderwerp van het bericht van vandaag. Ons doel is niet om een ​​diepgaande zelfstudie over het onderwerp te geven, maar om u voldoende informatie te geven zodat u de best mogelijke tool kunt kiezen om u te helpen deze schijnbaar overweldigende taak aan te pakken.

Oracle Performance Tuning: hoe u de databaseprestaties kunt verbeteren

We beginnen met het introduceren van databases, wat ze zijn en hoe ze werken. We zullen natuurlijk wat specifieker zijn over Oracle, aangezien het vandaag onze primaire focus is. Vervolgens gaan we de prestatieafstemming aanpakken. We leggen uit wat het is en hoe het werkt. Onze volgende taak is analyse van databaseprestaties, aangezien deze de kern vormt van elke inspanning voor het afstemmen van de prestaties van Oracle-databases. En aangezien dat zo belangrijk is, zullen we eindelijk de beste tools voor prestatieanalyse van Oracle-databases bekijken.

instagram viewer

Over relationele databasebeheersystemen

In zijn eenvoudigste uitdrukking is een database een gegevensstructuur die georganiseerde informatie opslaat. Gegevens in een database worden opgeslagen in tabellen waarbij elke rij één gegevensitem vertegenwoordigt en elke kolom een ​​stukje informatie over dit item is. Een adresboek kan bijvoorbeeld worden opgeslagen in een database waar elk item een ​​regel zou zijn en waar er kolommen zouden zijn voor de achternaam, voornaam, adres, straat, stad, staat, land, enz.

Databasesystemen - ook wel relationele databasemanagers genoemd - bieden verschillende manieren om die gegevens te manipuleren. Meerdere tabellen kunnen worden samengevoegd, gegevens kunnen worden geïndexeerd voor sneller ophalen of op verschillende manieren worden gemanipuleerd. Databases uitleggen zou een heel boek kosten. In feite zijn er honderden boeken over dit onderwerp geschreven. Voor onze discussie is het belangrijkste om te beseffen dat databases vrij complexe stukjes software zijn. Mede door die complexiteit kunnen veel factoren hun prestatie beïnvloeden.

Wat Oracle betreft, het is een eigen merk van Relational DataBase Management System (RDBMS). Het bestaat al eeuwen en toen het voor het eerst werd uitgebracht in 1979, was het de eerste op SQL gebaseerde RDBMS. Het is sindsdien blijven evolueren en de versie 19 is net in augustus uitgebracht. Tegenwoordig is de RDBMS-markt verzadigd met aanbiedingen van meerdere leveranciers. Microsoft SQL Server en IBM DB2 zijn waarschijnlijk de meest populaire alternatieven, maar gratis en open source aanbiedingen worden steeds populairder en ze bieden vaak vergelijkbare functies en prestaties voor de meeste use cases.

Wat is Oracle Performance Tuning?

Prestatieafstemming van Oracle-databases verwijst naar het proces van het optimaliseren van Oracle-prestaties door de uitvoering van SQL-instructies te stroomlijnen. Kortom, prestatieafstemming vereenvoudigt het proces van toegang tot en wijziging van de informatie binnen de database met de bedoeling de reactietijden van vragen en daarmee de toepassing te verbeteren prestatie. Het maakt niet uit hoe ingewikkeld sommige leerboeken het er uit laten zien, het komt er eigenlijk op neer. Het is echter het ingewikkelde deel. Zoals veel dingen in het leven is dit makkelijker gezegd dan gedaan.

Hoe werkt het?

Performance tuning houdt rekening met de vele elementen in een RDBMS om de bron van prestatieproblemen te achterhalen. Databasebeheerders (DBA's) staan ​​vaak voor een moeilijke taak. Aan de ene kant melden gebruikers dat ze app-vertragingen en langzaam ladende pagina's ervaren, maar aan de andere kant kunnen beheerders de bron van databaseknelpunten niet achterhalen. Is het een optimalisatieprobleem? Is het de feitelijke codering van queryinstructies? Is het een probleem met de server?

Beheerders voor prestatieafstemming moeten rekening houden met de vele elementen in een Oracle-database om eventuele vertragingen in de werking op te lossen. Het afstemmen van prestaties kan niet alleen behoorlijk tijdrovend zijn, maar, nog belangrijker, het kan moeilijk zijn om erachter te komen waar te beginnen. Een intensief prestatie-afstemmingsproces neemt een benadering op systeemniveau en beschouwt elk Oracle-onderdeel van boven naar beneden.

Zoals veel database-experts weten, heeft het een voor een afstellen van individuele SQL-instructies weinig effect, tenzij de beheerder heeft eerst afstemming op systeemniveau uitgevoerd op de server, de database-instances en de bijbehorende voorwerpen. Het wordt ten zeerste aanbevolen om input- en outputmetingen (I / O), optimalisatieparameters en statistieken en instantie-instellingen te beoordelen voordat u individuele SQL-instructies afstemt. Anders, jouw Inspanningen bij SQL kan later door de optimizer onbruikbaar worden gemaakt omdat het uitvoeringsprotocol bepaalt in tegenstelling tot ontworpen uitvoeringsplannen.

GERELATEERDE LEZING:6 Beste SQL Server Monitoring Tools

De eerste stap, het analyseren van databaseprestaties

De prestaties van databaseservers analyseren en het bewaken van hun uptime en andere operationele parameters is een van de belangrijkste taken van netwerk-, systeem- en / of databasebeheerders. Het zorgt ervoor dat uw databaseserversoftware soepel en efficiënt blijft werken. Als het goed wordt gedaan - met de juiste tools - kan het niet alleen voordelig zijn voor uw serverhardware en -software, maar, nog belangrijker, voor de ervaring van uw eindgebruikers.

Verschillende problemen kunnen databaseservers teisteren en hun prestaties nadelig beïnvloeden. Onder hen zijn hier enkele van de belangrijkste:

Database grootte

Naarmate de database groter wordt, heeft de server meer geheugen en CPU nodig om gegevens uit de tabellen te lezen en te verwerken. Het vergroten van de grootte van een bestaande tabel kan bijvoorbeeld een merkbare impact hebben op de serverprestaties.

Querystructuur

Query's zijn de opdrachten die aan de database worden gegeven om bepaalde specifieke gegevens op te halen. Hoe complexer een query is, hoe groter de impact op de databaseprestaties. Het identificeren van de meest belastende zoekopdrachten op de databaseserver is cruciaal voor het beheer van de prestaties van servers. Zodra de queries die de meeste bronnen innemen zijn geïdentificeerd, kunnen inspanningen worden geleverd om de belasting van servercycli en geheugengebruik te verminderen. Als u erachter komt welke applicatie deze dure query's in uw database veroorzaakt, kunt u ook de onderliggende problemen achter deze query's diagnosticeren en deze snel en efficiënt oplossen. Door query's te bewaken, kunt u vaststellen welke hosttoepassing problemen veroorzaakt en mogelijk ook helpen bij het diagnosticeren van andere toepassingsproblemen.

Index fragmentatie

Gegevens die in databases zijn opgeslagen, worden geïndexeerd om het doorzoeken van de database en het sneller en efficiënter ophalen van gegevens te vergemakkelijken. Hoewel een goede indexering helpt bij het sneller zoeken en ophalen van gegevens, wanneer gegevens worden gewijzigd, verwijderd of verwijderd, de geïndexeerde inhoud wordt verspreid en de database wordt gefragmenteerd, wat tot prestatie kan leiden degradatie.

Hardwareprestaties

Hardware prestaties van de server het runnen van de database kan ook een grote impact hebben op de databaseprestaties. Geheugen, cache en paging moeten in realtime worden gecontroleerd om ervoor te zorgen dat uw databaseserversoftware dat is optimaal presteren en geen knelpunten of vertragingen ervaren.

De beste tools voor Oracle Database Performance Analysis

Omdat de analyse van prestatieprestaties van Oracle-databases zo'n belangrijke maar complexe kwestie is, hebben we de markt afgezocht naar enkele van de beste beschikbare tools. Hoewel elk van de hieronder besproken tools zeer aan te bevelen is, zijn ze allemaal heel verschillend. Neem de tijd om gedetailleerde beoordelingen te lezen of profiteer van de beschikbare gratis proefversies die de meeste van hen bieden voordat u uw keuze voor de beste tool voor uw specifieke behoeften definitief maakt.

Onze eerste inzending is een uitstekende tool van SolarWinds, hetzelfde bedrijf dat ons de Netwerkprestatiemonitor, door velen beschouwd als een van de beste tools voor netwerkbandbreedtebewaking. SolarWinds is een begrip geworden onder netwerkbeheerders, voornamelijk vanwege de indrukwekkende selectie van tools, waaronder enkele van de beste gratis tools die er zijn.

De SolarWinds Database Performance Analyzer (of DPA) bewaakt en analyseert uw Oracle-database-instanties om problemen op te lossen. Het maakt gebruik van een Response Time Analysis-methode en richt zich op de tijd tussen een queryaanvraag en de bijbehorende reactie uit de database en analyseert wachttijden en gebeurtenissen om de knelpunten van te lokaliseren databases.

SolarWinds Database Performance Analyzer
  • GRATIS PROEF: SolarWinds Database Performance Analyzer
  • Officiële downloadlink: https://www.solarwinds.com/database-performance-analyzer/registration

De tool heeft een eenvoudig te gebruiken interface die u helpt bij het snel en gemakkelijk vinden van problemen. Op het hoofdscherm kunt u database-instanties, wachttijden, vraagadvies, CPU (met waarschuwingen en kritieke waarschuwingen), geheugen, schijf en sessies bekijken.

Het Trend-dashboard van een specifieke database-instantie toont u de totale wachttijden (of, als alternatief, uw keuze uit gemiddelde of typische wachttijden overdag) voor de gebruikers in de loop van een maand in een grafische weergave formaat. Elke kleur van de grafiek vertegenwoordigt een individuele SQL-instructie, waardoor u kunt zien welke instructie het langst duurt.

De SolarWinds Database Performance Analyzer zit zo boordevol functies dat er een heel artikel aan kan worden gewijd. Hier volgt een samenvatting van de belangrijkste functies.

Advies over database-tuning

De tool geeft u advies voor het afstemmen van individuele database-instanties en zorgt ervoor dat ze optimaal presteren. Het doet dat door alle parameters van een instantie te analyseren en een actie aan te bevelen om bepaalde query's of volledige database-instanties te optimaliseren voor topprestaties.

Actieve monitoring van alle actieve sessies

De zeer gedetailleerde native polling-engine registreert precies alles wat er in uw database-instanties gebeurt, zonder extra belasting voor de database zelf.

Volgen, bewaken en analyseren van databasecomponenten

Om de oorzaak van prestatieproblemen te achterhalen, correleert de tool automatisch vragen, gebruikers, bestanden, plannen, objecten, wachttijden, opslag en datum / tijd / uur / minuut om problemen op de website nauwkeurig te ontdekken en te diagnosticeren vlieg.

Eén bewakingspunt voor al uw databases

De SolarWinds Database Performance Analyzer werkt niet alleen met Oracle. Het ondersteunt eigenlijk de meeste grote producten, waaronder Microsoft SQL Server, MySQL, DB2 en ASE. Het ondersteunt ook fysieke on-premises servers, virtuele machines (onder Vmware of Hyper-V) en cloudgebaseerde databases.

Zonder agent en zeer schaalbaar

Met dit product kunt u zoveel database-instanties controleren als u wilt. Het kan gemakkelijk worden geschaald van één naar duizend exemplaren. Er hoeft ook geen monitoring- of analyse-agent op uw servers te worden geïnstalleerd. Er is dus geen risico dat de tool de prestaties van uw databases beïnvloedt.

Prijzen voor de SolarWinds Database Performance Analyzer beginnen bij $ 1 995 en variëren afhankelijk van het aantal en het type database-instanties dat moet worden gecontroleerd. Als je het product liever probeert voordat je het koopt, er is een volledig functionele proefversie van 14 dagen beschikbaar.

14 dagen gratis proefperiode: https://www.solarwinds.com/database-performance-analyzer/registration

2. Idera Diagnostic Manager

De Idera Diagnostic Manager biedt prestatiebewaking van Oracle en andere databases in zowel fysieke als virtuele omgevingen. De tool biedt beheerders de mogelijkheid om prestatiestatistieken, metrische gegevens en waarschuwingen te zien van fysieke servers, maar ook van virtuele machines en hun onderliggende hosthardware. De bewaakte statistieken omvatten CPU, geheugen, gebruik en ruimte op de harde schijf, netwerkgebruik en meer. Het product biedt ook proactieve monitoring van SQL-queries samen met transnationale monitoring en kan beheerders aanbevelingen geven voor de gezondheid van hun Oracle-databases.

Idera Diagnostic Manager - Centraal dashboard

De Idera Diagnostic Manager biedt een webgebaseerde interface of mobiele apps die beschikbaar zijn voor zowel Android- en iOS-telefoons en -tablets als het Blackberry-platform. Door de beschikbaarheid van realtime en historische gegevens over uw Oracle-serverinstanties kunnen beheerders direct wijzigingen aanbrengen vanuit de mobiele app. En hoewel de mobiele apps niet zo veelzijdig zijn als de webconsole, kunt u verschillende beheertaken uitvoeren van hen inclusief het bekijken en doden van processen, het starten en stoppen van taken indien nodig en het uitvoeren van vragen om te helpen oplossen problemen.

Andere kenmerken van deze krachtige tool zijn onder meer een voorspellend waarschuwingssysteem dat is gebouwd om valse waarschuwingen en een te voorkomen uitstekende functie voor het controleren van queryprestaties die queries kan lokaliseren die niet efficiënt zijn en / of slecht presteren. Prijzen voor de Idera Diagnostic Manager Begin bij $ 1.996 per database-instantie en er is een volledig functionele, zij het vrij korte, 14-daagse proef beschikbaar.

3. ManageEngine Applications Manager

Hoewel het misschien niet zo bekend is als SolarWinds, ManageEngine is een andere naam die een uitstekende reputatie geniet bij netwerkbeheerders. Laat je niet misleiden door de naam. Hoewel de ManageEngine Application Manager houdt zich voornamelijk bezig met applicatiebeheer, het bevat ook enkele krachtige Oracle prestatiebewaking en beheerfuncties en het is zowel een monitoringplatform als een managementtool.

De ManageEngine Applications Manager‘S Oracle-databasemonitor biedt multidimensionale, kant-en-klare Oracle-bewaking. Het beschikt ook over snelle waarschuwingen en inzichtelijke rapporten. Vanwege zijn talrijke kenmerken, Database Performance Analyzer voor Oracle door Applications Manager is een krachtige Oracle database monitoring tool die door duizenden IT-beheerders wordt gebruikt. Oracle-databases zijn complex en monitoring is vaak zowel uitdagend als tijdrovend. Belangrijke parameters kunnen gemakkelijk door de scheuren glippen. De effectieve Oracle-monitoringondersteuning van deze tool maakt het eenvoudig om de prestaties van verschillende te volgen facetten van de Oracle-database, met name statistieken met betrekking tot tabelruimten, sessies, SGA's, gegevensbestanden en schijf I / O.

ManageEngine Applications Manager Oracle Screenshot

Er kan nog veel meer worden gedaan met deze tool. U kunt bijvoorbeeld de responstijden van applicaties volgen met informatie op codeniveau over de monitoringomgeving van uw applicatieprestaties. Met de functie voor het traceren van transacties kunt u trage transacties detecteren. Het zal de uitvoering van databasequery's bewaken en achtergrondtransacties volgen.

De ManageEngine Application Manager is verkrijgbaar in verschillende edities. Er is een gratis versie met beperkte functionaliteit, evenals een betaalde versie van Professional en Enterprise. Prijzen beginnen bij $ 945 en details kunnen worden verkregen door contact op te nemen met ManageEngine. Er is ook een gratis proefversie van 30 dagen beschikbaar.

4. eG Enterprise

eG Innovatie is een bedrijf gespecialiseerd in performance monitoring tools. Het vlaggenschipproduct wordt genoemd eG Enterprise. Het is een totaaloplossing voor prestatiebeheer die geautomatiseerde IT-monitoring, diagnose en rapportage biedt om problemen op te lossen vertraging van toepassingen, problemen met gebruikerservaringen, netwerkuitval, knelpunten in virtualisatie, serverstoringen, opslaghotspots en meer.

eG Enterprise gebruikt een combinatie van agentgebaseerde en agentloze technologieën om de gezondheid en prestaties van uw geheel te bewaken IT-infrastructuur van applicatiecode tot hardware in elk type omgeving: fysiek, virtueel, cloud of hybride. De tool maakt gebruik van een gepatenteerde prestatiecorrelatie en diagnostische technologie voor de oorzaak. Dit vereenvoudigt het oplossen van prestatieproblemen en kan resulteren in snellere probleemoplossing en verhoogde operationele efficiëntie.

Screenshot van eG Enterprise

eG Enterprise omvat uitgebreide bewakingsmogelijkheden voor Oracle-databases. Een enkele eG-bewakingsagent kan alle Oracle-database-instances controleren die op een systeem worden uitgevoerd. De feitelijke bewaking van de Oracle-database-instanties wordt niet-opdringerig uitgevoerd en beheerders hebben de mogelijkheid om te configureren of de bewaking moet worden uitgevoerd in een agent-based of agentless manier.

eG Enterprise‘S webgebaseerde architectuur zorgt voor het beheer en de monitoring van gedistribueerde Oracle-servers vanuit een centrale manager. Beheerders kunnen de prestaties van Oracle-databaseservers in realtime via internet bekijken en analyseren. De Oracle-monitor van de tool bevat een gespecialiseerd model voor een Oracle-databaseserver die is gebouwd om te voorkomen dat de beheerder wordt overspoeld met een heleboel prestatiegegevens. Door het laagmodel van een Oracle-databaseserver te bekijken, kan een beheerder snel bepalen welke laag (lagen) van de databaseserver een probleem veroorzaakt.

eG EnterpriseHet prijs- en implementatiemodel is nogal complex. De tool is beschikbaar als lokaal geïnstalleerde software met een permanente licentie of op abonnementsbasis. Als u wilt, is er ook een cloudgebaseerde SaaS-optie beschikbaar. Prijzen zijn niet direct beschikbaar vanaf eG Innovatie en u moet een formele offerte aanvragen bij het bedrijf. Als u de functies van het product kunt testen, is er een gratis proefversie verkrijgbaar bij de uitgever.

5. Idera Precise Platform

Als laatste op onze lijst staat een ander product van Idera genaamd de Nauwkeurig platform. Het verschilt van de Diagnostische manager hierboven besproken omdat het Precise Platform speciaal is ontworpen om uw Oracle-omgeving beschikbaar te houden en optimaal te laten presteren. De tool registreert, meet en analyseert prestatiestatistieken van alle kritieke systeemcomponenten en helpt u de hoofdoorzaken van problemen te detecteren en te corrigeren voordat eindgebruikers worden getroffen. Dit product biedt zichtbaarheid op hoog niveau in meerdere Oracle- en Oracle RAC-instanties en waarschuwt wanneer problemen worden gedetecteerd, rapporten over verzamelde gegevens worden aangeboden en een magazijn met Oracle-databaseprestaties onderhouden informatie.

Idera Precise Main Window

De Idera Nauwkeurig platform analyseert continu het databasegedrag om de slechtst presterende objecten of processen te vinden. Dit kan zware verklaringen, zware voorwerpen, hoge I / O, RAC-gebeurtenissen, opslagapparaten en meer zijn. Historische statistieken worden opgeslagen per instantie, per gebruiker en per programma om de nodige context te bieden om het hele plaatje te zien. Het analyseert snel SQL-instructies, databaseobjecten en Oracle-instanties om specifieke oorzaken van prestatieproblemen te achterhalen. Het presenteert ook het Oracle-toegangspad in gedetailleerde stappen en geeft de statistieken weer die nodig zijn om elke stap te begrijpen, zodat u problemen snel kunt isoleren.

De Idera Nauwkeurig platform biedt DBA's een bibliotheek met kennis en ervaring die is ontworpen om hen te helpen hun Oracle-omgeving af te stemmen. Het biedt aanbevelingen over het afstemmen van SQL-instructies, het afstemmen van databaseobjecten, indexafstemming en indexkosten. Het identificeert ook automatisch probleemgebieden en geeft bruikbaar advies over hoe ze moeten worden aangepakt. Bovendien kunnen DBA's what-if-analyses uitvoeren om de impact van voorgestelde wijzigingen te voorspellen voordat ze daadwerkelijk worden aangebracht, waardoor het risico wordt verkleind dat de dingen per ongeluk erger worden. Ten slotte maakt deze tool het gemakkelijker om de server- en opslagcapaciteit af te stemmen op de groeiende behoeften van uw bedrijf.

Prijsstelling voor de Idera Precise Platform is niet direct beschikbaar en u moet contact opnemen met het bedrijf voor een offerte die is aangepast aan uw specifieke omgeving. Evenzo lijkt een gratis proefversie niet beschikbaar, hoewel een demosessie kan worden georganiseerd, opnieuw door contact op te nemen met de uitgever.

watch instagram story