1 / 37

ORACLE @ GSI

ORACLE @ GSI. Oracle @ GSI Status Juni 2005 Michael Dahlinger, IT 14/6/2005. Oracle Datenbank RAC 10g Oracle Application Server Management und Überwachung Überwachung (Enterprise Manager Grid Control) Backup Projekte Gerätedatenbank Benutzerdatenbank. Übersicht.

hope-combs
Download Presentation

ORACLE @ GSI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ORACLE @ GSI Oracle @ GSI Status Juni 2005 Michael Dahlinger, IT 14/6/2005

  2. Oracle Datenbank RAC 10g Oracle Application Server Management und Überwachung Überwachung (Enterprise Manager Grid Control) Backup Projekte Gerätedatenbank Benutzerdatenbank Übersicht Oracle @ GSI

  3. Oracle Datenbank in GSI Oracle 7 und Oracle 8 auf AIX und DEC Unix (single node) (<2000) Oracle 9 auf Windows 2000 (single node) (2000-2004) Oracle 10 auf Linux-Cluster (RAC: Real Application Cluster) (2-node) (ab Anfang 2005) Hohe Verfügbarkeit durch Auswahl geeigneter Hardware und Oracle HA Technologien (RAC) Historie Oracle @ GSI

  4. Architektur RAC • Überwindung des "single-point-of-failure" Datenbankserver: • Clustered database: • Mehrere "Instanzen" (Prozesse und Memory Strukturen) • gemeinsamer physikalischer Datenspeicher (datafiles) • "shared everything" Architektur • Load balancing • Failover Oracle @ GSI

  5. RAID1 Contr. opt. Contr. RAC 10g Hardware AC AC AC • HA durch Hardware: • Serversysteme, jedes mit redundanten Netzteilen, Lüftern etc. • Systemplatten als RAID 1 (gespiegelt) SCSI • shared storage: Plattensystem als RAID 5 (FC). Zugriff von jedem Knoten via FC und FC-Switch. Redundanz Industriestandard. Bei GSI: RAID 5 (gute Plattenausnutzung), 1 ext. FC Controller, 2. Controller optional. • 2 redundante Serversysteme RAID1 Oracle @ GSI

  6. RAC 10g Hardware Oracle @ GSI

  7. RAC 10g Hardware Oracle @ GSI

  8. RAC 10g Hardware Oracle @ GSI

  9. RAC 10g Hardware Oracle @ GSI

  10. RAC 10g Hardware Oracle @ GSI

  11. Aktueller Status: 2 Server 4HE (CPI, Basis Supermicro) pcora5 + pcora6 2* 2.8 GHz Xeon 4 GB RAM 2* 73 GB SCSI System Disk, RAID1 2* GBIT NIC on board 1* Fibre Channel 2GB single Port (Qlogic) Storage Subsystem Adaptec ProFibre RAID 1450 14 slots, bestückt mit 8* 73 GB FC Disks (1* Hot Spare, 7* RAID5), Nutzkapazität ca. 400 GB, erweiterbar bis max. 2 TB USV RAC 10g Hardware Oracle @ GSI

  12. RAC 10g Software • HA durch Oracle Software (RAC): • aktiv-aktiv Cluster (failover + load balancing) • skalierbar (bei uns n=2 Knoten) • Konzept RAC mit Linux: • unabhängige Datenbankserver (jeder Server als stand - alone System konzipiert, keine systemseitige Clustersoftware. • Oracle Clusterware: Teil von Oracle 10g RAC. Monitor und Management RAC Datenbanken. Start und Stopp Instanzen. • shared everything: Alle Server teilen Speicher, haben dasselbe Abbild der Datenbank-Prozesse: Cache Fusion, Austausch via schnellen Interconnect (UDP über GBit privates Netzwerk) • Filesystem: Dateisystem muss mehrfach schreibende Zugriffe verwalten können. Lösung: ASM (Oracle automatic storage management) oder ocfs (Oracle Cluster file system). ocfs auf RAID-5 im Einsatz. • Virtuelle IP Adresse: Jeder Server hat eine zusätzliche virtuelle IP Adresse (orarac1 und orarac2), die im Fehlerfall auf andere Maschine übertragen wird und sofort einsetzbar ist. So wird Wartezeit für network timeouts vermindert. Oracle @ GSI

  13. RAC 10g Benefits • High Availability • Hohe Verfügbarkeit durch Redundanz • Skalierbarkeit • Leistungssteigerung durch Hinzufügen von Knoten möglich. • Kontinuierlicher Betrieb • Im Fehlerfalle: Übernahme der laufenden Anwendung auf anderen Knoten (innerhalb laufendem SQL Statement !) • Runterfahren oder Neustart von Datenbank (Veränderung Initialisierungsparameter, Wartungsarbeiten, Patch-Einspielung) kann weitgehend auf einer Instanz erfolgen, andere Instanz arbeitet normal. Oracle @ GSI

  14. Datenbanken @ GSI • installierte Datenbanken • unabhängige Instanzen, jeweils auf pcora5+6 siehe Tabelle • Datenbanken für Application Server (LDAP Server Backend), RMAN Catalog (Backup Katalog), Oracle @ GSI

  15. RAC Verbindungsaufbau@ GSI • Wie findet der Client die Datenbank? • Client Anwendung muss Verbindung zu Datenbank aufbauen. SQL Befehl • CONNECT <username>@<datenbankalias> • z.B. CONNECT scott@db • Keine lokale Config-Datei auf Client!!! (tnsnames.ora) • Kontaktiere LDAP Server und frage nach Auflösung für Alias db • Antwort des LDAP Servers: Connect String: LDAP Server lxora4.gsi.de 1. client 2. (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=PROTOCOL=TCP)(HOST=orarac1.gsi.de)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=orarac2.gsi.de)(PORT=1521)) (LOAD_BALANCE=yes)(FAILOVER=yes))(CONNECT_DATA=(SERVICE_NAME=gsi4p_ha.gsi.de)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=20)))) Oracle @ GSI

  16. RAC Verbindungsaufbau@ GSI • Kontaktiere angegebenen Service Namen gsi4p_ha.gsi.de auf Host orarac1 und orarac2 (Port 1521) • Listener auf orarac1 und orarac2 entscheidet, auf welche Maschine und welche Datenbankinstanz (gsi4p1 oder gsi4p2) Verbindung gelegt wird. • Datenbankverbindung von Client zu Instanz wird aufgebaut. LDAP Server lxora4.gsi.de client 5. 3. (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=PROTOCOL=TCP)(HOST=orarac1.gsi.de)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=orarac2.gsi.de)(PORT=1521)) (LOAD_BALANCE=yes)(FAILOVER=yes))(CONNECT_DATA=(SERVICE_NAME=gsi4p_ha.gsi.de)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=20)))) Oracle @ GSI

  17. Failover • Verbindung steht zu Instanz gsi4p2 auf orarac2. Cache Fusion garantiert gleichen "Zustand" in beiden Instanzen • Ausfall von gsi4p2: Übernahme der Session oder SELECT statement auf andere Instanz gsi4p1. • Evtl. auch Übernahme virtuelle IP • Client merkt keinen Verbindungsabbruch client RAC gsi4p1 gsi4p2 gsi4p2 orarac2 orarac1 orarac2 Oracle @ GSI

  18. Application Server 10g • Middleware: • HTTP Server • WebDB, PORTAL • BI: Forms + Reports • LDAP Server • Oracle Naming • Identity Management • Single Sign On • Management • OMS Grid Control • Appl.Development • HTP from PL/SQL • JDeveloper • Portal • HTML DB.... Oracle @ GSI

  19. Apache Server Oracle Web Cache (dynamische Seiten werden auch gecacht) Konfigurierter Port: 8010 z.Z. unterstützte Sprachen: Java, javascript (Java Server pages jsp), php (4.3), PL/SQL, cgi WebDB, Portal: Webbasierte Entwicklungsumgebungen für Portal-Anwendungen HTTP Server Oracle @ GSI

  20. hello.php: <html> <head> <title>PHP Test</title> </head> <body> <?php echo '<p>Hello World from PHP</p>'; ?> </body> </html> Hello World Beispiel php • PHP Beispiel http://oraformstest.gsi.de:8010/php-demo/hello.php Oracle @ GSI

  21. hello.jsp: <html> <H1> Test mit Javascript </H1> nun kommt Javascript<br> <script> document.write("Hello World aus Javascript"); </script> Hello World Beispiel jsp • Java Server Pages (javascript) Beispiel http://oraformstest.gsi.de:8010/test/hello.jsp Oracle @ GSI

  22. HELLO: CREATE OR REPLACE PROCEDURE DAHLINGER.HELLO is begin htp.htmlOpen; htp.headOpen; htp.title('Hallo Welt von PL/SQL'); htp.headClose; htp.bodyOpen(null, 'text="#000000" bgcolor="#FFFF0F"'); htp.bold('Hello World von PL/SQL'); htp.br; htp.print('system date....... htp.bodyclose; htp.htmlClose; end HELLO; Hello World Beispiel PL/SQL • PL/SQL Beispiel: HTML Aufrufe direkt aus der Datenbank • Definition Data Access Descriptor pls/d1 -> dahlinger@db-test, Prozedur HELLO http://oraformstest.gsi.de:8010/pls/d1/hello Oracle @ GSI

  23. HELLO: CREATE OR REPLACE PROCEDURE DAHLINGER.HELLO is begin htp.htmlOpen; htp.headOpen; htp.title('Hallo Welt von PL/SQL'); htp.headClose; htp.bodyOpen(null, 'text="#000000" bgcolor="#FFFF0F"'); htp.bold('Hello World von PL/SQL'); htp.br; htp.print('system date....... htp.bodyclose; htp.htmlClose; end HELLO; Hello World Beispiel PL/SQL • PL/SQL Beispiel: HTML Aufrufe direkt aus der Datenbank • Definition Data Access Descriptor pls/d1 -> dahlinger@db-test, Prozedur HELLO Browser Quelltext Oracle @ GSI

  24. EXAMPLE: CREATE OR REPLACE PROCEDURE example AS CURSOR emp_cur IS SELECT ename, job, sal FROM scott.emp; BEGIN .... htp.header( 1, 'Employee Names'); htp.tableOpen; FOR emp_rec IN emp_cur LOOP htp.tableRowOpen; htp.tableData( emp_rec.ename ); htp.tableData( emp_rec.job ); htp.tableData( emp_rec.sal ); htp.tableRowClose; END LOOP; htp.tableClose; htp.bodyClose; htp.htmlClose; END; DB Beispiel PL/SQL http://oraformstest.gsi.de:8010/pls/d1/example Oracle @ GSI

  25. Oracle AS http://<AS>/pls/<dad>/<proc> Browser http AS CONNECT <schema>@<db> EXEC <PROC> HTML-Code: <H1>, <tr><td>... </td> dads.conf sql-net DB SELECT.... htp.print(...). htp.TableData Oracle @ GSI

  26. WebDB, PORTAL • WebDB: Webanwendung zur Interaktion mit Datenbank. Webbasiertes Entwicklungstool. Im Produktiv Einsatz bei HADES. obsolete • PORTAL: Nachfolger WebDB Oracle @ GSI

  27. BI: Forms und Reports • Oracle Forms + Oracle Reports • Forms: Java Applett im Browser, kommuniziert mit servlett im AS • Reports: generiert Reports in untersch. Formaten (z.B. auch pdf) im AS • im Einsatz für Gerätedatenbank und Elektronik-Teile Datenbank Oracle @ GSI

  28. OMS Grid Control • Web /AS basiertes Management Tool. • Jobs, Alerts, • Email Notification, • Performance, • Verwaltung Oracle @ GSI

  29. OMS Grid Control • Performance Oracle @ GSI

  30. OMS Grid Control • Verfügbarkeit Oracle @ GSI

  31. Teil von Oracle AS ist LDAP Server (Oracle Internet Directory Server). Zur Authentifizierung von Benutzern von Anwendungen nötig. Dabei können verschiedene Anwendungen gemeinsame Authentifizierung (Single Sign On) verwenden. Kann für Webanwendungen und andere Anwendungen (z.B. login an Betriebssystemen) benutzt werden. Identity Management Oracle @ GSI

  32. Oracle AS mit SSO http://<AS>/pls/<dad>/<proc> Browser http AS bind mit user credentials (Name, Passwort, dn) dads.conf LDAP sql-net OID (LDAP) mod_orasso.conf DB <Location /pls/d1_sso> require valid-user AuthType Basic </Location> Oracle @ GSI

  33. Oracle AS mit SSO Beispiel • Definition Data Access Descriptor pls/d1_sso -> dahlinger@db-test • mod_osso: pls/d1_sso require valid user (Gültiger Identity Management user, nicht Datenbankuser!!) http://oraformstest.gsi.de:8010/pls/d1_sso/hello Oracle @ GSI

  34. LDAP Server Bestandteil von Oracle AS eigene Oracle Datenbank als backend (nur intern) Schnittstelle LDAP (via OS ldapadd, ldapmodify etc, und von PL/SQL via DBMS_LDAP Package Prozeduren) eigenes Webinterface zur LDAP-Benutzerverwaltung Rollenkonzept zur Rechtevergabe OID Internet Directory Server Oracle @ GSI

  35. OID Internet Directory Server Oracle @ GSI

  36. Web-Interface zur Gerätedatenbank http://oraformstest.gsi.de:8010/pls/gsi_sso Funktionales Konzept zur Benutzerdatenbank: Webbasiertes Interface mit Anmeldung an OID. PL/SQL. Je nach Rolle (user, operator, Admin) unterschiedliche Administrationsrechte Jeder GSI Mitarbeiter + User erhalten einen OID account Username: Emailname ohne @gsi.de, oder analoges. Damit ist dann auch Projekt-Zeitaufschreibung möglich in Web-basierter Anwendung Damit auch Zugriff auf Verwaltung OS accounts Posix account Info werden via DBMS_LDAP in eigene (n>1) Linux-LDAP Server geschrieben. Windows Account Info könnte in AD geschrieben werden, oder Skript. GSI Beispiele Oracle @ GSI

  37. Oracle 10g RAC: Cluster aus 2 Datenbankservern Oracle 10g AS: Application Server mit vielfältigen Webbasierten Anwendungen. LDAP Server (Oracle Internet Directory Server) Inkl. Identity Management Summary • Oracle Projekt: • M.D. • Birgitt Karlson • Mahtab Dalir (Werkstudentin) • Marian Wischkony (Werkstudent) Oracle @ GSI

More Related