Oracle data replicatie met Shareplex
Data replicatie is iets waar DBA’s regelmatig mee te maken krijgen. Voor een Oracle omgeving is hiervoor een verscheidenheid aan tools beschikbaar van Oracle zelf. Deze blog beschrijft hoe dat ook kan worden gedaan met het Quest tool Shareplex.
Waarom willen we eigenlijk data replicatie? Natuurlijk hebben wij als Oracle DBA’s hiervoor onze antwoorden klaar:
- Disaster recovery
- High availability
- Reporting / offloading adhoc database queries
Interessante, veelgebruikte technische termen die we vaak kunnen vertalen naar business eisen als:
- Maximale Beschikbaarheid van de data
- Performance
- Management dashboards met (near) realtime data
Tools voor data replicatie
Oracle biedt ons een aantal schitterende tools om invulling te geven aan genoemde business eisen, zoals Dataguard, RAC en Goldengate. Echter voor veel klanten zijn de bijbehorende eisen, bijvoorbeeld de vereiste Oracle release (Enterprise Edition) en de kosten, een reden om hier niet voor te kiezen. Een niet-Oracle alternatief is de replicatie tool van Quest, Shareplex, en hier zal ik verder op ingaan.
Shareplex
Een alternatief voor de producten van Oracle is Shareplex. Dit is een replicatie tool die gebruik maakt van de REDOLOG principes van Oracle. De wijzingen op de database worden ge-captured vanuit de redologs en archivelogs. Vervolgens worden deze wijzigingen afgespeeld op de target database. Beide databases zijn dus open en toegankelijk. De Shareplex software wordt op de database server geïnstalleerd en er is een Oracle schema voor Shareplex per source en target database nodig. Het onderstaande diagram geeft het Shareplex replicatie proces weer:
Na de capture van de redolog wordt er met het read proces bekeken welke wijzigingen doorgestuurd moeten worden naar de target database(s). Dit gebeurt met het export proces op de source en alle relevante data wordt doorgestuurd naar het import proces op de target. Het post proces zorgt dat de wijzigingen worden uitgevoerd op de target. Shareplex biedt een fijnmazige manier voor het opzetten van de replicatie. Je kan een of meerdere schema’s repliceren, enkele tabellen en ook kiezen om bepaalde statements zoals delete/update/insert niet uit te voeren voor een replicatie stream of enkel object. Hetzelfde geldt voor DDL statements, er kan gekozen worden om deze wel of niet uit te voeren op de target database.
Shareplex, ‘a one trick pony’?
Shareplex is op vele manieren in te zetten. De meest voor de hand liggende optie is het opzetten van een reporting database. Maar het is ook heel goed mogelijk om een DR oplossing in te richten met Shareplex en zelfs een HA omgeving.
Shareplex kan verschillende replicatie stromen opzetten en ook meerdere sources of targets combineren. Shareplex werkt tussen verschillende Oracle versies en ook op Oracle Standard Edition. Daarnaast is Shareplex niet alleen voor Oracle beschikbaar. Er zijn nog vele andere ‘smaken’ die veelal te combineren zijn.
Hierdoor komen ook opties als migraties of upgrades in beeld als mogelijk gebruik voor Shareplex. Want die Oracle 11 naar Oracle 12 upgrade kan voorbereid worden en alle wijzigingen worden in de pre-prod fase doorgestuurd naar de hogere Oracle versie. Bij de go-live is de nieuwe database al gevuld, beschikbaar en volledig up to date.