Innehållsförteckning:
Video: Mantrans betydelse och hur du kan använda dom 2024
Oracle 12c Database Replay-funktionen utvecklades som en lösning för att kunna göra realistisk applikationstestning. Innan databasåterställning, om du ville testa några förändringar mot prestanda eller arbetsbelastning, var du tvungen att köpa ett verktyg från tredje part eller göra stora mängder kodning för att förfalska en arbetsbörda.
I de flesta fall var ingen metod verkligen representativ för din verkliga arbetsbelastning. Att göra förändringar i en produktionsmiljö utan att testa dem kan också vara riskabelt.
Databas Replay är ett nytt verktyg i din shed för att täcka alla baser.
I grunden möjliggör databasuppspelning att du kan spela in din arbetsbelastning i realtid och sedan spela upp den igen. Dessutom kan du spela den mot
-
En annan databas
-
En annan version av Oracle
-
Ett annat OS
Database Replay fångar arbetsbelastningen under SQL-nivån. Arbetsbelastningen lagras i binära filer. Du kan sedan överföra dessa filer till en testmiljö, kör arbetsbelastningen, analysera problem, åtgärda problem och testa igen. Samma arbetsbelastning kan repeteras. I kombination med ett verktyg som Flashback Database kan du upprepade gånger testa förändringar i snabb följd. Det bidrar till att minska risken för att något bryts när miljön ändras.
Databas Replay tillhandahåller en mekanism som hjälper till med följande situationer:
-
Testning
-
Konfigurationsändringar
-
Uppgraderingar
-
Nedgraderingar
-
Programändringar
-
Felsökning > Förändringar i lagrings-, nätverks- och samtalsförbindelser
-
Plattformsändringar
-
OS ändras
-
Konvertering till Real Application Clusters (RAC)
-
Så här använder du Database Replay:
Logga in på SQL * Plus som användare med SYSDBA-privilegiet.
-
Oracle kräver en katalog för att skriva uppspelningsfilerna.
Skapa en katalog till en plats på operativsystemet med gott om utrymme:
-
Du ser detta:
Katalog skapat.
Starta en fångst:
-
I det här exemplet används namnet CAPTURE_DEMO.
Ideellt startar du om databasen innan upptagningen börjar så att du kan undvika att fånga några transaktioner i mitten. Det är självklart inte alltid ett alternativ när man arbetar med ett produktionssystem.
Du ser detta:
PL / SQL-proceduren avslutad.
Utför din arbetsbelastning.
-
Om det bara är ett normalt applikationsbeteende, låt det springa för den tid du vill ha.
När arbetsbelastningen är klar eller ditt tidsmål har gått, sluta inspelningsprocessen:
-
Du ser detta:
PL / SQL-proceduren är klar.
Enligt Oracle-dokumentationen kan det ta upp till 4 att ta en arbetsbelastning.5 procent av bearbetningskostnaderna till systemet samt 64 000 minne för varje session. Vidare, om rymden går ut i upptagningskatalogen, kommer inspelningen att sluta. Alla infångade data fram till den tiden kommer fortfarande att vara användbara.
Tanken är att du ska använda din fångst för att "återspela" arbetsbelastningen. Enligt vår erfarenhet återges arbetsbelastningen vanligen mot en annan databas, till exempel en testmiljö. Detta är emellertid inte alltid fallet.
Om din databasmiljö är en där långa underhållsfönster kan inträffa (till exempel under en helg) kan du kanske göra dig själv:
Aktivera Flashback Database
-
Skapa en återställningspunkt på fredag morgon
-
Starta en arbetsbelastning i fyra timmar från 8 a. m. till middagstid
-
Begränsa systemet och skapa en annan återställningsplats efter att arbetstagarna har gått hem på fredag kväll
-
Återställ databasen till återställningsplatsen Fredag morgon
-
Utbyta databas eller programändringar
-
Repla din arbetsbelastning för att testa ändringar
-
Blinkar tillbaka arbetsbelastningen till fredag kväll
-
Utveckling av databas eller programändringar träder i kraft när arbetarna kommer tillbaka måndag morgon
-
Så här spelar du upp arbetsbelastningen i Oracle 12c
Följ dessa steg för att spela upp arbetsbelastningen:
Skapa en katalog för återupptagningsfilerna:
-
Du ser detta:
Katalog skapat.
Detta exempel förutsätter att återspelningen äger rum på en annan databas. Om det finns samma databas, behöver du inte skapa en katalog och flytta upptagningsfilerna eftersom de redan finns på rätt plats.
Flytta filerna från upptagningskatalogen på källsystemet till katalogen på återspelningssystemet.
-
Börja återspelningsprocessen i databasen:
-
Du ser detta:
PL / SQL-proceduren avslutad.
Initiera ett uppspelningssession som heter REPLAY_DEMO:
-
Du ser detta:
PL / SQL-proceduren avslutad.
Berätta för Oracle att förbereda uppspelningsfilerna:
-
Du ser detta:
PL / SQL-proceduren avslutad.
Starta
Replay-klienter, vilka är processer som utför och hanterar arbetsbelastningen. Dessa processer startas från operativsystemets operativsystem. Följande exempel startar en replay-klient med oracle som lösenord:
-
Du ser detta:
Arbetsbelastning Replay Client: Släpp 12. 1. 0. 1. 0 - Produktion på fre aug 16 22: 24: 44 2013 Copyright (c) 1982, 2013, Oracle och / eller dess dotterbolag. Alla rättigheter förbehållna. Vänta på att uppspelningen ska börja (22: 24: 44)
Berätta för databasen att starta uppspelningen:
-
Du ser detta:
PL / SQL-proceduren avslutad.
Kontrollera statusen medan återspelningen körs:
-
I grunden frågar du DBA_WORKLOAD_REPLAYS-tabellen. Du ser detta (eller något liknande):
ID NAMN STATUS DURATION_SECS ---------- -------------------- --- -------- ------------- 10 REPLAY_DEMO I PROGRESS 369
När allt är klart, bör du städa upp återuppspelningsmetadata.
Fånga ID-info på källsystemet:
-
Du kan se något så här:
ID NAMN ---------- -------------- --------------------- 4 CAPTURE_DEMO
Ta bort infångningsinformationen:
-
Du ser detta:
PL / SQL-proceduren avslutad.
Hitta återspelnings-id på återspelningssystemet:
-
Du kan se något så här:
ID NAMN ---------- ------------- ---------------------- 10 REPLAY_DEMO
Radera återspelningsinformationen: