Oracle9i RAC og Tran sparen t Application Failover (TAF) Ingem ar Jansson Haverstad ingem ar@oraklet.no



Like dokumenter
RAC i 9i og Grid i 10g. Hva er forskjellen og hvem trenger det?

Oracle10g og Oracle9i Grid og RAC, hva er forskjellen?

Tilkobling og Triggere

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

Forord. Brukerveiledning

Beskrivelse for hvordan en kan digitalisere og importere musikk inn i Variations på TEST server EINER.UIB.NO (for installasjonen 17.

Når blir et sikkert system for sikkert?

Installasjonen krever en Windows 2003 server innmeldt i domene.

SQL Server guide til e-lector

Installasjonen krever en Windows 2008 server innmeldt i domene.

Databaser kort intro. Tom Heine Nätt

Tilpasning av Windows 2000 server til Skolelinux tynnklienttjener

TwidoSuite kommunikasjon

ORDBMS og OODBMS i praksis

Implementering av caching ved hjelp av Spring. Christian Vestøl

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent?

Om Samba/fildeling. Hans Nordhaug Institutt for informatikk Høgskolen i Molde

Paul Hinsch. MICADO AS Utviklet MapBasic applikasjoner i 10 år. Registreringsknapper og Objektdialog

Manual for å oppgrade TS 1000 fra:

Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy

Lotus Traveler - Manual for installasjon

Den er nettbasert, og man trenger derfor ikke installere et eget program for å bruke den.

DM6814/DM5814 User s Manual

Applikasjonsutvikling med databaser

Installasjonsveiledning

Hva er Derby og Java DB? Denne forelesningen. Java Database Connectivity (JDBC) Hva er Derby og Java DB?

SQL: Systemaspekter. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Java Database Connectivity (JDBC) Norvald H. Ryeng

Start Here USB *CC * *CC * USB USB

Sikkerhet og tilgangskontroll i RDBMS-er

Real Application Cluster 11g No news, good news?

Case 9:12-cv DMM Document 4-5 Entered on FLSD Docket 12/06/2012 Page 1 of 62

Videregående programmering 6

Monitoring water sources.

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

Installasjonsveiledning, CGM Vision Installasjonskrav. 1 Innhold. 1 Formål. 2.1 Windows. 2.2 Oracle. 2.3 CGM Vision. Oppgradering v4.7 til v4.

BRUKERVEILEDNING. Oppsett av Activesync klient for Windows Smartphone og Pocket PC mot Exchange Customer Service Center

Guide for bruk av virtuelle møterom

Install av VPN klient

Feilmelding Årsak Løsning

Innhold. For br u ker k jøps lo vens omr åde. Prin sip pet om yt el se mot yt el se sam ti dig hets prin sip pet. Selgers plikter.

CSR Harvesting Final Meeting September, 2015 Brest, France. Anne Che-Bohnenstengel & Matthias Pramme, BSH

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

MØTEPROTOKOLL. Internasjonalt Utvalg. Dato: kl. 9:00 Sted: Skype Arkivsak: 15/01544

Skriv ordbøker og litteratur på Tegnspråk med en nett-tjener i lommeformat! For ivrige Tegnskrift (SignWriting )- brukere!

Syntax/semantics - I INF 3110/ /29/2005 1

Installasjonsveiledning

SuperOffice hurtigstart guide

6105 Windows Server og datanett

Programvareutvikling hos Sun Microsystems. Jørgen Austvik Sun Microsystems Database Technology Group

Socket og ServerSocket

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

GSM sender. Oppkobling

Gruppe KTN2 innlevering. Endringer gjort siden KTN1:

Hvordan bruke tidtaker utstyret til Inndal IL

Flytte System 4 fra SQL 2000 til SQL 2005 / 2008

Å lage Noark 4 uttrekk selv. Thomas Sødring thomas.sodring@jbi.hio.no /

Information search for the research protocol in IIC/IID

Elektronisk innlevering/electronic solution for submission:

Katastrofeløsninger Hva er sikkert nok og hva skal jeg velge? Steinar Aalvik, Atea

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

(MVC - Model, View, Control)

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Denne artikkelen er produsert for. Amatør Radio. "Bullen" og står trykt i sin helhet i utgave

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

JDBC. Java Data Base Connec.vity

Bruke SQL fra Python. Med Psycopg2

Dagens tema: Sjekking

Oppgave 1 (Opprett en database og en tabell)

Forbruk & Finansiering

INF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken

Trådløsnett med Windows Vista. Wireless network with Windows Vista

UI-View Installasjon og konfigurasjon for IGate + RX<->TX av meldinger og ingen ting annet!

Norsk Internett Brukermanual. Sist oppdatert Side 1/37

From a table based Feature Catalogue to GML Application schemas

Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen

Kan en sikker løsning bli en for sikker løsning?

CORBA Component Model (CCM)

Programmering, oppsett og installasjonsløsninger av LIP-8000 serien IP apparater

Introduksjon til Eclipse

Scan Secure GTS PAS

Vanlige spørsmål om EndNote (april 2013)

PowerOffice Server Service

Oving 2. Oppgave 1. #include <stdio.h> int main(int argc, char **argv) { char *navn = argv[1]; printf ("Navnet ditt er %s\n", navn); } Oppgave 2

6105 Windows Server og datanett

Datamodellering og databaser SQL, del 2

Installasjon InfoMediaPlayer:

EndNote online. Den er nettbasert, og man trenger derfor ikke installere et eget program for å bruke den.

6105 Windows Server og datanett

License Management Morten A. Steien EDB Business Partner Industri

Brukerhåndbok. Programområde

TERA System Quick Start Guide (Norsk)

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Datamodellering og databaser SQL, del 2

VELKOMMEN INN I DITT NYE TV-UNIVERS. Foto: Jens Haugen / ANTI

Redigere elektronisk enkelttittel (portfolio)

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker

Transkript:

Oracle9i RAC og Tran sparen t Application Failover (TAF) Ingem ar Jansson Haverstad ingem ar@oraklet.no Version 1.0 20.05.2003

Min e tjen ester Rådgivn in g og tilretteleggin g m ed fokus på Oracle9i: Avansert replikering Distribuerte databaser Datavaruhus Skalerin g / Parallelliserin g Real Ap p lication Cluster

Agen da Tran sparen t Application Failover Oppsett Bruk av Tran sparen t Application Failover Dem o

Tran sparen t Application Failover 4 Tran sparen t Application Failover: A runtim e failover for h igh availability en vironm ents, su ch as Real Ap plication Clusters. TAF refers to the failover and reestablishm en t of ap plication -to-service con nections. It en ables clien t applications to au tom atically recon nect to th e database if th e con nection fails, an d optionally resum e a SELECT statem ent that was in progress. Th is recon nect happens au tom atically from with in th e Oracle Call In terface (OCI) library. Tran sparen t - Adj. gjen n om siktig Tran slucen t - Adj. gjen n om skin n elig Failover Arbeide videre, uten avbrudd... Autom atisk oppkobling

5 Vesen tlige faktorer... Klien t / Server database oppkoblin ger. Brukeren s sessjon er hvor kom m an doer utføres. Åpn e cu rsors som brukes for å hen te data. Aktive tran saksjon er. Program variabler på server-siden.

6 Hvor kan TAF ben yttes? Plan lagte stopp Kon trollert vedlikehold Last balan serin g Klien t aktivitet un der en overtakelse

7 Plan lagte stopp Av og til er det behov for plan lagte stopp. Da er det m ulig å bruke TRANSACTIONAL ved stopp på en in stan s. SHUTDOWN TRANSACTIONAL Stopp blir forsin ket til alle aktive tran saksjon er er avsluttet. SHUTDOWN TRANSACTIONAL LOCAL Forhin drer n ye tran saksjon er på den n e in stan sen. Utfør en direkte stopp etter at alle aktive tran saksjon er er avslu ttet.

8 Lastbalan serin g Last balan serin g er m ulig i både shared og dedikert m odus. Lastbalan serin g for Shared Server: 1) Minst belastet node 2) Minst belastet instans 3) Min st belastet dispatcher for den in stan sen Lastbalan serin g for Dedikert Server: 1) Minst belastet node 2) Minst belastet instans Kan justere for lastbalan serin g m ellom an tallet n oder også. Listen er filer oppdateres autom atisk. 2 n oder -> 3 n oder -> 4 n oder -> 3 n oder

