DOAG 2008
RAC Optimierung im Siebel CRM Umfeld

Dipl.-Inform. Frank Beutelschiess
29.11.2008   Seite 2
                         DOAG 2008




Übersicht
•   Kapitel   1   –   Vorstellung
•   Kapitel   2   ...
29.11.2008   Seite 3
                DOAG 2008




Kapitel 1
• 2 Minuten Werbung (Vorstellung)
29.11.2008   Seite 4
                   DOAG 2008




Wer bin ich?
•   Dipl.-Informatiker aus Leidenschaft
•   17 Jahre fr...
29.11.2008   Seite 5
                     DOAG 2008




Was macht BzYxS.com?
• Schulungen & Consulting
    u.a. für die Or...
29.11.2008   Seite 6
                DOAG 2008




Warum bin ich… hier?
• Darstellung der Erfahrungen aus der
  Inbetriebn...
29.11.2008   Seite 7
                 DOAG 2008




Kapitel 2
• Siebel in 5 Minuten
29.11.2008   Seite 8
                 DOAG 2008




Hinweis
• Die folgenden Darstellungen wurden für
  einen besseren Über...
29.11.2008   Seite 9
                DOAG 2008




Siebel Client
29.11.2008             Seite 10
                            DOAG 2008




Systemarchitektur



         WebServer
  User  ...
29.11.2008             Seite 11
                            DOAG 2008




Systemarchitektur



         WebServer
  User  ...
29.11.2008                  Seite 12
                                         DOAG 2008




Systemarchitektur

         IP...
29.11.2008                 Seite 13
                                         DOAG 2008




Systemarchitektur

         IP-...
29.11.2008   Seite 14
            DOAG 2008




Systemarchitektur
29.11.2008   Seite 15
            DOAG 2008




Manuelle Prozesse
29.11.2008   Seite 16
            DOAG 2008




Manuelle Prozesse
29.11.2008   Seite 17
            DOAG 2008




Manuelle Prozesse
29.11.2008                      Seite 18
                                                       DOAG 2008




Manuelle Pro...
29.11.2008   Seite 19
             DOAG 2008




Automatisierte Prozesse
29.11.2008   Seite 20
             DOAG 2008




Automatisierte Prozesse
29.11.2008   Seite 21
             DOAG 2008




Automatisierte Prozesse
29.11.2008   Seite 22
             DOAG 2008




Automatisierte Prozesse
29.11.2008   Seite 23
             DOAG 2008




Automatisierte Prozesse
29.11.2008                      Seite 24
                                                       DOAG 2008




Automatisier...
29.11.2008   Seite 25
                 DOAG 2008




Zusammenfassung
• Jeder Benutzer- und Komponententask
  hat eine eige...
29.11.2008   Seite 26
              DOAG 2008




Kapitel 3
• Datenbankschema
29.11.2008   Seite 27
                  DOAG 2008




Grundlagen
• Anzahl der Tabellen:             4,287
• Anzahl der Spa...
29.11.2008   Seite 28
                  DOAG 2008




Namenskonventionen Tabellen
• Siebeltabellen beginnen mit S_
• Bei e...
29.11.2008      Seite 29
                     DOAG 2008




Namenskonventionen Indices
• Indexnamen sind Programm
  – P1… ...
29.11.2008   Seite 30
                 DOAG 2008




Tabellenaufbau
• ROW_ID ist immer der Primärschlüssel!
• Es gibt 7, b...
29.11.2008     Seite 31
                       DOAG 2008




Referentielle Integrität
• Fremdschlüsselspalten enden auf _I...
29.11.2008     Seite 32
                  DOAG 2008




Synchronisation
• Synchronisation von Siebeltasks über
  – Kapselu...
29.11.2008          Seite 33
                                  DOAG 2008




SQL-Struktur
•   SELECT     T8.CONFLICT_ID,T8...
29.11.2008   Seite 34
                   DOAG 2008




SQL-Struktur
• Jede Spalte im „select…“ wird einzeln
  quantifizier...
29.11.2008    Seite 35
                        DOAG 2008




