oracle @ gsi

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

Upload: hope-combs

Post on 04-Jan-2016

125 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ORACLE  @ GSI

ORACLEORACLE @ GSI @ GSI

Oracle @ GSIStatus Juni 2005

Michael Dahlinger, IT

14/6/2005

Page 2: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 2

ÜbersichtÜbersicht

• Oracle Datenbank– RAC 10g

• Oracle Application Server

• Management und Überwachung– Überwachung (Enterprise Manager Grid Control)– Backup

• Projekte– Gerätedatenbank– Benutzerdatenbank

Page 3: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 3

HistorieHistorie

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)

Page 4: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 4

Architektur RACArchitektur 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

Page 5: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 5

RAC 10g HardwareRAC 10g Hardware

• 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

AC

AC

AC

RAID1 RAID1

Contr. opt. Contr.

Page 6: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 6

RAC 10g HardwareRAC 10g Hardware

Page 7: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 7

RAC 10g HardwareRAC 10g Hardware

Page 8: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 8

RAC 10g HardwareRAC 10g Hardware

Page 9: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 9

RAC 10g HardwareRAC 10g Hardware

Page 10: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 10

RAC 10g HardwareRAC 10g Hardware

Page 11: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 11

RAC 10g HardwareRAC 10g Hardware

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

Page 12: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 12

RAC 10g SoftwareRAC 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.

Page 13: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 13

RAC 10g BenefitsRAC 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.

Page 14: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 14

Datenbanken @ GSIDatenbanken @ GSI

installierte Datenbanken

• unabhängige Instanzen, jeweils auf pcora5+6 siehe Tabelle

• Datenbanken für Application Server (LDAP Server Backend), RMAN Catalog (Backup Katalog),

Alias Name Größe

db-hades 25 GB

db + db-alice 6 GB

db-cbm 1.8 GB

db-test 4.5 GB

Page 15: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 15

Verbindungsaufbau@ GSIVerbindungsaufbau@ 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)

1. Kontaktiere LDAP Server und frage nach Auflösung für Alias db

2. Antwort des LDAP Servers: Connect String:

LDAP

Server

lxora4.gsi.de

(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))))

1.

2.

RAC

client

Page 16: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 16

Verbindungsaufbau@ GSIVerbindungsaufbau@ GSI

3. Kontaktiere angegebenen Service Namen gsi4p_ha.gsi.de auf Host orarac1 und orarac2 (Port 1521)

4. Listener auf orarac1 und orarac2 entscheidet, auf welche Maschine und welche Datenbankinstanz (gsi4p1 oder gsi4p2) Verbindung gelegt wird.

5. Datenbankverbindung von Client zu Instanz wird aufgebaut.

LDAP

Server

lxora4.gsi.de

(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))))

5.3.RAC

client

Page 17: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 17

FailoverFailover

6. Verbindung steht zu Instanz gsi4p2 auf orarac2. Cache Fusion garantiert gleichen "Zustand" in beiden Instanzen

7. Ausfall von gsi4p2: Übernahme der Session oder SELECT statement auf andere Instanz gsi4p1.

8. Evtl. auch Übernahme virtuelle IP

9. Client merkt keinen Verbindungsabbruch

RAC

orarac2orarac1

gsi4p2gsi4p1

orarac2

gsi4p2

client

Page 18: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 18

Application Server 10gApplication 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....

Page 19: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 19

HTTP ServerHTTP Server

• 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

Page 20: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 20

Hello World Beispiel phpHello World Beispiel php

hello.php:

<html>

<head>

<title>PHP Test</title>

</head>

<body>

<?php echo '<p>Hello World from PHP</p>'; ?>

</body>

</html>

http://oraformstest.gsi.de:8010/php-demo/hello.php

• PHP Beispiel

Page 21: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 21

Hello World Beispiel jspHello World Beispiel jsp

hello.jsp:

<html>

<H1> Test mit Javascript </H1>

nun kommt Javascript<br>

<script>

document.write("Hello World aus Javascript");

</script>

http://oraformstest.gsi.de:8010/test/hello.jsp

• Java Server Pages (javascript) Beispiel

Page 22: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 22

Hello World Beispiel PL/SQLHello World Beispiel PL/SQL

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;

http://oraformstest.gsi.de:8010/pls/d1/hello

• PL/SQL Beispiel: HTML Aufrufe direkt aus der Datenbank

• Definition Data Access Descriptor pls/d1 -> dahlinger@db-test, Prozedur HELLO

Page 23: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 23

Hello World Beispiel PL/SQLHello World Beispiel PL/SQL

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;

Browser Quelltext

• PL/SQL Beispiel: HTML Aufrufe direkt aus der Datenbank

• Definition Data Access Descriptor pls/d1 -> dahlinger@db-test, Prozedur HELLO

Page 24: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 24

DB Beispiel PL/SQLDB Beispiel PL/SQL

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;

http://oraformstest.gsi.de:8010/pls/d1/example

Page 25: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 25

Oracle ASOracle AS

Browser

AS

DB

http://<AS>/pls/<dad>/<proc>

dads.conf

CONNECT <schema>@<db>

EXEC <PROC>

SELECT....

htp.print(...). htp.TableData

HTML-Code:

<H1>,

<tr><td>... </td>

Page 26: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 26

WebDB, PORTALWebDB, PORTAL

• WebDB: Webanwendung zur Interaktion mit Datenbank. Webbasiertes Entwicklungstool. Im Produktiv Einsatz bei HADES. obsolete

• PORTAL: Nachfolger WebDB

Page 27: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 27

BI: Forms und ReportsBI: 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

Page 28: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 28

OMS Grid ControlOMS Grid Control

Web /AS basiertes Management Tool.

Jobs, Alerts,

Email Notification,

Performance,

Verwaltung

Page 29: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 29

OMS Grid ControlOMS Grid Control

Performance

Page 30: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 30

OMS Grid ControlOMS Grid Control

Verfügbarkeit

Page 31: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 31

Identity ManagementIdentity Management

• 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.

Page 32: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 32

Oracle AS mit SSOOracle AS mit SSO

Browser

AS

DB

http://<AS>/pls/<dad>/<proc>

dads.conf

mod_orasso.conf OID (LDAP)

<Location /pls/d1_sso>

require valid-user

AuthType Basic

</Location>

bind mit user credentials (Name, Passwort, dn)

Page 33: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 33

Oracle AS mit SSO BeispielOracle AS mit SSO Beispiel

http://oraformstest.gsi.de:8010/pls/d1_sso/hello

• 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!!)

Page 34: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 34

OID Internet Directory ServerOID Internet Directory Server

• 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

Page 35: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 35

OID Internet Directory ServerOID Internet Directory Server

Page 36: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 36

GSI BeispieleGSI Beispiele

• 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.

Page 37: ORACLE  @ GSI

IT-Palaver 14/6/2005 Oracle @ GSI 37

SummarySummary

• 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

• Oracle Projekt:

M.D.

Birgitt Karlson

Mahtab Dalir (Werkstudentin)

Marian Wischkony (Werkstudent)