9 Avbrudd ved spørrin g Klienten skjerm es m est m ulig ved avbrudd. Hvis data er tilgjen gelig i buffer cachen på den andre n oden er nedetiden kort. Ved en krasj gjenoppretter de overlevende noden e inform asjonen från den n oden som krasjer. Dette kan m edføre en len gre pause. Kan benytte PRECONNECT for å ha en tilgjengelig forbindelse på den overtagende noden. Gir kortere responstid m en bruker ressurser i forkan t.

10 Avbrudd ved DML DML eller Data Man ipu lation Lan gu age klien ter utfører INSERT, UPDATE og DELETE. Oracle hån dterer en kelte feil og kobler opp klien ten igjen. Klien ten vil oppleve en (kort) hen g fordi de gjen væ ren de n oden e gjen oppretter bekreftede tran saksjon er. Skriver kode i applikasjon en som fortsetter m ed arbeidet på en hen siktsm essig m åte.

11 Restriksjon er PL/SQL pakke statuser m istes ved en overtakelse. ALTER SESSION setn in ger m istes. Aktive tran saksjon er m å rulles tilbake og utføres på n ytt: OCI: OCITran srollback -> suksess -> gjen ta TYPE=SELECT i service som ben yttes, spørrin g fortsetter på overleven de in stan se. Fortsatt arbeide på en cu rsor kan resultere i en feilm eldin g.

12 Oracle Call In terface - OCI Fordi gjen oppkoblin g skjer autom atisk in n en for OCI-biblioteker på klien ten, m å Oracle OCI biblioteker ben yttes. Ben ytt JDBC OCI i stedet for PL/SQL pakker. Kan ikke bruke tyn n JDBC hvis TAF fun ksjon alitet øn skes.

13 Java program eksem pel Eksem pel OCIFailOver.java i $ORACLE_HOM E/jdbc/dem o/sam ples/jdbcoci // TAF callback function public int callbackfn (Connection conn, Object ctxt, int type, int event) {... switch (event) { case FO_BEGIN: System.out.println(ctxt + ": "+ ftype + " failing over..."); break; case FO_END: System.out.println(ctxt + ": failover ended"); break; William Gietz null: SELECT failing over... null: failover error gotten. Sleeping... null: failover ended Steven King

14 Failover param etere Settes i tn sn am es.ora db.us.acme.com= (description= (load_balance=on) /* only connect time load balancing and */ /* connection load balancing */ (failover=on) /* only connect time failover */ (address= (protocol=tcp) (host=db1-server) (port=1521)) (address= (protocol=tcp) (host=db2-server) (port=1521)) (connect_data= (service_name=db.us.acme.com) (failover_mode= (type=select) (method=basic))))

15 FAILOVER_MODE Settes i tn sn am es.ora i CONNECT_DATA delen... (connect_data= (service_name=db.us.acme.com) (failover_mode= (type=select) (method=basic)))) FAILOVER_MODE BACKUP backup-serv er for PRECONNECT TYPE BASIC/SELECT METHOD BASIC/PRECONNECT RETRIES ant all ganger oppkoblings skal prøv es DELAY vent et id i sekunder innen nyt t forsøk

16 Sjekk oppkoblin gen... Bruk tn spin g eller se i n ett-loggen listen er.log $ tnsping TEST TNS Ping Utility for Linux: Version 9.2.0.1.0 - Production on 20-MAY-2003 13:48:14 Used parameter files: /oracle/product/ora920/network/admin/sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (FAILOVER = ON) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = tuppen) (PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST.oracle.no) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC)))) OK (10 msec)

17 Bekreftelsen Tre kolon n er i V$SESSION kan sjekkes: SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*) FROM V$SESSION GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER; MACHINE FAILOVER_TYPE FAILOVER_M FAI COUNT(*) -------------------- ------------- ---------- --- ---------- db1-server NONE NONE NO 11 db2-server SELECT PRECONNECT NO 1 Og etter den sim ulerte krasjen... MACHINE FAILOVER_TYPE FAILOVER_M FAI COUNT(*) -------------------- ------------- ---------- --- ---------- db2-server NONE NONE NO 10 db2-server SELECT PRECONNECT YES 1

Og nå DEMO!