Innholdsfortegnelse:
Video: How to create database and table in MySQL workbench 2025
Oracle 12c Database Replay-funksjonen utviklet seg som en løsning for behovet for å kunne realistisk applikasjonstesting. Før Database Replay, hvis du ønsket å teste noen form for endringer mot ytelse eller arbeidsbelastning, måtte du kjøpe et tredjepartsverktøy eller gjøre massive mengder koding for å fake en arbeidsbelastning.
I de fleste tilfeller var ingen metode virkelig representativ for din virkelige arbeidsbelastning. Også å gjøre endringer i et produksjonsmiljø uten å teste dem kan være risikabelt.
Database Replay er et nytt verktøy i skjulet ditt for å dekke alle basene.
I utgangspunktet gir Database Replay deg mulighet til å registrere arbeidsbelastningen din i sanntid og deretter spille den tilbake. Videre kan du spille den mot
-
En annen database
-
En annen versjon av Oracle
-
Et annet OS
Database Replay fanger arbeidsbelastningen under SQL-nivået. Arbeidsbelastningen er lagret i binære filer. Du kan deretter overføre disse filene til et testmiljø, kjøre arbeidsbelastningen, analysere problemer, fikse problemer og teste på nytt. Den samme arbeidsbelastningen kan gjentas. I kombinasjon med et verktøy som Flashback Database kan du gjentatte ganger teste endringer i rask rekkefølge. Det bidrar til å redusere sjansene for at noe bryter når miljøene endres.
Database Replay gir en mekanisme som hjelper deg med slike situasjoner:
-
Testing
-
Konfigurasjonsendringer
-
Oppgraderinger
-
Nedgraderinger
-
Programendringer
-
Feilsøking > Lagring, nettverk og sammenkobling endringer
-
Plattform endringer
-
OS endres
-
Konvertering til Real Application Clusters (RAC)
-
Slik bruker du Database Replay:
Logg på SQL * Plus som bruker med SYSDBA-privilegiet.
-
Oracle krever en katalog for å skrive omspillingsfilene.
Lag en katalog til et sted på operativsystemet med god plass:
-
Du ser dette:
Katalog opprettet.
Start en fangst:
-
Dette eksemplet bruker navnet CAPTURE_DEMO.
Ideelt sett starter du databasen på nytt før opptaket begynner, slik at du ikke kan fange noen transaksjoner i midten. Selvfølgelig er det ikke alltid et alternativ når man arbeider med et produksjonssystem.
Du ser dette:
PL / SQL-prosedyre fullført.
Utfør arbeidsbelastningen din.
-
Hvis det bare er vanlig applikasjonsadferd, la den løpe for hvor lang tid du vil ha.
Når arbeidsbelastningen er fullført eller tidsmål har gått, stopper du opptaksprosessen:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Ifølge Oracles dokumentasjon kan det ta opp til 4 å fange en arbeidsbelastning.5 prosent av prosessering overhead til systemet samt 64K minne overhead for hver økt. Videre, hvis rommet går tomt i opptakskatalogen, stopper opptaket. Alle de oppfangne dataene frem til det punktet vil fortsatt være nyttige.
Tanken er at du vil bruke fangsten til å "replay" arbeidsbelastningen. I vår erfaring blir arbeidsmengden vanligvis gjengitt mot en annen database, for eksempel et testmiljø. Dette er imidlertid ikke alltid tilfelle.
Hvis databasemiljøet ditt er et sted hvor det kan forekomme lange vedlikeholdsvinduer (for eksempel over en helg), kan du finne deg selv:
Aktivere Flashback Database
-
Opprette et gjenopprettingspunkt fredag morgen
-
Starte en arbeidsbelastning for fire timer fra 8 a. m. til middag
-
Begrense systemet og opprette et nytt gjenopprettingspunkt etter at medarbeiderne går hjem fredag kveld
-
Gjenoppretter databasen til gjenopprettingspunktet fredag morgen
-
Utplassering av database eller programendringer
-
Replay arbeidsbelastning for å teste endrer
-
Blinker tilbake arbeidsbelastningen til fredag kveld
-
Implementering av database eller programendringer som trer i kraft når arbeidstakerne kommer tilbake mandag morgen
-
Slik spiller du om arbeidsbelastningen i Oracle 12c
Følg disse trinnene for å spille av arbeidsbelastningen:
Lag en katalog for gjengivelsesfilene:
-
Du ser dette:
Katalog opprettet.
Dette eksemplet forutsetter at replayen finner sted på en annen database. Hvis det er i samme database, er det ikke nødvendig å lage en katalog og flytte fangstfilene fordi de allerede er på riktig sted.
Flytt filene fra opptakskatalogen på kildesystemet til katalogen på replay-systemet.
-
Start avspillingsprosessen på databasen:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Initialiser en replay-sesjon kalt REPLAY_DEMO:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Fortell Oracle å forberede replayfiler:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Start
replay klienter, som er prosesser som utfører og styrer arbeidsbelastningen. Disse prosessene lanseres fra OS-kommandolinjen. Følgende eksempel starter en replay-klient med orakel som passord:
-
Du ser dette:
Arbeidsbelastning Replay Client: Utgivelse 12. 1. 0. 1. 0 - Produksjon på Fre Aug 16 22: 24: 44 2013 Copyright (c) 1982, 2013, Oracle og / eller dets tilknyttede selskaper. Alle rettigheter reservert. Vent til replayen starter (22: 24: 44)
Fortell databasen for å starte avspillingen:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Kontroller statusen mens replayen kjører:
-
I utgangspunktet spør du om DBA_WORKLOAD_REPLAYS tabellen. Du ser dette (eller noe som det):
ID NAVN STATUS DURATION_SECS ---------- -------------------- --- -------- ------------- 10 REPLAY_DEMO I PROGRESS 369
Når alt er gjort, bør du rydde opp replay-metadata.
Capture ID info på kildesystemet:
-
Du kan se noe slikt:
ID NAVN ---------- -------------- --------------------- 4 CAPTURE_DEMO
Slett fangstinformasjonen:
-
Du ser dette:
PL / SQL-prosedyre fullført.
Finn replay id på replay systemet:
-
Du kan se noe slikt:
ID NAVN ---------- ------------- ---------------------- 10 REPLAY_DEMO
Slett gjengivelsesinformasjonen: