Your SlideShare is downloading. ×
RAC Optimierung im Siebel CRM Umfeld, DOAG 2008
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

RAC Optimierung im Siebel CRM Umfeld, DOAG 2008

563
views

Published on

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.

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.

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
563
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DOAG 2008 RAC Optimierung im Siebel CRM Umfeld Dipl.-Inform. Frank Beutelschiess
  • 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. 29.11.2008 Seite 3 DOAG 2008 Kapitel 1 • 2 Minuten Werbung (Vorstellung)
  • 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. 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. 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. 29.11.2008 Seite 7 DOAG 2008 Kapitel 2 • Siebel in 5 Minuten
  • 8. 29.11.2008 Seite 8 DOAG 2008 Hinweis • Die folgenden Darstellungen wurden für einen besseren Überblick technisch stark vereinfacht.
  • 9. 29.11.2008 Seite 9 DOAG 2008 Siebel Client
  • 10. 29.11.2008 Seite 10 DOAG 2008 Systemarchitektur WebServer User SiebelServer DB SWSE AOM FSMgr. Gateway SiebelFilesystem SiebelEnterprise
  • 11. 29.11.2008 Seite 11 DOAG 2008 Systemarchitektur WebServer User SiebelServer DB SWSE AOM User FSMgr. Gateway User SiebelFilesystem SiebelEnterprise …
  • 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. 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. 29.11.2008 Seite 14 DOAG 2008 Systemarchitektur
  • 15. 29.11.2008 Seite 15 DOAG 2008 Manuelle Prozesse
  • 16. 29.11.2008 Seite 16 DOAG 2008 Manuelle Prozesse
  • 17. 29.11.2008 Seite 17 DOAG 2008 Manuelle Prozesse
  • 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. 29.11.2008 Seite 19 DOAG 2008 Automatisierte Prozesse
  • 20. 29.11.2008 Seite 20 DOAG 2008 Automatisierte Prozesse
  • 21. 29.11.2008 Seite 21 DOAG 2008 Automatisierte Prozesse
  • 22. 29.11.2008 Seite 22 DOAG 2008 Automatisierte Prozesse
  • 23. 29.11.2008 Seite 23 DOAG 2008 Automatisierte Prozesse
  • 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. 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. 29.11.2008 Seite 26 DOAG 2008 Kapitel 3 • Datenbankschema
  • 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. 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.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. 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. 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. 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. 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. 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. 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. 29.11.2008 Seite 36 DOAG 2008 Kapitel 4 • Das Problem (Herausforderung)
  • 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. 29.11.2008 Seite 38 DOAG 2008 Basics • SGA - Ausreichend Buffer Cache? • PGA –Sortierung? – Memory – Single Pass – Multi Pass • Symmetrie zwischen den Instanzen?
  • 39. 29.11.2008 Seite 39 DOAG 2008 Optimizer
  • 40. 29.11.2008 Seite 40 DOAG 2008 Invalidierung SQL-Area
  • 41. 29.11.2008 Seite 41 DOAG 2008 Outlines & Planstabilität
  • 42. 29.11.2008 Seite 42 DOAG 2008 Multiple Blockgröße
  • 43. 29.11.2008 Seite 43 DOAG 2008 Partitionierung
  • 44. 29.11.2008 Seite 44 DOAG 2008 Indizierung
  • 45. 29.11.2008 Seite 45 DOAG 2008 Serialisierung
  • 46. 29.11.2008 Seite 46 DOAG 2008 Sequenzen
  • 47. 29.11.2008 Seite 47 DOAG 2008 Interconnect
  • 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. 29.11.2008 Seite 49 DOAG 2008 Kapitel 5 • Die Moral von der Geschichte… (Ergebnis)
  • 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. 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. 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. 29.11.2008 Seite 53 DOAG 2008 Kapitel 6 Fragen & Antworten
  • 54. 29.11.2008 Seite 54 DOAG 2008