Zusammenfassung
• Siebel ist aus der Sicht einer Installation...
29.11.2008   Seite 36
                DOAG 2008




Kapitel 4
• Das Problem (Herausforderung)
29.11.2008   Seite 37
                 DOAG 2008




Goldene Regel
• Tune die Anwendung zuerst, d.h.
  – Muss diese tolle ...
29.11.2008   Seite 38
                       DOAG 2008




Basics
• SGA - Ausreichend Buffer Cache?

• PGA –Sortierung?
  ...
29.11.2008   Seite 39
            DOAG 2008




Optimizer
29.11.2008   Seite 40
             DOAG 2008




Invalidierung SQL-Area
29.11.2008   Seite 41
              DOAG 2008




Outlines & Planstabilität
29.11.2008   Seite 42
             DOAG 2008




Multiple Blockgröße
29.11.2008   Seite 43
              DOAG 2008




Partitionierung
29.11.2008   Seite 44
              DOAG 2008




Indizierung
29.11.2008   Seite 45
                 DOAG 2008




Serialisierung
29.11.2008   Seite 46
            DOAG 2008




Sequenzen
29.11.2008   Seite 47
               DOAG 2008




Interconnect
29.11.2008   Seite 48
                  DOAG 2008




Zusammenfassung
• SQL-Optimierung
  – Outlines & Indexstruktur (Supp...
29.11.2008   Seite 49
                 DOAG 2008




Kapitel 5
• Die Moral von der Geschichte… (Ergebnis)
29.11.2008   Seite 50
                 DOAG 2008




Kommunikation
• Siebelentwickler und Datenbankadmini-
  stratoren müs...
29.11.2008   Seite 51
                 DOAG 2008




Test, Test, Test & Test
• In einer realistischen Umgebung
  durchführ...
29.11.2008        Seite 52
                DOAG 2008




Das Ende
     RAC ermöglicht die Realisierung
    hochperformante...
29.11.2008   Seite 53
            DOAG 2008




Kapitel 6


     Fragen
        &
    Antworten
29.11.2008   Seite 54
DOAG 2008
Nächste SlideShare
Wird geladen in …5
×

RAC Optimierung im Siebel CRM Umfeld, DOAG 2008

844 Aufrufe

Veröffentlicht am

Presentation held at DOAG 2008 conference in Nuernberg, Germany about the optimization of a hugh Siebel CRM installation with an Oracle 4 node RAC database.

Veröffentlicht in: Technologie, Business
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
844
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

RAC Optimierung im Siebel CRM Umfeld, DOAG 2008

  1. 1. DOAG 2008 RAC Optimierung im Siebel CRM Umfeld Dipl.-Inform. Frank Beutelschiess
  2. 2. 29.11.2008 Seite 2 DOAG 2008 Übersicht • Kapitel 1 – Vorstellung • Kapitel 2 – Siebel in 5 Minuten • Kapitel 3 – Datenbankschema • Kapitel 4 – Herausforderung • Kapitel 5 – Ergebnis • Kapitel 6 – Fragen und Antworten
  3. 3. 29.11.2008 Seite 3 DOAG 2008 Kapitel 1 • 2 Minuten Werbung (Vorstellung)
  4. 4. 29.11.2008 Seite 4 DOAG 2008 Wer bin ich? • Dipl.-Informatiker aus Leidenschaft • 17 Jahre freiberuflich tätig • 10 Jahre Siebelerfahrung • Seit 2 Jahren BzYxS.com
  5. 5. 29.11.2008 Seite 5 DOAG 2008 Was macht BzYxS.com? • Schulungen & Consulting u.a. für die Oracle University • Konfigurationsreviews im Siebelumfeld • Komponententuning im Siebelumfeld • Datenbanktuning im Oracleumfeld • Entwicklung spezieller Analysesoftware – eScriptAdvisor (eScript Analyse) – QueryAdvisor (Datenbankanalyse)
  6. 6. 29.11.2008 Seite 6 DOAG 2008 Warum bin ich… hier? • Darstellung der Erfahrungen aus der Inbetriebnahme einer sehr großen Siebelanwendung und anschließend notwendigen Optimierung der Datenbank. • Sehr groß = 20.000 Benutzer • Datenbank = 4er 10g RAC • Mehrere TeraByte produktiver Daten
  7. 7. 29.11.2008 Seite 7 DOAG 2008 Kapitel 2 • Siebel in 5 Minuten
  8. 8. 29.11.2008 Seite 8 DOAG 2008 Hinweis • Die folgenden Darstellungen wurden für einen besseren Überblick technisch stark vereinfacht.
  9. 9. 29.11.2008 Seite 9 DOAG 2008 Siebel Client
  10. 10. 29.11.2008 Seite 10 DOAG 2008 Systemarchitektur WebServer User SiebelServer DB SWSE AOM FSMgr. Gateway SiebelFilesystem SiebelEnterprise
  11. 11. 29.11.2008 Seite 11 DOAG 2008 Systemarchitektur WebServer User SiebelServer DB SWSE AOM User FSMgr. Gateway User SiebelFilesystem SiebelEnterprise …
  12. 12. 29.11.2008 Seite 12 DOAG 2008 Systemarchitektur IP-Based Automatic Component Balancing / Routing Round- Siebel Server Clustering Robing WebServer ? User SiebelServer DB SWSE AOM User Distributed Share FSMgr. Gateway User SiebelFilesystem SiebelEnterprise Clustering …
  13. 13. 29.11.2008 Seite 13 DOAG 2008 Systemarchitektur IP-Based Automatic Component Balancing / Routing Round- Siebel Server Clustering Robing WebServer RAC User SiebelServer DB SWSE AOM User Distributed Share FSMgr. Gateway User SiebelFilesystem SiebelEnterprise Clustering …
  14. 14. 29.11.2008 Seite 14 DOAG 2008 Systemarchitektur
  15. 15. 29.11.2008 Seite 15 DOAG 2008 Manuelle Prozesse
  16. 16. 29.11.2008 Seite 16 DOAG 2008 Manuelle Prozesse
  17. 17. 29.11.2008 Seite 17 DOAG 2008 Manuelle Prozesse
  18. 18. 29.11.2008 Seite 18 DOAG 2008 Manuelle Prozesse SWSE SWSE SWSE AOM SWE AOM SWE AOM SWE Script DBC Script DBC Script DBC DBC Workflow DBC Workflow DBC Workflow EAI EAI EAI S_CONTACT DB
  19. 19. 29.11.2008 Seite 19 DOAG 2008 Automatisierte Prozesse
  20. 20. 29.11.2008 Seite 20 DOAG 2008 Automatisierte Prozesse
  21. 21. 29.11.2008 Seite 21 DOAG 2008 Automatisierte Prozesse
  22. 22. 29.11.2008 Seite 22 DOAG 2008 Automatisierte Prozesse
  23. 23. 29.11.2008 Seite 23 DOAG 2008 Automatisierte Prozesse
  24. 24. 29.11.2008 Seite 24 DOAG 2008 Automatisierte Prozesse SWSE SWSE SWSE AOM SWE AOM SWE AOM SWE Script DBC Script DBC Script DBC DBC Workflow DBC Workflow DBC Workflow EAI EAI EAI S_WF_..... DB
  25. 25. 29.11.2008 Seite 25 DOAG 2008 Zusammenfassung • Jeder Benutzer- und Komponententask hat eine eigene Datenbanksession. • Je nach Anmeldeverfahren hat die Datenbanksession eine individuelle oder eine generischen Kennung. • Datenbanktabellen werden zur Ablage von Benutzer- und Komponentendaten zur Laufzeit verwendet. • Siebelinstallationen sind gemeinhin über mehrere Rechner verteilt.
  26. 26. 29.11.2008 Seite 26 DOAG 2008 Kapitel 3 • Datenbankschema
  27. 27. 29.11.2008 Seite 27 DOAG 2008 Grundlagen • Anzahl der Tabellen: 4,287 • Anzahl der Spalten: bis zu 998 • Anzahl der Indices: 21,732 • Generisches Schema, d.h – Nicht alle Tabellen werden in einer konkreten Installation Verwendet. – Nicht alle Felder werden in den Tabellen verwendet.
  28. 28. 29.11.2008 Seite 28 DOAG 2008 Namenskonventionen Tabellen • Siebeltabellen beginnen mit S_ • Bei eigenen Schemaerweiterungen: – Tabellen beginnen mit CX_ – Spalten beginnen mit X_ • Tabellen mit _X (1:1) oder _XM (1:M) stellen zusätzliche Felder zur Verfügung. • EIM_ - Zwischentabellen zum Daten- import über die Komponente „Enterprise Integration Manager“
  29. 29. 29.11.2008 Seite 29 DOAG 2008 Namenskonventionen Indices • Indexnamen sind Programm – P1… PrimaryKey (unique/notNull) – U1…99 UserKey (unique & heilig) Kombination aus Feldern, um die Gleichheit 2er Datensätze beim Export/Import festzustellen und die Eindeutigkeit zu gewährleisten. – F1…99 ForeignKey – Keine Bitmap-Indices – Keine funktionalen Indices
  30. 30. 29.11.2008 Seite 30 DOAG 2008 Tabellenaufbau • ROW_ID ist immer der Primärschlüssel! • Es gibt 7, bzw. 9 Systemspalten, die u.a. darüber Auskunft geben, wann der Datensatz angelegt und verändert wurde. • Es wird der Typ Long verwendet. • Bei Schemaerweiterungen liegen die Spalten vom Typ Long nicht mehr am Tabellenende. • In Siebel 8 kommt der Typ Clob hinzu.
  31. 31. 29.11.2008 Seite 31 DOAG 2008 Referentielle Integrität • Fremdschlüsselspalten enden auf _ID und haben einen siebelgenerierten Wert. • Veränderungen dieser Werte gefährden die referentielle Integrität! • Veränderung anderer Werte gefährden den Datenaustausch mit Remote Clients. • Deshalb: Niemals eine Datenänderung direkt mit SQL durchführen! (Ausnahme: Ostern & Weihnachten fallen zusammen!)
  32. 32. 29.11.2008 Seite 32 DOAG 2008 Synchronisation • Synchronisation von Siebeltasks über – Kapselung durch die einzelnen Transaktionen auf Datenbankebene. – Systemspalte Modification_Num als Änderungszähler in jeder Siebeltabelle.
  33. 33. 29.11.2008 Seite 33 DOAG 2008 SQL-Struktur • SELECT T8.CONFLICT_ID,T8.LAST_UPD,T8.CREATED, • T8.LAST_UPD_BY,T8.CREATED_BY,T8.MODIFICATION_NUM,T8.ROW_ID,... • • FROM SIEBEL.S_ACTIVITY_ATT T1, • SIEBEL.S_SRV_REQ T2, • SIEBEL.S_CONTACT T3, • SIEBEL.S_ORG_EXT T4, • SIEBEL.S_PARTY T5, • SIEBEL.S_EVT_MAIL T6, • SIEBEL.S_EVT_ACT_SS T7, • SIEBEL.S_EVT_ACT T8 • • WHERE T8.TARGET_OU_ID = T4.PAR_ROW_ID (+) AND • T8.SRA_SR_ID = T2.ROW_ID (+) AND • T8.ROW_ID = T6.PAR_ROW_ID (+) AND • T8.ROW_ID = T7.PAR_ROW_ID (+) AND • T8.TARGET_PER_ID = T5.ROW_ID (+) AND • T8.TARGET_PER_ID = T3.PAR_ROW_ID (+) AND • T8.PR_ATT_ID = T1.ROW_ID (+) AND • (T8.ROW_ID = :1) • • ORDER BY T8.ACTIVITY_UID;
  34. 34. 29.11.2008 Seite 34 DOAG 2008 SQL-Struktur • Jede Spalte im „select…“ wird einzeln quantifiziert. • Es werden sehr viele Tabellen gejoined. • Diese Joins gehen immer gegen die indizierte Spalte „ROW_ID“ (unique/notNull). • Struktur: „select…from…where…order by…“ • Kein „group by…having…“ oder „connect by…“. • Kein „select…for…update…“ sondern nur einfache DMLs, Kapselung über „begin…end“ Blöcke
  35. 35. 29.11.2008 Seite 35 DOAG 2008 Zusammenfassung • Siebel ist aus der Sicht einer Installation überindiziert und verwendet Longs. • Niemals direkt mit SQL Daten verändern! (Ausnahme: Ostern & Weihnachten fallen zusammen!) • Indices sind die heiligen Kühe, d.h. hinzufügen geht fast immer, entfernen aber nur in Absprache mit dem Support!
  36. 36. 29.11.2008 Seite 36 DOAG 2008 Kapitel 4 • Das Problem (Herausforderung)
  37. 37. 29.11.2008 Seite 37 DOAG 2008 Goldene Regel • Tune die Anwendung zuerst, d.h. – Muss diese tolle Sortierung sein? – Wurden Tabellen mehrfach unnötig gejoined? – Werden alle abgefragte Felder auch wirklich benötigt? –…
  38. 38. 29.11.2008 Seite 38 DOAG 2008 Basics • SGA - Ausreichend Buffer Cache? • PGA –Sortierung? – Memory – Single Pass – Multi Pass • Symmetrie zwischen den Instanzen?
  39. 39. 29.11.2008 Seite 39 DOAG 2008 Optimizer
  40. 40. 29.11.2008 Seite 40 DOAG 2008 Invalidierung SQL-Area
  41. 41. 29.11.2008 Seite 41 DOAG 2008 Outlines & Planstabilität
  42. 42. 29.11.2008 Seite 42 DOAG 2008 Multiple Blockgröße
  43. 43. 29.11.2008 Seite 43 DOAG 2008 Partitionierung
  44. 44. 29.11.2008 Seite 44 DOAG 2008 Indizierung
  45. 45. 29.11.2008 Seite 45 DOAG 2008 Serialisierung
  46. 46. 29.11.2008 Seite 46 DOAG 2008 Sequenzen
  47. 47. 29.11.2008 Seite 47 DOAG 2008 Interconnect
  48. 48. 29.11.2008 Seite 48 DOAG 2008 Zusammenfassung • SQL-Optimierung – Outlines & Indexstruktur (Support!) • Objektoptimierung – Blockgröße & PCTFree, PCTUsed, ITL • Instanzoptimierung – Symmetrie aller Parameter – Parametrierung und Sizing (SGA, PGA) • InterIntanzoptimierung – Parametrierung & Netzwerk
  49. 49. 29.11.2008 Seite 49 DOAG 2008 Kapitel 5 • Die Moral von der Geschichte… (Ergebnis)
  50. 50. 29.11.2008 Seite 50 DOAG 2008 Kommunikation • Siebelentwickler und Datenbankadmini- stratoren müssen bereits beim Sizing der Anwendung miteinander reden. • Permantentes Monitoring der generierten SQLs während der Entwicklung und Rückmeldung an die Entwickler. • Überwachung aller Datenbankobjekte, um Serialisierungen während der Tests schnellstmöglich zu erkennen.
  51. 51. 29.11.2008 Seite 51 DOAG 2008 Test, Test, Test & Test • In einer realistischen Umgebung durchführen, d.h. wer ein 4er RAC produktiv verwendet sollte auch damit testen. • Mit realistischen Daten durchführen, d.h. sowohl von der Menge als auch der Verteilung analog zur Produktion. • Abweichungen davon, z.B. im Rahmen von Simulationen setzen RAC-optimierte nichtlineare Modelle voraus.
  52. 52. 29.11.2008 Seite 52 DOAG 2008 Das Ende RAC ermöglicht die Realisierung hochperformanter Siebelsysteme! „Most of the time a performance problem is not a RAC problem.“(Oracl e Whitepaper) „But sometimes the performance problem starts to get visible in an RAC environment first!“(BzYxS.com)
  53. 53. 29.11.2008 Seite 53 DOAG 2008 Kapitel 6 Fragen & Antworten
  54. 54. 29.11.2008 Seite 54 DOAG 2008

×