Frank Schneede Senior Berater ORACLE Deutschland GmbH.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Datenbank-Zugriffsschnittstellen am Beispiel von Oracle und PL/SQL.
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Datenintegrität Referentielle Integrität create table
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
Oracle interMedia Image
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
Datenbanken 10: Einfügen, Ändern, Löschen
2.2 Definition eines Datenbankschemas (SQL-DDL)
Datenbankentwicklung IV-LK
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Datenintegrität Integitätsbedingungen Schlüssel
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #9 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Einführung in PHP.
Einführung in PHP 5.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Transaktionsverwaltung
Integritätsbedingungen (Constraints)
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Synchronization: Multiversion Concurrency Control
SiPass standalone.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
FTS usage at GridKa Forschungszentrum Karlsruhe GmbH
COURSE in Boppard 7. – Michael Prinz Lattwein GmbH Copyright, 2015 Lattwein GmbH Neues (und Unbekanntes) aus dem Hause Lattwein.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
© LIT Stadthagen KayCode: A digitally signed QR-code Can not be forged Blended into the product and linked to a website with information and service for.
Eine Zeitreise mit Oracle 10g: Praktisches mit Flashback DOAG Regionaltreffen/Gütersloh Petra Flach Ventara AG.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
Oracle IFS Die Brücke zwischen Content Management System und einer Produktpräsentation im Internet.
DB2 UDB im z/VSE Heinz Peter Maassen – Lattwein GmbH COURSE Tagung Bad Hersfeld 2008.
© CSP GmbH & Co. KG 2005 Einleitung HerausforderungenLösung Architektur Demonstration Langzeitarchivierung für Oracle Datenbanken Stefan Brandl, Dipl.-Inf.,
1Crypto AG / P_M_HC-2650-Course-Notes-d_0833_rd.PPT Training and Education HC-2650 Kursunterlagen.
45. COURSE-Tagung Juni 2016 im Schlosshotel Bad Wilhelmshöhe in Kassel Ferdinand Prahst – efpe Von neuen Features des DB2 bis hin zur DB2 in.
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Wechsel von Oracle Cloud Control 12c zu 13c
SQL Basics Schulung –
Netzwerk - Programmierung
Standby Database Autor:
„Unsere Kompetenz – Ihr Nutzen.“
Welcome to Variatec Academy!
Frank Schneede Senior Berater ORACLE Deutschland GmbH.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Cryo-Test LESER Test Bench
Vorlesung #7 SQL (Teil 4).
Abfragesprache SQL in ORACLE
Flashback mal sieben DOAG RegioTreff , Wiesbaden
Constraints anlegen und löschen, Data Dictionary Tabellen
Create Table, Rechte und Rollen
Die programmierte Lösung
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
 Präsentation transkript:

Frank Schneede Senior Berater ORACLE Deutschland GmbH

Multimaster-Replikation: ADD_MASTER_DATABASE (without quiesce) - Erfahrungsbericht -

Motivation Hochverfügbarkeit Rollierendes Upgrade Kundenbeispiel: 24 * 7 Betrieb von Fahrzeugwaagen 10 Master-Sites, muß online erweitert werden Wiedereingliederung nach Ausfall eines Systems

Vorbereitung tnsnames.ora vorbereiten undo_retention SQL> show parameter retention NAME TYPE VALUE ------------------------------------ ----------- --------- undo_retention integer 1800

Vorbereitung transaction_rate SQL> select avg(undoblks)/6000 from v$undostat; AVG(UNDOBLKS)/6000 ------------------ ,004412281

Vorbereitung Speicherbedarf Platz muß in UNDOTBS möglich sein! undo_space = (undo_retention * transaction_rate + overhead) * block_size ergibt (hier im Test): 1800 * 1 * 8192 = 14745600 bytes = 14 MB Platz muß in UNDOTBS möglich sein!

RESUME_PROPAGATION_TO_MDEF PREPARE_INSTANTIATED_MASTER Ablauf SPECIFY_NEW_MASTERS Master bekanntmachen (List möglich!) Master hinzufügen Abarbeiten Admin-Requests Flashback-SCN ermitteln ADD_NEW_MASTERS At Master Def. site Export Export auf MDS Import Perform SCN- based recovery Propagation wieder anstoßen Import auf Slave RESUME_PROPAGATION_TO_MDEF Instantiierten Slave vorbereiten Abarbeiten Admin-Requests Resume auf neuem Slave DML und Push auf allen Systemen Kontrolle PREPARE_INSTANTIATED_MASTER At new master site

D E M O N S T R A T I O N Skript siehe Notizblattansicht! set sqlprompt MAIN-> ACCEPT ok PROMPT "Wenn bereit bitte <ENTER>" spool log\10_01_add_master.log set echo on set feedback on --_______________________________________________________________ -- DROP_MASTER_REPGROUP ON SLAVE FOR SAFETY REASONS ;-) CONNECT REPADMIN2/REPADMIN2@SNA102.DE.ORACLE.COM; PROMPT DROP_MASTER_REPGROUP FOR SAFETY REASONS ;-) BEGIN -- DROP TABLES INCLUDED!!! DBMS_REPCAT.DROP_MASTER_REPGROUP('MM_MREPGRP2',TRUE); EXCEPTION WHEN OTHERS THEN IF SQLCODE = -23313 THEN NULL; ELSE DBMS_OUTPUT.PUT_LINE(sqlerrm(sqlcode)); END IF; END; / COMMIT; -- REMOVE_MASTER_DATABASE FOR SAFETY REASONS ;-) CONNECT REPADMIN2/REPADMIN2@MAS10.DE.ORACLE.COM; PROMPT REMOVE_MASTER_DATABASES FOR SAFETY REASONS ;-) DBMS_REPCAT.REMOVE_MASTER_DATABASES( 'MM_MREPGRP2', 'SNA102.DE.ORACLE.COM' ); IF SQLCODE = -23312 THEN -- SPECIFY_NEW_MASTERS PROMPT SPECIFY_NEW_MASTERS gname => MM_MREPGRP2 / master_list => SNA102.DE.ORACLE.COM DBMS_REPCAT.SPECIFY_NEW_MASTERS ( gname =>'MM_MREPGRP2', master_list =>'SNA102.DE.ORACLE.COM' ACCEPT ok PROMPT "Wenn dba_repsites_new gezeigt bitte <ENTER>" -- Ermitteln Flashback-SCN PROMPT Ermitteln FLASHBACK_SCN SELECT FLASHBACK_SCN FROM DBA_REPEXTENSIONS; VARIABLE masterdef_flashback_scn NUMBER; VARIABLE extension_id VARCHAR2(32); -- ADD_NEW_MASTERS PROMPT ADD_NEW_MASTERS available_master_list => SNA102.DE.ORACLE.COM DBMS_REPCAT.ADD_NEW_MASTERS ( export_required => TRUE , available_master_list => 'SNA102.DE.ORACLE.COM' , masterdef_flashback_scn => :masterdef_flashback_scn , extension_id => :extension_id , break_trans_to_masterdef => false , break_trans_to_new_masters => false , percentage_for_catchup_mdef => 80 , cycle_seconds_mdef => 60 , percentage_for_catchup_new => 80 , cycle_seconds_new => 60 ); -- EXPORT TABLE-DATA FROM MASTER-INSTANCE PROMPT EXPORT DUMP SET LINESIZE 2000 SET TRIMOUT ON SET TRIMSPOOL ON SET FEEDBACK OFF SET ECHO OFF SET HEADING OFF SPOOL export.cmd SELECT 'd:\oracle\ora10g\bin\exp system/manager@MAS10.DE.ORACLE.COM FILE=REP_ORC2.dmp LOG=REP_ORC2_EXP.LOG DIRECT=n GRANTS=y ROWS=y COMPRESS=y INDEXES=y CONSTRAINTS=y tables=(rep_orc2.location, rep_orc2.job, rep_orc2.department, rep_orc2.employee, rep_orc2.customer, rep_orc2.sales_order, rep_orc2.product, rep_orc2.item, rep_orc2.price, rep_orc2.salary_grade) STATISTICS=compute FLASHBACK_SCN='||FLASHBACK_SCN FROM DBA_REPEXTENSIONS; SPOOL OFF ACCEPT ok PROMPT "Wenn export.cmd modifiziert bitte <ENTER>" host export.cmd spool log\10_02_add_master.log SET FEEDBACK ON SET ECHO ON SET HEADING ON ACCEPT ok PROMPT "Wenn export fertig bitte <ENTER>" -- RESUME_PROPAGATION_TO_MDEF PROMPT RESUME_PROPAGATION_TO_MDEF DBMS_REPCAT.RESUME_PROPAGATION_TO_MDEF ( extension_id => :extension_id); ACCEPT ok PROMPT "Wenn dba_repsites_new etc. gezeigt bitte <ENTER>" -- IMPORT TABLE-DATA INTO NEW SLAVE-INSTANCE PROMPT IMPORT DUMP (CONSTRAINTS) SPOOL import.cmd SELECT 'd:\oracle\ora10g\bin\imp system/manager@SNA102.DE.ORACLE.COM FILE=REP_ORC2.dmp LOG=REP_ORC2_IMP.LOG FROMUSER=REP_ORC2 TOUSER=REP_ORC2 BUFFER=30720 IGNORE=y GRANTS=y ROWS=y DESTROY=y COMMIT=n tables=(location, job, department, employee, customer, sales_order, product, item, price, salary_grade)' FROM DUAL; ACCEPT ok PROMPT "Wenn import.cmd modifiziert bitte <ENTER>" host import.cmd spool log\10_03_add_master.log PROMPT Bitte Trigger und Sequenzen anpassen/deaktivieren! ACCEPT ok PROMPT "Wenn import fertig bitte <ENTER>" -- PREPARE_INSTANTIATED_MASTER PROMPT PREPARE_INSTATIATED_MASTER DBMS_REPCAT.PREPARE_INSTANTIATED_MASTER ( extension_id => :extension_id); -- CHECK REPCAT$-TABLES ARE EMPTY! select extension_id, gname, dblink from dba_repsites_new; select extension_id, request from dba_repextensions; SELECT SUBSTR(status,1,30) "STATUS",SUBSTR(oname,1,30) "ONAME" FROM dba_repcatlog; SELECT SUBSTR(gname,1,30) "GNAME",SUBSTR(status,1,30) "STATUS" FROM dba_repcat; PROMPT ENDE SNAP10.PLS; spool off;

Pitfalls... dbms_repcat.add_new_masters Hanging, Admin-Requests bleiben stehen (ORA-23320, ORA-01403) Analyse (MDS): Dump file d:\orabase\admin\mas10\udump\mas10_ora_916.trc . *** 2004-08-31 15:01:53.657 wait_for_masters: waiting for repcatlog with id = 979 during add_new_masters

Pitfalls... Analyse (Slave): Dump file d:\orabase\admin\sna102\udump\sna102_j000_2172.trc . *** SESSION ID:(22.342) 2004-08-31 15:00:51.878 ensure_single_valid_adddb_req: more than one valid add master requests can not pull extension request 55B79279EB5A445B8F6DCB7A18156B2D from MAS10.DE.ORACLE.COM -23320.ORA-23320: Anfrage wegen der Werte "add master requests" und "ensure_single_valid_adddb_req" nicht erfolgreich Behebung: dbms_repcat.undo_add_new_masters_request (Metalink Note #187050.1)

Pitfalls... Data-Dictionary-Views: Export / Import: dba_repsites_new dba_repextensions def$_destination Export / Import: Dauer Fehler Ungültige Objekte, Trigger, Sequences o. ä. Konfliktsolution nicht möglich

Q & Q U E S T I O N S A N S W E R S A