Inhoudsopgave:
Video: Zeilen zonder ervaring: kan dat? - de Volkskrant 2024
De Oracle 12c Database Replay-functie is geëvolueerd als een oplossing voor de noodzaak om realistische applicatietests te kunnen doen. Voordat u met Database Replay ging werken, moest u een hulpmiddel van een derde partij kopen of enorme hoeveelheden codering uitvoeren om een workload te vervalsen, als u elke soort wijzigingen tegen de prestaties of workload wilde testen.
In de meeste gevallen was geen van beide methoden echt representatief voor uw echte werklast. Ook kan het riskant zijn om wijzigingen aan te brengen in een productieomgeving zonder ze te testen.
Opnieuw afspelen van databases is nog een hulpmiddel in je schuur om alle bases te dekken.
Met Database Replay kunt u in feite uw workload in realtime opnemen en vervolgens afspelen. Verder zou je het kunnen spelen tegen
-
Een andere database
-
Een andere versie van Oracle
-
Een ander besturingssysteem
Met Database Replay wordt de werkbelasting onder het SQL-niveau vastgelegd. De werkbelasting wordt opgeslagen in binaire bestanden. U kunt deze bestanden vervolgens overbrengen naar een testomgeving, de werkbelasting uitvoeren, problemen analyseren, problemen oplossen en opnieuw testen. Dezelfde werklast is herhaalbaar. In combinatie met een tool als Flashback-database kunt u wijzigingen snel achter elkaar testen. Het helpt de kans te verkleinen dat iets breekt wanneer omgevingen worden gewijzigd.
Database opnieuw afspelen biedt een mechanisme om te helpen met dit soort situaties:
-
Testen
-
Configuratiewijzigingen
-
Upgrades
-
Downgrades
-
Toepassingswijzigingen
-
Foutopsporing > Opslag, netwerk- en interconnect-wijzigingen
-
Platformwijzigingen
-
OS-wijzigingen
-
Conversie naar echte toepassingsclusters (RAC)
-
Zo gebruikt u Database opnieuw afspelen:
Meld u aan bij SQL * Plus als een gebruiker met het recht SYSDBA.
-
Oracle vereist een map waarin de replay-bestanden kunnen worden geschreven.
Maak een map naar een locatie op het besturingssysteem met voldoende ruimte:
-
U ziet dit:
Directory aangemaakt.
Start een capture:
-
In dit voorbeeld wordt de naam CAPTURE_DEMO gebruikt.
In het ideale geval start u de database opnieuw voordat de opname begint, zodat u geen transacties in het midden kunt vangen. Dit is natuurlijk niet altijd een optie als het om een productiesysteem gaat.
U ziet dit:
PL / SQL-procedure met succes voltooid.
Voer uw workload uit.
-
Als het alleen maar om het normale gebruik van de applicatie gaat, laat het dan draaien gedurende de tijd die u wilt.
Stop de capture-procedure wanneer de workload is voltooid of uw tijdsdoel is verstreken:
-
U ziet dit:
PL / SQL-procedure is voltooid.
Volgens Oracle-documentatie kan het opnemen van een workload maximaal 4 bedragen.5 procent van de verwerkingsoverhead naar het systeem, evenals 64K geheugenoverhead voor elke sessie. Als de ruimte in de opnamemap opraakt, stopt de opname bovendien. Alle vastgelegde gegevens tot op dat moment zijn nog steeds nuttig.
Het idee is dat u uw vastlegging gebruikt om de werklast opnieuw af te spelen. In onze ervaring wordt de werkbelasting meestal opnieuw gespeeld tegen een andere database, zoals een testomgeving. Dit is echter niet altijd het geval.
Als uw databaseomgeving een omgeving is waar zich lange onderhoudsvensters kunnen voordoen (zoals gedurende een weekend), merkt u mogelijk het volgende:
Flashback-database inschakelen
-
Een herstelpunt maken op vrijdagochtend
-
Een werkbelastinginvang starten gedurende vier uur vanaf 8 uur. m. tot het middaguur
-
Het systeem beperken en een nieuw herstelpunt maken nadat de werknemers op vrijdagavond naar huis zijn gegaan
-
De database herstellen naar het herstelpunt Vrijdagochtend
-
Database- of toepassingswijzigingen implementeren
-
Uw werklast herhalen om de database te testen wijzigingen
-
Werkbelasting terugdringen tot vrijdagavond
-
Database- of toepassingswijzigingen implementeren die van kracht worden wanneer de werknemers terugkomen Maandagochtend
-
De werkbelasting in Oracle 12c opnieuw afspelen
Volg deze stappen om de werklast opnieuw af te spelen:
Maak een map voor de herhalende capture-bestanden:
-
U ziet dit:
Directory aangemaakt.
In dit voorbeeld wordt ervan uitgegaan dat de replay plaatsvindt in een andere database. Als het zich in dezelfde database bevindt, is het niet nodig om een map te maken en de vastlegbestanden te verplaatsen omdat deze zich al op de juiste locatie bevinden.
Verplaats de bestanden van de opnamemap op het bronsysteem naar de map op het afspeelsysteem.
-
Begin het herhalingsproces in de database:
-
U ziet dit:
PL / SQL-procedure met succes voltooid.
Initialiseer een herhalingssessie genaamd REPLAY_DEMO:
-
U ziet dit:
PL / SQL-procedure met succes voltooid.
Vertel Oracle om de herhalende bestanden voor te bereiden:
-
U ziet dit:
PL / SQL-procedure met succes voltooid.
Begin met
clients opnieuw af te spelen , dit zijn processen die de werkbelasting uitvoeren en beheren. Deze processen worden gestart vanaf de opdrachtregel van het besturingssysteem. Het volgende voorbeeld start een replay-client met oracle als het wachtwoord:
-
U ziet dit:
Workload Replay Client: Release 12. 1. 0. 1. 0 - Productie op vrijdag 16 augustus 22: 24: 44 2013 Copyright (c) 1982, 2013, Oracle en / of zijn dochterondernemingen. Alle rechten voorbehouden. Wacht tot de herhaling begint (22: 24: 44)
Vertel de database om de herhaling te starten:
-
U ziet dit:
PL / SQL-procedure succesvol afgerond.
Controleer de status terwijl de herhaling wordt uitgevoerd:
-
In feite ondervraagt u de tabel DBA_WORKLOAD_REPLAYS. U ziet dit (of iets dergelijks):
ID NAAM STATUS DURATION_SECS ---------- -------------------- --- -------- ------------- 10 REPLAY_DEMO IN PROGRESS 369
Wanneer alles klaar is, moet je de metagegevens voor herhaling opruimen.
Capture ID-informatie op het bronsysteem:
-
U ziet mogelijk iets als dit:
ID NAME ---------- -------------- --------------------- 4 CAPTURE_DEMO
Verwijder de capture-informatie:
-
U ziet dit:
PL / SQL-procedure met succes voltooid.
Zoek de replay-ID op het replay-systeem:
-
U ziet mogelijk iets als:
ID NAME ---------- ------------- ---------------------- 10 REPLAY_DEMO
Verwijder de replay-informatie: