Indholdsfortegnelse:
Video: Grundlæggende om databaser 2025
Oracle 12c Database Replay-funktionen udviklet sig som en løsning for behovet for at kunne gøre realistisk applikationstestning. Før Database Replay, hvis du ønskede at teste nogen form for ændringer mod ydeevne eller arbejdsbyrde, var du nødt til at købe et tredjeparts værktøj eller lave massive mængder kodning for at falde en arbejdsbyrde.
I de fleste tilfælde var hver metode ikke virkelig repræsentativ for din virkelige arbejdsbyrde. Det kan også være risikabelt at foretage ændringer i et produktionsmiljø uden at teste dem.
Database Replay er et nyt værktøj i dit skur til at dække alle baser.
Databasen Replay giver i det væsentlige dig mulighed for at registrere din arbejdsbyrde i realtid og derefter afspille den igen. Desuden kan du afspille den mod
-
En anden database
-
En anden version af Oracle
-
Et andet OS
Database Replay fanger arbejdsbyrden under SQL-niveauet. Arbejdsbyrden lagres i binære filer. Du kan derefter overføre disse filer til et testmiljø, køre arbejdsbyrden, analysere problemer, løse problemer og teste igen. Den samme arbejdsbyrde kan gentages. I forbindelse med et værktøj som Flashback Database kan du gentagne gange afprøve ændringer i hurtig rækkefølge. Det hjælper med at reducere chancerne for at noget går i stykker, når miljøerne ændres.
Database Replay giver en mekanisme til at hjælpe med disse situationer:
-
Testing
-
Konfigurationsændringer
-
Opgraderinger
-
Nedgraderinger
-
Programændringer
-
Fejlfinding > Opdateringer til opbevaring, netværk og sammenkobling
-
Platformændringer
-
OSændringer
-
Konvertering til Real Application Clusters (RAC)
-
Sådan bruger du Database Replay:
Log ind på SQL * Plus som bruger med SYSDBA privilegiet.
-
Oracle kræver en mappe, hvor du kan skrive genafspilningsfilerne.
Opret en mappe til et sted på operativsystemet med masser af plads:
-
Du ser dette:
Katalog oprettet.
Start en optagelse:
-
Dette eksempel bruger navnet CAPTURE_DEMO.
Ideelt set genstarter du databasen, inden optagelsen begynder, så du kan undgå at fange mellemliggende transaktioner. Det er selvfølgelig ikke altid en mulighed, når man beskæftiger sig med et produktionssystem.
Du ser dette:
PL / SQL-procedure, der er fuldført.
Udfør din arbejdsbyrde.
-
Lad det løbe for den tid, du vil have, hvis det bare er normal applikationsadfærd.
Når arbejdsbyrden er færdig, eller dit tidsmål er gået, skal du stoppe optagelsesprocessen:
-
Du ser dette:
PL / SQL-procedure, der er gennemført korrekt.
Ifølge Oracles dokumentation kan optagelse af en arbejdsbyrde tilføje op til 4.5 procent af forarbejdning overhead til systemet samt 64K af hukommelsesoverhead for hver session. Endvidere stopper optagelsen, hvis rummet går tom i opsamlingsmappen. Alle de indsamlede data indtil det tidspunkt vil stadig være nyttige.
Ideen er, at du vil bruge din optagelse til at "afspille" arbejdsbyrden. I vores erfaring afspilles arbejdsbyrden normalt mod en anden database, såsom et testmiljø. Dette er dog ikke altid tilfældet.
Hvis dit databasemiljø er et sted, hvor der kan opstå lange vedligeholdelsesvinduer (f.eks. Over en weekend), kan du finde dig selv at gøre disse ting:
Aktivering af Flashback Database
-
Oprettelse af et gendannelsespunkt fredag morgen
-
Start en arbejdsbelastning i fire timer fra 8 a. m. til middag
-
Restriktion af systemet og oprettelse af et andet gendannelsespunkt, efter at medarbejderne er gået hjem fredag aften
-
Gendannelse af databasen til gendannelsespunktet Fredag morgen
-
Implementering af database eller programændringer
-
Gentag din arbejdsbyrde for at teste ændringer
-
Blinker tilbage arbejdsbyrden til fredag aften
-
Implementering af database eller programændringer træder i kraft, når arbejderne kommer tilbage mandag morgen
-
Sådan afspilles arbejdsbyrden i Oracle 12c
Følg disse trin for at afspille arbejdsbyrden:
Opret en mappe til genoptagelsesfilerne:
-
Du ser dette:
Katalog oprettet.
Dette eksempel forudsætter, at afspilningen finder sted på en anden database. Hvis det er på samme database, er der ikke behov for at oprette en mappe og flytte optagelsesfilerne, fordi de allerede er på den rigtige placering.
Flyt filerne fra capture-mappen på kildesystemet til biblioteket på afspilningssystemet.
-
Start afspilningsprocessen på databasen:
-
Du ser dette:
PL / SQL-procedure, der er gennemført korrekt.
Initialiser en afspilningssession kaldet REPLAY_DEMO:
-
Du ser dette:
PL / SQL-procedure, der er gennemført korrekt.
Fortæl Oracle at forberede afspilningsfilerne:
-
Du ser dette:
PL / SQL-procedure, der er gennemført korrekt.
Start
gentag klienter, som er processer, der udfører og styrer arbejdsbyrden. Disse processer lanceres fra OS-kommandolinjen. Følgende eksempel starter en replay-klient med orakel som adgangskode:
-
Du ser dette:
Arbejdsbaseret Replay-klient: Udgivelse 12. 1. 0. 1. 0 - Produktion på fre Aug 16 22: 24: 44 2013 Copyright (c) 1982, 2013, Oracle og / eller dets datterselskaber. Alle rettigheder forbeholdes. Vent til afspilningen starter (22: 24: 44)
Fortæl databasen for at starte afspilningen:
-
Du ser dette:
PL / SQL-procedure, der er afsluttet.
Tjek statusen, mens afspilningen kører:
-
I grundlæggende spørger du DBA_WORKLOAD_REPLAYS tabellen. Du ser dette (eller noget lignende):
ID NAME STATUS DURATION_SECS ---------- -------------------- --- -------- ------------- 10 REPLAY_DEMO I PROGRESS 369
Når alt er færdigt, skal du rydde op med afspillingsmetadata.
Capture ID info på kildesystemet:
-
Du kan muligvis se noget som dette:
ID NAVN ---------- -------------- --------------------- 4 CAPTURE_DEMO
Slet fangstoplysningerne:
-
Du ser dette:
PL / SQL-procedure, der er gennemført korrekt.
Find afspilnings-id på afspilningssystemet:
-
Du kan muligvis se noget som dette:
ID NAVN ---------- ------------- ---------------------- 10 REPLAY_DEMO
Slet afspilningsinformationen: