sql >> Database >  >> RDS >> Oracle

Lighty in een notendop

Zoals je wellicht weet uit een eerdere post op deze blog, of als je me volgt op Twitter (BPeaslandDBA), vind ik Lighty for Oracle, een product van Orachrome, erg goed. Ik ben dol op dit product en hoe gemakkelijk het is om diagnostische informatie over de prestaties te verkrijgen. Ik ben erg bekend met Oracle's Enterprise Manager en ik gebruik EM12c de hele tijd als ik gebeld wordt over slechte databaseprestaties. Maar ik hoop nu dat Lighty een ander hulpmiddel in mijn arsenaal wordt.

Ik verwacht niet dat Lighty Enterprise Manager zal vervangen. EM12c doet zoveel meer dan Lighty kan, namelijk monitoren en alarmeren, en verschillende databasebeheertaken. Dus ik zal EM12c houden, heel erg bedankt. Maar ik zal meer op Lightly vertrouwen voor het ene deel van mijn werk dat Lighty echt goed doet, namelijk informatie verstrekken om te helpen bij het afstemmen van de prestaties. Lighty is alleen bedoeld voor het afstemmen van prestaties en omdat het een enkelvoudige focus heeft, doet het zijn werk erg goed.

Ik zal proberen enkele hoogtepunten te laten zien waarom ik denk dat Lighty een geweldig hulpmiddel is om te gebruiken. Ik zal contrasteren met EM12c. Om te beginnen, in EM12c, ga ik naar Prestaties -> Prestaties Home en ik zie een scherm dat lijkt op het volgende.

Ik kan meteen zien dat ik een CPU-bronconflict heb. Het hoofdscherm in Lighty ziet er als volgt uit.

We hebben dus zeer vergelijkbare informatie. En dat is waar de verschillen voor mij eindigen ... meteen bij het begin. In EM12c moet ik een beslissing nemen, moet ik dieper ingaan op het CPU-gebruik of een van de wachtklassen zoals User I/O? Aangezien het bovenstaande CPU-conflict laat zien, klik ik in EM12c op het CPU-gedeelte van de grafiek om naar beneden te gaan. Op dit moment in EM12c, overweeg ik alleen het CPU-gebruik voor mijn analyse. Zoals we later zullen zien, vereist Lighty niet dat ik die keuze maak als ik dat niet wil. Hieronder is mijn grafiek van EM12c.

De bovenstaande grafiek is heel gebruikelijk voor mij in mijn Oracle RAC-database. De bovenstaande grafiek toont het CPU-gebruik voor drie instanties van mijn geclusterde database. Welke domineert het CPU-gebruik? Nou, ze zien er allemaal redelijk gelijk uit. Toch dwingt EM12c me om één instantie te kiezen voor analyse. Ik kan niet alle 3 instanties in één scherm bekijken. Veel van mijn werk is met het afstemmen van Oracle RAC-prestaties en de beperkingen van EM12c storen me hier. Ik moet een wachtklasse of CPU kiezen en vervolgens een instantie kiezen voordat ik informatie kan verkrijgen over de beste SQL-instructies of topsessies. Als ik ver genoeg inzoom in EM12c, kan ik een scherm krijgen zoals het volgende.

Ik ben eindelijk eindelijk ergens! Ik kan de bovenste SQL-instructies en de beste sessies zien. Let op het gemarkeerde gedeelte. Dit is een detail voor een venster van 5 minuten. Het venster van vijf minuten wordt weergegeven door het gearceerde vak in de CPU-gebruiksgrafiek hieronder voor de instantie.

In EM12c kan ik het gearceerde vak naar een andere tijd slepen en de bovenste SQL- en topsessie-informatie zal veranderen om overeen te komen. Maar ik kan dit niet veranderen in een interval van 10 minuten of een andere tijdsperiode. Ik zit vast op 5 minuten.

Laten we dit nu vergelijken met Lighty. We hebben de prestatiegrafiek al gezien, net als EM12. Onder die prestatiegrafiek in Lighty bevindt zich een detailvenster op de bovenste SQL-instructies. Ik hoefde nergens op te klikken om de bovenste SQL-instructies te krijgen.

Ik zie meteen één verschil tussen Lighty en EM12c. Mijn belangrijkste SQL-instructies zijn niet alleen beperkt tot CPU of een specifieke wachtklasse. Als ik de informatie wil beperken, kan ik kiezen uit een menuvak boven de prestatiegrafiek.

Ik heb meestal Alles geselecteerd, maar ik kan ervoor kiezen om alleen CPU te zien als ik dat wil. Lighty beperkt me niet zoals EM12c dat doet, tenzij ik de keuze maak om de informatie te subsetten.

Merk op in de bovenste SQL dat ik een tijdlijn krijg van de gebeurtenissen voor die SQL. We kunnen bijvoorbeeld zien dat de bovenste SQL-instructie in de lijst veel CPU gebruikt. Andere SQL-instructies in de lijst starten en stoppen hun CPU-gebruik, weergegeven in lichtgroen. Gebruikers-I/O wordt hier tegelijkertijd in blauw weergegeven. Als ik een SQL-instructie uitvouw, kan ik een uitsplitsing van die SQL-instructie krijgen.

Door gewoon op het plusteken naast de SQL-instructie te klikken, kan ik zien dat deze instructie twee verschillende uitvoeringsplannen heeft en een daarvan verbruikt 93,92% van het totale CPU-gebruik. Als ik dat plan uitbreid, kan ik zien waar het zijn tijd doorbrengt, uitgesplitst naar wachtgebeurtenis.

Dus laten we dit samenvatten. Ik begon Lighty en kreeg onmiddellijk mijn beste SQL-statements te zien en met een enkele klik weet ik dat de bovenste een CPU-verslindend uitvoeringsplan heeft. Dat is naar mijn mening supersnel en gemakkelijk. EM12c maakt het moeilijker om bij deze informatie te komen en EM12c laat me niet zien wanneer een SQL-statement CPU begon te verbruiken en wanneer het stopte zoals de grafieken die Lighty biedt.

Als ik op een SQL-instructie klik, net zoals ik zou doen in EM12c, zal Lighty me statistieken over de specifieke SQL laten zien. Als ik op het tabblad Gebruik klik, kan ik alle sessies zien die deze verklaring hebben uitgevoerd. Merk op dat de grafiek een tijdlijn toont van wanneer die sessie die bron gebruikte voor deze SQL-instructie. EM12c laat me dat detailniveau niet zien.

Met het bovenstaande kan ik gemakkelijk zien dat het meerdere sessies zijn die dezelfde verklaring op verschillende tijdstippen uitvoeren.

Weet je nog dat ik door EM12c een instance moest kiezen voor deze Oracle RAC-database? In Lighty hoef ik die keuze niet te maken. Maar ik kan vrij gemakkelijk. Lighty is RAC-bewust en heeft de meerdere instanties gedetecteerd. Standaard heb ik alle instanties gekozen. Met een eenvoudig vervolgkeuzemenu kan ik er een selecteren en de informatie op het scherm past zich automatisch aan dat exemplaar aan.

Onthoud in EM12c waar dat gearceerde venster een periode van 5 minuten vertegenwoordigde. In Lighty zijn de SQL- en sessiedetails voor de hele grafiek. Als u een venster van 5 minuten wilt, kunt u de optie van 5 minuten boven de grafiek kiezen. Er is standaard een venster van 60 minuten gekozen.

En ik kan ook andere opties kiezen, waaronder een aangepast datum-/tijdbereik. In EM12c is de grafiek voor 1 uur en ik kan hem niet veranderen.

EM12c heeft zijn ASH Analytics om me te laten kijken naar prestaties in het verleden. Maar ik heb er altijd problemen mee gehad. Met ASH Analytics (waarmee ik de actieve sessiegeschiedenis kan bekijken), kan ik dat grijze venster veranderen in iets anders dan 5 minuten. Maar voor mij retourneert EM12c gewoon nooit de gegevens. Misschien heb ik iets mis met mijn EM12c omgeving. Maar Lightly werkt out-of-the-box met historische ASH-gegevens. Laten we zeggen dat ik een telefoontje kreeg over een prestatieprobleem dat zich vanmorgen tussen 8:00 en 9:00 uur voordeed. Ik kies gewoon een aangepast tijdbereik.

In EM12c ben ik genoodzaakt om naar een andere webpagina te gaan, Performance -> ASH Analytics.

Tot nu toe heb je waarschijnlijk vastgehouden aan het idee dat ik denk dat Lighty een snelle en gemakkelijke manier is om veel van dezelfde informatie te verkrijgen die ik van EM12c kan krijgen. En je zou gelijk hebben! Hier is een ander gebied dat ik leuk vind aan Lighty. Als ik naar Venster -> Monitoring van meerdere databases ga, kan ik grafieken van veel verschillende prestatiestatistieken voor meerdere databases zien. Hier is een voorbeeld. In één oogopslag kan ik meerdere databases op één scherm controleren. EM12c laat me dat niet doen. Ik kan zien dat de database uiterst rechts behoorlijk inactief is, terwijl de database in het midden behoorlijk hard wordt geraakt. Als ik op de pagina scrol, krijg ik grafieken voor veel statistieken:

  • Paseert
  • Gebruikersoproepen
  • Transacties
  • Leest en schrijft
  • Schijflatentie
  • Schijf-I/O-doorvoer
  • Globale overdrachtssnelheden voor cache
  • Generatiesnelheden opnieuw uitvoeren
  • Netwerkverkeer

In EM12c zou ik te veel pagina's moeten bezoeken om dezelfde informatie te krijgen die Lighty me op één pagina geeft.

Al mijn voorbeelden zijn gebaseerd op dezelfde diagnose- en afstemmingspakketten die ik heb gelicentieerd. Als u deze niet in licentie geeft, biedt Lighty vergelijkbare functionaliteit met Statspack en hun versie van L-ASH (Lighty ASH).

Al met al denk ik dat Lighty een geweldig hulpmiddel is voor de DBA die verantwoordelijk is voor het afstemmen van de prestaties. De kosten zijn ook zeer redelijk. Hoe meer ik de tool gebruik, hoe meer ik ga waarderen hoe snel ik informatie kan krijgen. Ik kan dingen aan- of uitzetten met niet meer dan twee klikken om gemakkelijk de oorzaak van mijn prestatieproblemen te kunnen achterhalen. Ik moedig alle Oracle DBA's aan om de proefversie te downloaden en te kijken of dit product geschikt is voor hen. Lighty is hier te vinden:http://www.orachrome.com/en/index.html


  1. Opties voor cloudback-up voor PostgreSQL

  2. Postgres is de coolste database – Reden #1:Ontwikkelaars zijn er dol op!

  3. Hoe kan ik een http-verzoek verzenden vanuit de postgresql-functie of trigger?

  4. Illegale mix van sorteringen (utf8_unicode_ci,IMPLICIT) en (utf8_general_ci,IMPLICIT) voor bewerking '='