oracle real application testing solution test oracle db before moving production
We zijn bij het laatste deel van de serie Oracle Database Testing.
Tot nu toe hebben we afgehandeld methoden om de Oracle-database te testen. Als we deze focus voortzetten, zullen we dieper ingaan op details met betrekking tot Oracle Real Application Testing.
Vandaag leren we Oracle Real Application Testing - een effectief change assurance-systeem dat de systeemwijziging in de testomgeving zelf beoordeelt voordat deze in productie wordt geïntroduceerd.
Dit is de toonaangevende oplossing van Oracle om de werkelijke DB-werkbelasting van de productieomgeving vast te leggen en op t is omgeving
Zoals herhaaldelijk is vermeld, moeten we er altijd voor zorgen dat we de database in elke mogelijke dimensie testen om instabiliteiten uit te roeien en om ervoor te zorgen dat we geen onvoorziene problemen tegenkomen in onze productie-instantie.
We kunnen categoriseren Oracle Real Application Testing in twee brede secties:
- SQL-prestatieanalyse
- Database opnieuw afspelen
Voordat we verder gaan, moet u er rekening mee houden dat SQL Performance Analyzer en Database Replay aanvullende licenties vereisen, d.w.z. het is beschikbaar tegen een meerprijs en een Enterprise Edition-optie.
Wat je leert:
SQL-prestatieanalyse
De GUI die wordt gebruikt om toegang te krijgen tot SQL Performance Analyzer en Database Replay is Enterprise Manager, zoals hieronder weergegeven:
Om toegang te krijgen tot SQL Performance Analyzer, klikt u op de link 'SQL Performance Analyzer'
(Klik op afbeelding om vergroot te bekijken)
Met SQL Performance Analyzer kunnen we de impact op de prestaties meten van elke wijziging in het systeem die van invloed kan zijn op de SQL-uitvoering en -prestaties.
Ze zijn uitermate handig in gevallen zoals:
- Database-upgrade, patchen
- Configuratiewijzigingen in het besturingssysteem - Software of hardware
- De statistieken van Oracle Optimizer veranderen
- Gebruiker / schema verandert
Het wordt altijd aangeraden om de SQL Performance Analyse uit te voeren op een test of een UAT (User Application Testing) systeem in plaats van op een productiesysteem. Omdat we tijdens het testen van de effecten van de verandering in termen van prestaties onbedoeld invloed kunnen hebben op de gebruikers die in de productie-instantie draaien. Door het op een test uit te voeren, zorgt u er ook voor dat we niet knoeien met lopende productieprocessen.
NAAR basisoverzicht van een SQL Performance Analyzer-workflow wordt hieronder weergegeven:
SQL Performance Analysis omvat de volgende stappen.
Stap 1)SQL-werkbelasting vastleggen
Bepaal de SQL-instructies die deel zouden uitmaken van uw SQL-workload van uw productie-instantie die u wilt analyseren. Deze werkbelasting zou idealiter de werkbelasting moeten vertegenwoordigen die u mogelijk in uw productie heeft.
We vangen deze statements op in een SQL Tuning Set en sturen deze SQL Tuning Set naar de SQL Performance Analyzer.
Aangezien de Analyzer veel bronnen op uw systeem verbruikt, raden we altijd aan om ze op een test of een UAT-systeem te laten draaien. Om het op een testsysteem uit te voeren, zouden we de SQL Tuning-set die we al in productie hebben gemaakt, naar het testsysteem moeten exporteren.
Stap 2)Een SQL Performance Analyzer-taak maken
Om de Analyzer uit te voeren, moet u eerst een SQL Performance Analyzer-taak maken. Deze taak is niets anders dan een opslagplaats die alle gegevens over de analyse consolideert die worden uitgevoerd door de SQL Performance Analyzer. Zoals eerder aangegeven, wordt de SQL Tuning Set als stimulans naar de Analyzer gevoerd.
hoe een wachtrij in java te implementeren
Stap 3)Proefversie van SQL Performance voorafgaand aan wijziging
Nadat we de SQL Performance Analyzer-taak en de SQL Tuning Set hebben gemaakt, moeten we de infrastructuur op het testsysteem bouwen.
Houd er rekening mee dat wanneer we van plan zijn een systeem te gebruiken om te testen, we ervoor moeten zorgen dat het qua hardware, software en opslag sterk lijkt op het productiesysteem, zodat we een vergelijkbare omgeving kunnen repliceren.
Zodra het testsysteem correct is geconfigureerd, kunnen we de pre-change-versie van de gegevens bouwen met behulp van SQL Performance Analyzer.
Dit kan worden bereikt door Enterprise Manager of API's (ingebouwde procedures) te gebruiken.
Stap 4)Proefversie van SQL-prestaties na wijziging
De Post-Change-proef wordt uitgevoerd op het testsysteem nadat er enkele wijzigingen in het systeem zijn aangebracht.
Zodra dit is voltooid, hebben we twee SQL-tests - een pre-change en post-change trial om te vergelijken.
Net als bij de Pre-Change SQL Performance Trial, kunnen we Post-Change SQL Performance Trial maken met Enterprise Manager of API's (ingebouwde procedures).
Stap # 5)Een rapport genereren
Na het uitvoeren van de Pre-change- en Post-change-tests, kunnen de prestatiegegevens die erin zijn verzameld, worden vergeleken door een vergelijkingsanalyse uit te voeren met SQL Performance Analyzer.
Zodra deze vergelijkingstaak is voltooid, kunnen we een rapport genereren om de prestaties van de SQL-instructie te identificeren, die deel uitmaakte van de werklast die we wilden testen.
Door het rapport te bekijken, kunnen we beoordelen en conclusies trekken over de prestaties van de SQL
Verklaringen en implementeer vervolgens de systeemwijzigingen in de productie.
Evenzo kunnen we verschillende workloads testen met verschillende systeemwijzigingen en ervoor zorgen dat we ze allemaal testen voordat ze in productie worden geïmplementeerd.
De hierboven geïllustreerde workflow kan grafisch worden weergegeven zoals hieronder weergegeven.
Database opnieuw afspelen
Om de tool uit te voeren via Enterprise Manager:
(Klik op afbeelding om vergroot te bekijken)
Database Replay maakt realistische testen van systeemwijzigingen mogelijk door in wezen uw productieomgeving op een testsysteem te repliceren. Het doet dit door een gewenste werklast op het productiesysteem vast te leggen en deze opnieuw af te spelen op een testsysteem met de exacte resourcekarakteristieken van de oorspronkelijke werkbelasting, zoals SQL-uitvoering, transacties, extracten en procedures.
Dit wordt uitgevoerd om ervoor te zorgen dat we alle mogelijke gevolgen van een wijziging in overweging nemen, inclusief ongewenste resultaten zoals productbugs, ongepaste resultaten of prestatieverlies.
Uitgebreide analyses en rapporten die worden gegenereerd, helpen ook om mogelijke problemen te identificeren, zoals onjuiste omstandigheden en prestatieverschillen.
Hierdoor kunnen organisaties met een gerust hart omgaan met veranderingen en lucratief zijn bij het beoordelen van het algehele succes van de systeemverandering. Dit zal elk risico aanzienlijk verkleinen wanneer we de wijzigingen in de productie willen doorvoeren. Verandering is onvermijdelijk en als we ervoor zorgen dat we elk aspect van deze verandering van alle graden testen, wordt de productie robuuster en robuuster.
Een basisworkflow van het opnieuw afspelen van de database is als volgt:
Wijzigingen die worden ondersteund door Database Replay zijn:
- Oracle Database-upgrades, softwarepatching
- Gebruiker / schema, database-instantie Parameters zoals geheugen, I / O
- Hardware / software verandert in RAC-knooppunten (Real Application Cluster)
- Wijzigingen in het besturingssysteem, patchen van het besturingssysteem
- CPU, geheugen, opslag
Met Database Replay kunnen we verschillende effecten van mogelijke wijzigingen aan het systeem testen door de praktische belasting van een echt productiesysteem op een testsysteem opnieuw af te spelen voordat het aan het eerste wordt blootgesteld. De werkdruk op de productie wordt bewaakt, geanalyseerd en geregistreerd over een kwantitatieve vaste periode. Deze gegevens worden in de loop van de tijd vastgelegd en worden gebruikt om de werklast op testsystemen opnieuw af te spelen.
Door dit uit te voeren, kunnen we met succes de implicaties van de werklast testen voordat we wijzigingen doorvoeren die de productie nadelig kunnen beïnvloeden.
De workflow is als volgt:
Stap 1) Werklast vastleggen
We registreren alle verzoeken van klanten in bestanden die 'Capture-bestanden' worden genoemd op het bestandssysteem (opslag). Deze bestanden bevatten alle essentiële informatie met betrekking tot de verzoeken van de klant, zoals SQL, bindingen, procedures en transactie-informatie. Deze bestanden kunnen vervolgens naar elk systeem worden geëxporteerd voor het geval we ze op een ander systeem willen afspelen.
Stap 2)Voorverwerking van werklast
Nadat we de informatie in de “Capture-bestanden” hebben vastgelegd, moeten we ze voorverwerken. In deze stap maken we metadata die een beschrijving geven van alle gegevens die nodig zijn om de werklast opnieuw af te spelen.
Aangezien deze stap een enorme hoeveelheid systeembronnen gebruikt, wordt aangeraden om op een ander systeem uit te voeren dan de productie waar de belasting opnieuw kan worden afgespeeld. Als u geen ander systeem heeft om te testen en u ze in productie wilt laten draaien, zorg er dan voor dat u ze tijdens daluren laat draaien, zodat de gebruikers en processen die in productie worden genomen er niet door worden beïnvloed.
Stap 3)Werklast opnieuw afspelen
Nu kunnen we ze opnieuw afspelen op het testsysteem. Op dit moment spelen we alle transacties, context, procedures en SQL opnieuw af die in eerste instantie zijn vastgelegd tijdens de vastlegfase, waarbij we gegevens verzamelen terwijl elk proces deze overgang ondergaat.
Stap 4)Rapporten genereren
Net als bij de Performance Analyzer kunt u ook rapporten genereren en bekijken om elk van de tests die u hebt uitgevoerd te vergelijken.
Tot slot bieden we een paar snelle tips tijdens het testen van Database Replay:
- Gebruik een identiek testsysteem als en wanneer mogelijk
- Test één wijziging tegelijk om de impact ervan te begrijpen
- Zorg ervoor dat u begint met de standaard opties voor opnieuw afspelen en breng vervolgens indien nodig wijzigingen aan op basis van uw vereisten.
- Zorg ervoor dat u alle testaspecten begrijpt voordat u de tweede herhaling uitvoert
- Zorg ervoor dat u uw testresultaten opslaat en alle vereiste wijzigingen / testacties documenteert
- Zorg ervoor dat er geen andere werklast of gebruikers het systeem gebruiken tijdens de testruns
Gevolgtrekking:
Met verschillende aspecten en verschillende methoden van Oracle Database en Application Testing, moet u altijd zo vaak en zo grondig mogelijk testen; de applicatie en de gebruikersomgeving begrijpen voordat u wijzigingen doorvoert of nieuwe parameters in Productie introduceert.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Verschil tussen Desktop, Client Server Testing en Web Testing
- Oracle Database testen
- Handleiding voor het testen van webapplicaties
- Applicatie testen - In de basis van softwaretesten!
- Installeer uw applicatie op het apparaat en begin met testen vanuit Eclipse
- Primer eBook downloaden testen
- Tutorial over destructief testen en niet-destructief testen