„Real Application Testen und Verwaltbarkeit in 11g“ „Neuerungen speziell in 11g“ I; Real Application Testing Seite: a; Database Replay 1; niedrigere Kosten um die Infrastruktur zu testen 2; schnellere Entwicklung 3; die 4 Stufen des Database Replay b; SQL Performance Analyzer b1; Verwendung des SPA (5 Stufen) b2; Workflow des SPA c; SQL-Tuning Set c1; Erstellen eines SQL-Tuning Set (STS) c2; Laden eines SQL-Tuning Set c3; Anzeigen der Inhalte eines SQL-Tuning Set c4; Modifizieren des SQL-Tuning Set c5; Export des SQL-Tuning Set c6; Droppen eines SQL-Tuning Set II; Verwaltbarkeit a; ADDM für RAC b; automatisiertes SQL Tuning b1; Wie arbeitet der SQL-Tuning Advisor ? b2; Beispiele für die Verbesserungen des SQL Tuning Advisors in 11g c; SQL Plan Management 1; automatisierte Plan Erstellung 2; manuelles Laden des Plans 3; Entwicklung von SQL Plan Grundlinien d; der SQL_ACCESS Advisor e; automatic Shared Memory Management (ASSM) f; Grundlinien zum Automatic Workload Repository g; Infrastruktur zur Fehler Diagnostik 1; Health Checks 2; Data Recovery Advisor 3; SQL Repair Advisor 4; SQL Test Case Builder 5; Automatic Repository (ADR) 6; Incident Packing Service (IPS) h; Support Workbench III; Neue Parameter in der INIT.ORA 11g a; b; c; d; e; f; DB_LOST_WRITE_PROTECT DB_SECUREFILE DB_ULTRA_SAFE DD_LOCK_TIMEOUT DIAGNOSTIC_DEST ENABLE_DDL_LOGGING 2 3 3 4 4 6 7 7 7 8 8 8 9 10 10 11 12 13 14 14 15 16 17 18 18 19 19 19 19 19 20 20 21 21 22 23 24 25 1 IV; Neuerungen in 11g a; Oracle Total Recall 27 b; Informationslebenszyklus-Management (ILM) 28 c; ADVANCED COMPRESSION 29 d; ACTIVE DATA GUARD 30 1; Read-Only 30 2: Snapshot Standby 30 e; Hot Patching 32 f; Fast Files 33 g; RAC (speziell zu 11g) 33 V; Anhang 1; Replay - Schaubild 34 2; Anzeigen der Pläne in der SQL Plan Grundlinie 35 3; Beispiel für das Verwenden von SQL Plan Grundlinien 37 mit dem SQL Tuning Advisor: 4; Beschreibung des CONFIGURATION SUPPORT MANAGER 39 2 Real Application Testen und Verwaltbarkeit Neuerungen speziell in 11g I; Real Application Testing Heutzutage investieren Unternehmen in umfangreiche Hardware und Software um Änderungen in der Infrastruktur zu vollziehen. Z.B. ein Rechenzentrum hat die Aufgabe Datenbanken auf eine Platform mit niedrigen Kosten zu bringen. Letztere waren „ORACLE Enterprise oder LINUX. Dies erfordert normalerweise, dass in duplizierte Hardware für den ganzen Stapel an Hardware investtiert werden muß, inlusive WEB-Server, Applikation und Datenbank. Organisationen empfinden es sehr teuer um erfolgreich Änderungen in ihrem Rechenzentrum – Infrastruktur zu verwirklichen. Trotz des umfassenden Testens können auch häufig noch unerwartete Probleme auftreten wenn eine Änderung schließlich in der Produktion umgesetzt wird. Dies passiert, weil TestArbeitsbelastungen typischerweise simuliert sind und nicht der genauen und kompletten Repräsentation der Produktionsumgebung entsprechen. Oracle 11g begegnet diesen Schwierigkeiten mit zwei neuen Lösungen: a; Database Reply b; Performance Analyzer a; Database Replay Database Replay ermöglicht es dem DBA und dem System-Administrator zuverlässig, genau und realistisch aktuelle Belastungen in der Produktion abzubilden, inklusive Arbeitsbelastungen der Online-User und dem Batch. Es wird erfasst die volle Belastung der Datenbank, inklusive aller gegenwärtigen Abhängigkeiten und des Timing. Mit Database Replay lassen sich auf Test-Systemen realistische Arbeitsbelastungen abbilden wie es über Skripte nicht möglich ist. Mit dem Database Replay kann der DBA/Systemadministrator folgendes testen: - - Datenbank Upgrades, Patches, Parameter, Schemata-Änderungen usw. Änderungen in der Konfiguration, wie z.B. die Änderung von einer einzelnen Instanz zu RAC, ASM usw. Speicherung, Netzwerk und Änderungen beim Verbinden Operating System, Hardware Migrationen, Ptaches, Upgrades Parameter-Änderungen a.1; Niedrigere Kosten um die Infrastruktur zu testen. Der DBA hat nun eine Infrastruktur zum Testen zur Hand, wo sie ihre Änderungen ohne den Overhead zum Duplizieren der kompletten Infrastruktur testen können. Database Replay ermöglicht es auf den Overhead zu verzichten wie z.B. einen Server in der Middle-Tier oder einen Web-Server. Somit können DBAs und System-Administratoren die Infrastruktur des Rechenzentrums mit großem Vertrauen upgraden und testen. Dies geschieht in dem Bewusstsein, dass die Änderungen wahrhaftig getestet und validiert worden sind unter realen Szenarios in der Produkt-Umgebung. 3 a.2; Schnellere Entwicklung Ein weiterer wichtiger Vorteil des Database Replay ist, dass der DBA nicht Monate darauf verwenden muß, Kenntnisse hinsichtlich Funktionumfang zur Applikation sich anzueignen und Skripte zum Testen entwickeln muß. Mit einigen wenigen Klicks, hat nun der DBA die Arbeitsbelastung zur Verfügung und können die Änderung somit umsetzen. Dies reduziert die Testzyklen von mehreren Monaten auf Tage oder Wochen. Somit sind erhebliche Kosteneinsparungen verbunden. a.3; Die 4 Stufen des Database Replay a.3.1Erfassung der Arbeitsbelastung Wenn die Erfassung der Arbeitsbelastung eingeschaltet ist, so werden lalle Anforderungen von externen Anforderungen des Clients an die Oracle-DB gespurt und in Binär-Dateien (ErfassunsDateien) auf dem File-System gespeichert. Der User spezufiziert den Ort für die Erfassungsdateien und den Anfangs-/End-Teitpunkt der Erfassung der Arbeitsbelastung. Während dieses Vorgang werden alle Informationen zu externen DB-Aufrufen in die Erfassungs-Dateien geschrieben. a.3.2Weiterverarbeitung der Arbeitsbelastung Ist nun die Arbeitsbelastung erfasst, so muß nun die Information in den Erfassungsdateien weiterverarbeitet werden. Diese Verarbeitung formt die aufgenommenen Daten in Wiedergabe – Dateien. Dabei werden alle notwendigen Metadaten zur Wiedergabe der Arbeitsbelastung zusätzlich erzeugt. Die Erfassungs-dateien werden gewöhnlich auf ein anderes System zur Weiterverarbeitung kopiert. Dies muß für jede einzelne erfasste Arbeitsbelastung wiederholt werden, bevor diese wieder abgespielt werden kann. Nachdem die Arbeitsbelastung weiterverarbeitet ist, so kann diese wiederholt auf einem System abgespielt werden. Da das Abspielen der Arbeitsbelastung sehr zeitintensiv und Resourcen verbrauchend sein kann, so empfiehlt es sich diese Schritte auf einem Test-System zu vollziehen. a.3.3 Wiedergabe der Arbeitsbelastung Ein Programm auf dem Client, genannt „Replay Client“ verarbeitet die Erfassungsdateien und übergibt Anfragen an die Datenbank mit dem gleichen Timing und Parallelität wie auf dem Erfassungs-System. In Abhängigkeit der erfassten Arbeitsbelastung werden einer oder mehrere „Replay Cients“ benötigt um die Arbeitzsbelastung getreu wieder abspielen zu können.. Ein Anpassungs-Werkzeug bestimmt die Anzahl der Replay-Clients , die für die Arbeitsbelastung notwendig sind. Es ist bedeutsam, dass die Daten in dem Wiedergabe-System, inklusive DML und SQL-Abfragen mit den Daten in dem Produktions-System identisch sein müsssen. a.3.4 Analyse und Reporting Ausführliche Berichte zur Erfassung und Wiedergabe werden geliefert. Über jeden Fehler in der Wiedergabe wird berichtet. Jede Abweichung in den Zeilen zur DML oder zu den Abfragen wird bereichtet. Vergleiche zur Performance der Basis zwischen Erfassung und Wiedergabe werden wiedergegeben. Für erweiterte Analyse AutoWorkloadRepositories (WAR) werden zugänglich gemacht um einen genauen Vergleich der Performance Statistiken zwischen Erfassung und Widergabe zu ermöglichen. 4 b; SQL Performance Analyzer Änderungen die Ausführungspläne zu SQL betreffen, können die Performance und Availability der Applikation beeinträchtigen. Im Endergebnis verwendet der DBA viel Zeit darauf SQL-Anweisungen zu finden und so zu verbessern, dass diese das System wegen der Änderungen nicht mehr behindern. Der SQL Performance Analyzer (SPA) kann bei Änderungen der Umgebung Probleme hinsichtlich der Performance bei SQL vorhersagen und verhindern. Der SPA liefert einen feinkörnigen View hinsichtlich des des Einflusses von UmgebungsVeränderungen auf die Ausführungspläne und Statistiken. Hierbei werden die SQLAnweisungen vor und nach den Änderungen ausgeführt. Der SPA generiert einen Bericht, der über den Vorteil bei der Arbeitsbelastung und liefert einen Satz von SQL-Anweisungen die zur Systembeinträchtigung geführt haben. Zu den letzteren SQL-Anweisungen werden die entsprechenden Ausführungspläne zusammen mit Empfehlungen für das Tunen zur Verfügung gestellt. Der SPA ist gut integriert in den existierenden Tuning-Set (STS), Tuning Advisor und der Funktionalität des SQL-Plan-Managements. Der DBA kann nunmehr den Tuning Advisor dazu benutzen, um die SQL-Anweisungen die zu einer Verlangsamung des Systems geführt haben in der Test-Umgebung zu verbessern und neue Pläne zu generieren. Diese Pläne werden dann in Grundlinien zum SQL-Plan Management eingebaut und in die Produktion zurück exportiert. So kann man mit den SPA mit einem hohen Maß sichergehen, dass eine System-Änderung für die ProduktionsUmgebung tatsächlich zu einer Verbesserung bei geringeren Kosten führt. Der SQL-Analyzer kann folgende gemeinsame Systemänderungen durchführen: - Datenbank Upgrade, Patches, Änderungen in der Init.Ora Änderungen in der Konfiguration des Betriebssystems, Hardware oder DB Schema-Änderungen wie Hinzufügen neuer Indices, Partitioning oder Materialized Views Sammeln von Statistiken für den Optimizer – SQLAktionen zum Tuning, z.B. Erstellen von SQL-Profilen. b1; Die Verwendung des SPA erfolgt in 5 Stufen: 1; Erfassung der SQL-Arbeitsbelastung die mit dem SPA untersucht werden soll.. Die Oracle DB bietet Wege um SQL-Arbeitsbelastungen von mehreren Quellen zu sammeln, wie z.B. den „Cursor Cache“ und „Automatic Workload Repository (WAR)“ und diese Sammlung in einen in einen SQLTuning Set (STS) zu stellen. Typischerweise würde dies auf einem Produktionssystem erfolgen. STS würde dann zu einem TestSystem transportiert werden wo die Analyse zu SPA erfolgt. 2; Es wird die Arbeitsbelastung vor der Veränderung erfasst. Dies geschieht über SPA in dem SQL Tuning Set. 3; Es werden die Änderungen wie z.B. DB-Upgrade oder Refresh der Optimizer-Statistiken durchgeführt. 5 4; Es wird die Performance der Arbeitsbelastung nach der Änderung erneut gemessen, indem SPA in dem SQL-Tuning Set erneut ausgeführt wird. 5; Die Performance der zwei Ausführungen mit den SQL Tuning Sets werden verglichen. Hierbei werden die SQL-Anweisungen getrennt identifiziert, je nachdem sie zu einer Verlangsam, zu einer Verbesserung der Performance des Systems geführt haben oder ob die SQL-Anweisung zu einem neutralen Ergebnis geführt haben. 6 b2; Workflow des SQL Performance Analyzer In der Abbildung wird der Workflow des “SQL Performance Analyzer” gezeigt. Das Diagramm ist in zwei Hälften unterteilt. Die linke Hälfte nennt sich „Produktion“. Die rechte Hälfte nennt sich “Test”. Auf der Produktion-Seite sind oben drei Clients. Im „Middle Tier“-Bereich befinden sich drei Server und die Oracle-Datenbank. Unterhalb der dortigen Platten befindet sich ein Diagramm welches nach rechts zeigt. Auf der Produktions-Seite ist der Pfeil beschriftet mit „Capture SQL“. Auf der rechten Seite ist der Pfeil beschriftet mit „Execute SQL“, „ Make Change“, „Execute SQL“ und „Compare Performance“. Die Beschriftung auf dem Pfeil entspricht den 5 Stufen wie in dem Paper „Real Application Testen und Verwaltbarkeit“ (Seite 4 und 5).„Capture SQL“ entspricht: „Erfassung der SQL-Arbeitsbelastung“ „Execute SQL“ entspricht: „Erfassung der Arbeitsbelastung vor der Veränderung“. „Make Change“ entspricht: „Änderungen werden durchgeführt“ „Execute SQL“ entspricht „Es wird die Performance der Arbeitsbelastung erneut gemessen“ „Compare Performance“ entspricht „ Die Performance der zwei Ausführungen mit den SQLTuning Sets werden verglichen“. 7 c; SQL-Tuning Set c 1; Erstellen eines SQL-Tuning Set (STS) Siehe auch SQL Performance Analyzer (Seite 4) in “Real Application Testen und Verwendbarkeit” Die CREATE_SQLSET Prozedur wird verwendet um ein leeres STS-Objekt in der DB zu erstellen. z.B. kreiert die folgende Prozedur ein STS Objekt mit dem Ziel für eine bestimmte Zeit intensive SQL-Anweisungen für den I/O zu tunen. BEGIN DBMS_SQLTUNE.CREATE_SQLSET( sqlset_name => 'my_sql_tuning_set', description => 'I/O intensive workload'); END; / 'my_sql_tuning_set' ist der Name des STS in der DB und 'I/O intensive workload' ist die Beschreibung. c 2; Laden eines SQL Tuning-Set Die Prozedur LOAD_SQLSET füllt die STS mit ausgewählten SQL-Anweisungen aus. Die Standard-Quellen um die STS auszufüllen sind das Workload Repository, eine andere STS oder der Cursor-Cache. Sowohl für das Workload-Repository als auch für das STS, gibt es vordefinierte Tabellen Funktionen. Mit diesen lassen sich Spalten aus einer Quelle für eine neue STS ausfüllen. Im folgenden Beispiel laden Calls aus Prozeduren das 'my_sql_tuning_set' aus einer AWR Grundline, genannt 'peak baseline'. Die Daten sind so gefiltert, daß diese nur die ersten 30 SQL Anweisungen, gemessen an der verbrauchten Zeit, selektieren. Zuerst wird ein „ref cursor“ geöffnet um gemäß der spezifizierten Grundlinie auszuwählen. Daraufhin werden die Anweisungen mit ihren Statistiken von der Grundlinie in den STS geladen. DECLARE baseline_cursor DBMS_SQLTUNE.SQLSET_CURSOR; BEGIN OPEN baseline_cursor FOR SELECT VALUE(p) FROM TABLE (DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY( 'peak baseline', NULL, NULL, 'elapsed_time', NULL, NULL, NULL, 30)) p; DBMS_SQLTUNE.LOAD_SQLSET( sqlset_name => 'my_sql_tuning_set', populate_cursor => baseline_cursor); END; / 8 c 3; Anzeigen der Inhalte eines SQL Tuning Set Die Tabellenfunktion SELECT_SQLSET liest die Inhalte des STS. Nachdem nun ein STS erstellt und gefüllt worden ist, lassen sich die SQL-Anweisungen im Browser mit verschiedenen Kriterien für den Filter durchgehen. Für diesen Zweck gibt es die Prozedur SELECT_SQLSET. Im folgenden Beispiel werden diejenigen SQL-Anweisungen angezeigt, bei denen das Verhältnis der Lesevorgänge auf der Platte zu den Ergebnissen im Puffer größer oder gleich 75% ist. SELECT * FROM TABLE(DBMS_SQLTUNE.SELECT_SQLSET( 'my_sql_tuning_set', '(disk_reads/buffer_gets) >= 0.75')); Weitere Details zu den Tuning Sets, die erstellt sind und geladen wurden, können über DBA_SQLSET, DBA_SQLSET_STATEMENTS und DBA_SQLSET_BINDS angezeigt werden. c 4; Modifizieren des SQL Tuning Set SQL-Anweisungen können upgedatet und gelöscht werden auf Grund einer Such-Funktion. Im folgenden Beispiel löscht die Prozedur DELETE_SQLSET diejenigen SQL-Anweisungen aus my_sql_tuning_set, die weniger als fünfzig mal ausgeführt worden sind. BEGIN DBMS_SQLTUNE.DELETE_SQLSET( sqlset_name => 'my_sql_tuning_set', basic_filter => 'executions < 50'); END; / c 5; Export des SQL Tuning Set SQL Tuning Sets können zu einem anderen System über Export auf eine Bühne und von dort in das andere System über Import transportiert werden. Um ein SQL Tuning Set zu transportieren: 1. Verwendung der Prozedur CREATE_STGTAB_SQLSET um eine “staging table” zu erzeugen, wohin die SQL Tuning Sets exportiert werden. Das folgende Beispiel bewirkt die Erstellung einer Bühnen-Tabelle. Dabei ist auf Groß/Kleinschreibung zu achten. 9 BEGIN DBMS_SQLTUNE.CREATE_STGTAB_SQLSET( table_name => 'staging_table' ); END; / 2. Verwendung der Prozedur PACK_STGTAB_SQLSET um die SQL-Tuning-Sets in die Bühnen-Tabelle zu exportieren. Im folgenden Beispiel wird das Tuning Set “my_sts” zur BühnenTabelle exportiert. BEGIN DBMS_SQLTUNE.PACK_STGTAB_SQLSET( sqlset_name => 'my_sts', staging_table_name => 'staging_table'); END; / 3; Bewegung der Bühnen-Tabelle zu dem System, wo die SQL Tuning Sets importiert werden. Verwendung entweder von „Data Pump“ oder von „Database Link“. 4; Verwendung von UNPACK_STGTAB_SQLSET auf dem System, wo die SQL Tuning Sets aus der Bühnen-Tabelle importiert werden. Das folgende Beispiel zeigt, wie SQL Tuning Sets aus der Bühnen-Tabelle importiert werden. BEGIN DBMS_SQLTUNE.UNPACK_STGTAB_SQLSET( sqlset_name => '%', replace => TRUE, staging_table_name => 'staging_table'); END; / c 6; Droppen eines SQL Tuning Set Im folgenden Beispiel wird eine nicht mehr benötigte STS gedroppt. BEGIN DBMS_SQLTUNE.DROP_SQLSET( sqlset_name => 'my_sql_tuning_set' ); END; / 10 II; Verwaltbarkeit Oracle führte eine Reihe von Neuerungen zur Verwaltbarkeit mit 10g ein. In Release 11g hat Oracle die Verbesserungen fortgesetzt. Mit dem Ziel zur weiteren Selbstverwaltung als früher. a; ADDM für RAC Ist neu ab Version 11g. ADDM verwendet einen integrierten Ansatz zum DB weiten Analayse der Performance. Bereiche des ADDM sind Speicherplatz, System Resourcen, Plattenplatz SQL in der Applikation, Verwaltung von Backup & Recovery. ADDM liefert eine vorausschauende Analyse für den DBA und ist auf Aufforderung da, wenn PerformanceProbleme behoben werden sollen. Die Analyse des ADDM wird durchgeführt, jedes Mal wenn ein AWR-Snapshot aufgenommen wird. Der MMON Prozeß triggert die ADDM Analyse für den Zeitraum der letzten zwei Snapshots.. Dieser Ansatz beobachtet vorausschauend die DB und entdeckt Engpässe bevor diese zu einem ernstes Problem werden. Es ist auch möglich. Den ADDM manuell aufzurufen um zwei beliebige Snapshots analysieren zu lassen.. Zusammen mit Bereichen, die Probleme haben, berichtet ADDM über Bereiche, die ohne Probleme sind. Im letzteren Fall kann der DBA sehen, dass hier keine oder kaum welche Gewinne zu erzielen sind, wenn er hier eingreift. Die Ergebnisse der ADDM – Analyse werden auch in dem „Automated Workload Repository (WAR)“ gespeichert und sind einsebar über Views zum Ditionary. Das Ziel der Analyse die Metrik für den Durchsatz DBtime. DBtime ist die zusammengefasste Zeit die der Datenbank Server aufwendet um Requests des Users zu bedienen. Dies schließt mit ein die Waits und die CPU-Zeit. Wenn nun DBtime reduziert wird, kann die DB noch mehr Anforderungen an die DB bedienen bei verwendung der selben Resourcen. Da ADDM in den DB-Server integriert ist, so hat die Analyse kaum Einfluß auf die DB. Normalerweise werden für die Analyse weniger als 3 Sekunden benötigt. Die Ergebnisse der Analyse lassen sich aufteilen in die Kategorien: Problem, Symptom oder Information. Neu in der Version 11g ist, dass die Ergebnisse per Direktiven des DBA über Filter unterdrückt werden können, um sich nur Ergebnisse von Interesse anzeigen zu lassen. Um den Einfluß des Ergebnisses besser zu verstehen, hat jedes Ergebnis einen beschreibenden Namen welcher die Suche erleichtert. Er hat auch einen Link zu der Anzahl der vorangegangenen Ereignisse in den Ergebnsissen innerhalb der letzten 24-Stunden und den davon betrofffenen Instanzen. b; Automatisiertes SQL Tuning Viele DBAs verwenden manuelle SQL-Tuning Prozesse um die schlechte SQL-Performance zu heben. Manuelles SQL-Tuning ist ein komplexer und wiederkehrender Prozess der umfangreiche Herausforderungen abruft. Er ist sehr zeitaufwendig und erfordert eine genaue Kenntnis der Schema-Strukturen , sowie des Modells zum Daten-Gebrauch der Applikation und des Planes bei der Abfrage. 11 Automatisiertes SQL ist neu in Version 10g. Die Automatisierung erfolgte über zusammenfassende Analyse der SQL-Anweisungen. Das Ergebnis dieser Analyse geschieht in der Form von Empfehlungen mit einer Überlegung zu jeder Empfehlung und der Angabe, welcher Gewinn für die Performance dabei herauskommt. Die Empfehlung erfasst die Sammlung von Statistiken für Objekte, Erstellung neuer Indices, Neuordnung der SQLAnweisungen, oder die Erstellung von SQL-Profilen. Der Anwender kann die Empfehlungen durchgehen und diese nach Bedarf implementieren. In 11g wurde der Tuning-Prozeß weiter entwickelt und weiter automatisiert mit dem Ziel der maximalen Performance der db: Der „SQL-Tuning Advisor arbeitet nun während der SystemWartung automatisch als Wartungs-Aufgabe. Bei jedem Lauf selektiert er automatisch SQL Abfragen, die eine hohe Belastung in dem System veranlassen. Dabei werden Empfehlungen für das Tunen erstellt. Um die Empfehlung zu validieren, führt der „SQL Tuning Advisor“ einen Testlauf der SQLAnweisungen mit dem neuen Ausführungsplan durch. Es wird dabei ein SQL-Profil empfohlen. Der „Automatic SQL Tuning Advisor“ kann so konfiguriert werden, dass er Empfehlungen in den SQL-Profilen automatisch implementiert. Wenn die automatisierte Implementation eingeschaltet wird, so erstellt der Advisor SQL-Profile nur zu denjenigen SQL-Anweisungen, die eine mindestens drei-fache Performance Verbesserung erbringen. Andere Arten der Empfehlungen, so z.B. neue Indices erstellen oder Refresh der Optimizer Statistiken oder die Restrukturierung von SQL können nur manuell implementiert werden. Als Default ist der „Automatic SQL-Tuning Advisor“ darauf ausgerichtet nur nachts zu laufen und nur über Empfehlungen zu berichten. Also die Empfehlungen werden standardmäßig nicht implementiert. Die Zusammenfassung der Ergebnisse des „Automatic Tuning Advisors“ kann man für eine bestimmte Zeit festlegen und ansehen. Genauso gut kann man sich alle verarbeiteten SQLAnweisungen einzeln anzeigen lassen. Die Empfehlungen können dann einzeln manuell implementiert werden. Man kann sich auch diejenigen Empfehlungen ansehen, die automatisiert implementiert worden sind. b1; Wie arbeitet der SQL-Tuning Advisor ? Der Advisor kann aus mehreren Quellen gespeist werden. Diese sind: - Man erstellt eine SQL-Anweisung oder ein Set von Anweisungen und übergibt diese dem SQL-Advisor - der ADDM (Automated Database Diagnostik Monitor) empfiehlt Anweisungen mit hoher Arbeitsbelastung - Man kann aus dem WAR (Automated Workload Repository) SQLAnweisungen auswählen - Man kann aus dem DB-Cursor Cache eine SQL-Anweisung auswählen Sobald man nun dem SQL-Tuning Advosr eine SQL-Anweisung oder ein Set an SQLAnweisunghen übergibt, so ruft der Advisor den Oracle Optimizer in einem neuen Modus auf. Dieser wird genannt „Tuning Mode“. Der Optimizer sucht stets nach dem beßten Ausführungsplan für seine Anweisung. Unglücklicherweise erfolgt die Erstellung unter Bedingungen der Produktions-Umgebung. Er hat für den Entwurf nur eine relativ kurze Zeit zur Verfügung. So bemüht der Optimizer Mittel der Heuristic und andere ähnliche Techniken 12 um einen guten Plan zu erstellen. Dieser Modus nennt sich „Normaler Modus“ wo der Optimizer schnelle optimale Ausführungs-Pläne zu den SQL-Anweisungen erstellt. In 10g ist neu hinzugekommen der „Tuning Mode“. Hierbei vollführt der Optimizer eine tiefgehende Analyse als Grundlage des Ausführungsplans. Anstatt einzelner Sekunden wie im „Normal Mode“ benötigte der Optimizer für das Set an Empfehlungen mehrere Minuten. Dies ist mehr als ein optimaler Ausführungsplan.Da der Optimizer mehrere Minuten zur Analyse im „Tuning Mode“ benötigt, sollte dieser Modus nur auf SQL-Anweisungen mit hoher Arbeitsbelastung verwendet werden. Der Oracle Optimizer im „Tuning Mode“ wird genannt als „Automatic Tuning Optimizer (ATO)“. In diesem Modus wird der Optimizer nicht dafür benutzt Ausführungspläne auf die Schnelle zu erstellen. Der ATO erledigt folgende Aufgaben beim Tuning: - statistische Analysen SQL-Profiling Analyse des Zugriff-Pfades Analyse der SQL-Struktur b2; Beispiele für die Verbesserungen des SQL Tuning Advisors in 11g - - - SQL-Anweisungen lassen sich selbst tunen über eine Erweiterung der automatisierten Eigenschaften , wie in Version 11g eingeführt. Statistiken zu dem Cost-Based Optimizer (CBO) werden nun getrennt vom Sammlungsprozeß veröffentlicht. Vorteil dabei ist, dass neue erstellte Statistiken für den CBO nicht automatisch ungültige Cursor bedingen. Statistiken können können nun aus zwei oder mehreren Spalten einer Tabelle gewonnen werden. Der CBO kann nun kann nun noch genauer Zeilen auswählen, die auf gemeinsamen Bedingungen oder Joins basieren. Der SQL Advisor kann nun Vorschläge zum Partitioning erbringen.. Partitioning zu vorhandenen Tabellen, Indices und Materialized Views. 11g unterstützt nun die Ausführungspläne zu einer SQL-Anweisung in der History. Das bedeutet, dass der CBO einen neuen Ausführungsplan mit dem ursprünglichen Plan überprüft. Ergibt der bisherige alte Plan eine verbesserte Performance , so kann entschieden werden, dass der ursprüngliche Plan verwendet wird. 13 c; SQL Plan Management Ist neu in 11g. SQL Plan Management verhindert Performance Einbußen, die von plötzlichen Änderungen im Ausführungsplan einer SQL-Anweisung verursacht werden. Es werden Komponenten für die Erfassung, Auswahl und Entwicklung von SQL-Ausführungsplänen zur Verfügung gestellt. Die Performance kann von vielen Änderungen beinflußt werden. Diese sind „neue Optimizer Version“, Änderungen der Optimizer Statistiken und/oder Parameter, oder die Entwicklung von SQL-Profilen. SQL-Plan Management ist ein Mechanismus, der die Ausführungspläne im Laufe der Zeit berichtend auswertet. Er errichtet Grundlinien zum Plan aus einem Set als bekannt effektiver Pläne, ungeachtet der Systemänderungen. Szenarios wo SQL Plan Management die Performance mit SQL verbessert oder erhalten werden kann, sind: - - - Ein Datenbank Upgrade welches eine neue Optimizer Version erstellt resultiert für einen kleinen Anteil der SQLAnweisungen in Plan-Änderungen. Die Plan-Änderungen bewirken eine verbesserte oder keine PerformanceErhöhung. Einige Änderungen können jedoch eine Verschlechterung der Performance bewirken. Der Gebrauch von SQL Plan Grundlinien veringert signifikant mögliche Performance Einbußen die von einem DB-Upgrade verursacht worden sind. Fortlaufende System- und Daten-Änderungen können sich negativ auf Pläne einzelner SQL Anweisungen auswirken. Die Verwendung von Grundlinien hilft, die Performance Einbußen zu vermeiden und die SQL-Performance zu stabilisieren. Die Verwendung neuer Module in der Applikation bedeutet, dass neue SQL Anweisungen in dem System hinzukommen. Die Anwendungs-Software könnte entsprechende SQL Ausführungs-Pläne verwenden, die unter einer Standard Test Konfiguration entwickelt worden waren. Grundlinien führen erst im Laufe der Zeit zu einer besseren Performance. Während der Entwicklungs-Pase für die Grundlinien, wertet die Oracle DB 11g die Performance neuer Pläne aus und integriert Pläne für eine bessere Performance in die Grundlinien zum SQL Plan.. Eine erfolgreiche Verifizierung des neuen Plans besteht darin in dieser hinsichtlich der Performance der Grundlinie entnommen wird und dann gemessen wird, ob der neue Plan eine verbesserte Performance erbringt. 14 Es gibt drei Wege um Grundlinien zum SQL_Plan zu entwickeln: - manuell indem neue vom Anwender verifizierte Pläne den SQL Grundlinien hinzugefügt werden - manuell, indem die Funktion EVOLVE_SQL_PLAN_BASELINE aus dem PL/SQL Package DBMS_SPM verwendet wird - automatisch, indem die Möglichkeiten von „Automatic SQL Tuning“ angewendet Werden C.1; Automatisierte Plan Erstellung: Wenn die automatisierte Plan Erstellung eingeschaltet ist, erstellt und wartet das System die History zu dem Plan. Inhalt der History sind SQL Anweisungen des Optimizers. Die History schließt auch ein die relevante Information, genutzt vom Optimizer um den Plan zu erstellen. Inhalt der History ist der SQL-Text, der Umriß, Binde Variablen und die Umgebung bei der Kompilation. Um die automatisierte Plan Erfassung einzuschalten, muß in der Init.Ora der Parameter gesetzt werden: OPTIMIZER_CAPTURE_SQL_PLAN_BASELINE = TRUE Default ist FALSE. C.2.. Manuelles Laden des Plans: Erfolgt über: a; Laden von Plänen aus SQL Tuning Sets und AWR Snapshots b; Laden von Plänen aus dem Cursor Cache a; Laden des Planes aus SQL Tuning Sets und aus WAR Snapshots: In diesem Beispiel ladet die DB Pläne aus dem SQL Tuning Set mit dem Namen 'tset1'. DECLARE my_plans pls_integer; BEGIN my_plans := DBMS_SPM.LOAD_PLANS_FROM_SQLSET( sqlset_name => 'tset1'); END; / b; In diesem Beispiel ladet Oracle DB Pläne aus dem Cursor Cache zu der Anweisung bezeichnet durch 'sql_id'. DECLARE my_plans pls_integer; BEGIN my_plans := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE( sql_id => '99twu5t2dn5xd'); END; / 15 Pläne in dem Cursor Cache können identifiziert werden über SQL identifier (SQL_ID) SQL text (SQL_TEXT) Eine der folgenden Attribute: o o o PARSING_SCHEMA_NAME MODULE ACTION C.3; Entwicklung von SQL Plan Grundlinien Die PL/SQL Funktion DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE versucht neue Pläne zu entwickeln und fügt über den Optimizer existierende Pläne aus der History den Grundlinien hinzu. Wenn die Funktion verifiziert dass der neue Plan bessere Performance erbringt als der bisherige Plan aus den Grundlinien, so wird der neue Plan als akzeptierter Plan hinzugefügt.. Ein Beispiel zur Funktion DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE befindet sich im Anhang. Beispiel zum Anzeigen der Pläne in der „SQL Plan Grundlinie“ zu einer bestimmten Anweisung: select * from table( dbms_xplan.display_sql_plan_baseline( sql_handle=>'SYS_SQL_209d10fabbedc741', format=>'basic')); Die Wert für “SQL_HANDLE” und/oder “PLAN_NAME” stehen in der View “dba_sql_plan_baseline” siehe unten Die Funktion DISPLAY_SQL_PLAN_BASELINE zeigt eine oder mehrere Ausführungspläne an, und zwar zu der SQL Anweisung, spezifiziert durch „sql_handle”. Alternativ kann auch ein einzelner Plan angezeigt werden, spezifiziert über „plan_name“ Beispiele hierzu im Anhang. Informationen zur SQL-Plan Grundlinie kann auch über die View “dba_sql_plan_baseline” erhalten werden: select sql_handle, plan_name, enabled, accepted, fixed from dba_sql_plan_baselines; SQL_HANDLE PLAN_NAME ENA ACC FIX -----------------------------------------------------------------------SYS_SQL_209d10fabbedc741 SYS_SQL_PLAN_bbedc741a57b5fc2 YES NO NO SYS_SQL_209d10fabbedc741 SYS_SQL_PLAN_bbedc741f554c408 YES YES NO 16 d; Der SQL-Access Advisor Der SQL Access Advisor wurde in der Version 11g weiterentwickelt und schließt jetzt den Ratschlag zur Partitionierung mit ein. Dies ist ein Bestandteil der Empfehlungen zur Strukturierung des SQL Zugangs. Der neue und verbesserte „SQL Access Advisor“ gibt nun umfassenden Rat, wie das Schema-Design für die beßte Performance bei vorhandener SystemLast ausgestaltet werden sollte. Der „SQL Access Advisor“ nimmt als Input aktuelle oder synthetische Arbeitsbelastungen und empfiehlt verbesserte Zugangsstrukturen zur Verbesserung der Performance. Die empfohlenen Zugangsstrukturen schließen mit ein Empfehlungen zur Partitonierung für Tabellen und Indices, Materialized Views, aber auch Empfehlungen für neue oder zu droppende Indices (b-tree, bitmap, funktionale Indices) Materialized View Logs. In den Empfehlungen werden werden sowohl Queries als auch DML Anweisungen berücksichtigt. Die Empfehlungen zum Partitionieren erfolgen nur für Arbeitsbelastungen die einige Aussagen und Joins für den Typ NUMBER oder DATE haben. Die Empfehlungen werden also nur für obige Spalten-Typen erbracht und ist zusätzlich beschränkt auf eine einzelne partitionierte Spalte vom Typ INTERVAL,HASH oder RANGE. Der Partition Advisor identifiziert Kandidaten für das Partitioning und liefert Vorschläge zu den „Partition Key“ und „Bereichen“ für obige Art von Partitions. Ähnlich wie beim „SQL Tuning Advisor“ hat der „SQL Access Advisor“ die existierenden Regeln des Cost Based Optimizers (CBO) im Griff. Wegen der engen Integration zwischen „SQL Access Advisor“ und dem DB-Kernel, erfolgen die optimalen Empfehlungen für Zugangsstrukturen basierend auf den Regeln des CBO mit denen der Kernel ausgeliefert wird. Der SQL-Access Advisor kann auch Empfehlungen aussprechen zu einer Lösung aus Index, Materialzed View und Partitioning. Die Faktoren zur Emfehlung schließen auch die Speicherung (hinsichtlich Erstellung- und Wartungskosten) mit ein. Außerdem ob Arbeitsbelastungen voll oder teilweise gelten und wie hoch der Nutzen ist für die Queries in der Arbeitsbelstung. Während des Prozesses für das Laden großer Arbeitsbelastungen kann der SQL Access Advisor vorzeitig unterbrochen werden. Dieser bietet dann Informationen zu dem Set von soweit erfolgten SQL-Anweisungen. Die Ergebnisse des SQL Access Advisors werden in Reihenfolge je nach der höchsten Verbesserung bei den Kosten gelistet. Der DBA hat die Möglichkeit den Verbesserungsvorschlag sofort ausführen zu lassen. Andererseits kann er sich ein Skript mit dem Set an auszuführenden SQL-Anweisungen generieren lassen. 17 e; Automatic Shared Memory Management (ASSM) Betreff die Versionen vor 11g wird hier auf das Paper “DBWR und Puffer Management” ab Seite 15 verwiesen. In der Version 11g wurde die Verwaltung des Management weiter verbessert. Das gesamte Memory, PGA und SGA wird nun zentral verwaltet. Dabei wird die Verwaltung vom „Automatic Memory Management (AMM)“ unterstützt. Es wird hier auf das Skript „Database Writer“ und „Puffer Management“ , Seite 18 verwiesen. Der DBA muß nur einen einzigen Parameter „MEMORY_TARGET“ spezifizieren und Oracle richtet in Abhängigkeit von der Arbeitsbelastung die Größen zur PGA und SGA ein. Über indirekten Memory Transfer, überträgt in Abhängigkeit von der Belastung die DB Memory von der SGA zur PGA und umgekehrt. Der indirekte Transfer benutzt Mechanismen des Betriebssystems, um Shared Memory und zugewiesenes Memory für andere Komponenten freizusetzen, indem er Memory aus der PGA für die SGA verwendet. Die dynamische Zuweisung des Memory wird in häufigen Intervallen angepasst mit dem Ziel des maximalen Gebrauch des Memory und zur Vermeidung von Lücken im Memory. Bei Verwendung des „Automatic Memory Management“ kann der Anwender kann jedoch auch Werte für die SGA und PGA eintragen. Dies sichert ab, dass die Größen für die SGA und PGA im „Auto Tuning Modus“ niemals unterschritten werden. Diese Eigenschaft funktioniert nur auf folgenden Systemen: Linux, Solaris, HP-UX, AIX und Windows Platformen. Der Memory Advisor wurde in 10g neu eingeführt. Er bietet graphische Analysen des gesamten Memory hinsichtlich der Zielwerte für das Memory, für die Zielwerte von SGA und PGA, oder die Größe der SGA Komponenten. Der DBA kann diese Analaysen weiterverwenden, um die Performance der DB zu tunen. Zum Beispiel, wenn der „Automatic Memory Advisor“ eingeschaltet ist, erhält der DBA den Vorschlag, welchen Zielwert er für das Memory der gesamten DB verwenden soll. Der DBA kann sich auch Empfehlungen hinsichtlich der Zielwerte für die SGA und PGA Instanz geben lassen. Der DBA kann sich auch Empfehlungen für die Große der Shared Pool, den Puffer Cache und die Instanz der PGA geben lassen. 18 f; Grundlinien zum AWR (Automatic Workload Repository ) und adaptiven Schwellenwerten Der WAR wurde neu in 10g eingeführt. Die Oracle DB sammelt Performance-Statistiken im Bereich des DB-Memory um dem DBA für die Problemlösung von Performance Problemen ein Werkzeug in die Hand zu geben. Der WAR speichert die Daten in der neuen SYSAUX-Tablespace und ist auf der SYSAUX der bedeutendste Anwender. g; Infrastruktur zur Fehler Diagnostik Ist neu in 11g. Mit ihr lassen sich Probleme verhindern, entdecken, diagnostizieren und lösen. Die Probleme, die im besonderen angegangen werden, sind kritische Fehler zur Gesundheit der DB. Wenn ein kritischer Fehler sich ereignet erhält dieser eine Fall-Nummer . Zusätzlich werden die Diagnose Daten zu dem Fehler erfasst und mit dieser Nummer versehen. Die Daten werden dann in das „Automatic Diagnostic Repository (ADR)“ gespeichert, von wo diese dann anhand der Fall-Nummer wiedergewonnen und analysiert werden können. Die Infrastruktur in 11g ergibt folgene Vorteile: - - - Über „Health Checks“ wird vorwärts schauen auf kleine Probleme Aufmerksam gemacht bevor diese zu einem katastrophalen System-Ausfall führen. Es erfolgt Schadensbegrenzung bei der Unterbrechung nachdem ein Problem entdeckt worden ist. Hierbei werden das „Data Recovery“ und der „SQL-Repair Advisor“ verwendet. Die Zeit für die Diagnose werden durch ADR und dem Builder für Test Cases (Test Case Builder) veringert Vereinfachung der Zusammenarbeit des Oracle Support mit „Incident Packing Service (IPS)“ - siehe unten- und dem Oracle „Configuration Support Manager“. Eine Beschreibung hierzu Anhang. Die Infrastruktur besteht aus folgenden Komponenten: 1; 2; 3; 4; 5; 6; Health Checks Data Recovery Advisor SQL Repair Advisor SQL Test Case Builder Automatic Diagnostic Repository (ADR) Incident Packaging Service (IPS) 19 1; Health Checks Der Umriss für den “Health Checker” ist neu in 11g. Ziel des Checkers ist die in die Zukunft gerichtete Vorwegnahme der System-Gesundheit. Wenn der Checker einen kritischen Fehler entdeckt, so kann er eine oder mehrere Health Checks ausführen, um so eine tiefere Analyse des Fehlers zu generieren. Die Ergebnisse des Checks werden in einem Bericht niedergelegt in der Form als Text oder als HTML. Der Bericht kann den zu diesem Fehler gesammelten Daten hinzugefügt werden. Getrennte „Health Checks“ schauen nach Korruption der Daten, Korruption von Undo und Redo, Korruption des Data Dictionary usw. Der DBA kann die Health Checks manuell anstoßen oder automatisch auf regelmäßiger Basis durchführen lassen. 2; Data Recovery Advisor Der „Data Recovery Advisor“ wird angewendet für die Reparatur korrupter Datenblöcke , corrupter Blöcke von Uundo usw. Der „Data Recovery Advisor“ ist zusammen mit der „Workbench Facility“ - siehe unten – in den OEM integriert. Zusammen mit RMAN zeigt er Probleme zur Daten-Korruption an, berechnet deren Ausdehnung und Bedeutung und empfiehlt verschiedene Reparatur-Möglichkeiten. 3; SQL Repair Advisor Hilft den DBA um Probleme in SQL zu beheben. Wenn in dem System ein kritischer Fehler auftritt so vermag der „SQL Repair Advisor“ das Problem sowohl zu analysieren als auch in den meißten Fällen kann er einen Patch für die Reparatur der Anweisung empfehlen. Bei Anwendung des Patches zu SQL, wird der Fehler in SQL dadurch umgangen, dass der Optimizer für die zukünftigen Ausführungen einen alternativen Ausführungsplan erstellt. 4; SQL Test Case Builder Für viele Anwendungs-Probleme ist die Erstellung reproduzierbarer Testfälle ein bedeutsmer Zeit-Faktor, wenn es darum geht Probleme zu lösen. Der „SQL Test Case Builder“ ermöglicht für den Anwender, dass dieser automatisch alle notwendigen Informationen erhält um den Problemfall zu reproduzieren. Probleme können z.B. sein im SQL-Text, PL/SQL, DDL, Information zur Umgebung bei der Ausführung usw. Diese gesammelten Informationen können an den Oracle Support übergeben werden. 5; Automatic Repository (ADR) Das ADR ist ein auf Dateien basiertes Repository zur DB-Diagnostik. So z.B. Tracing, Dumps, die Alert Log, Berichte des Gesundheit Monitors u.s.w. Er hat eine gleichförmige Struktur des Directory sowohl über mehrere Instanzen der Oracle DB. Und es ersetzt die Init.Ora Parameter: USER_DUMP_DEST, BACKGROUND_DUMP_DEST, CORE_DUMP_DEST. Der ADR verwaltet sich selbst und sein Inhalt wird auf der Grundlage der vordefinierten Parameter zum Erhalt (Retain) gelöscht. Der ADR enthält auch Metadaten zu allen kritischen Fehlern in der DB. So vermag der Anwender gegen ADR Queries zu starten, um zu erfahren wie viele kritische Probleme in dem System aufgetreten sind. Sei es die letzten Tage, die letzten Monate oder sogar die letzten Jahre. Die Daten im ADR können über den OEM 20 angesehen werden. Möglich ist hierfür auch die Verwendung von ADRCL, ein KommandoInterpreter auf der Konsole. 6; Incident Packing Service (IPS) Der IPS ist ein Service, der den Prozeß zum Sammeln aller Diagnose Daten zu einem oder mehreren Problemen automatisiert. Der Anwender braucht nun nicht mehr in verschiedenen Orten des Directory herumzusuchen. Alle relevanten Trace-Dateien und Diagnose Dateien zur Problem Diagnose bei Oracle Support werden automatisch gesammelt. Bei Aufruf von IPS werden alle Diagnose Daten (Traces,Dumps, Berichte aus Health Checks, Testfälle zu SQL u.s.w.) die sich auf einen Fehler beziehen automatisch in eine ZIP-Datei gepackt und an den Oracle Support versandt. h; Support Workbench Der Support Workbench ist eine Einrichtung im OEM, die mit der neuen in 11g vorhandenen „Fault Diagnostic Struktur“ zusammenarbeitet. Mittels einer grafischen Oberfläche lassen sich Probleme aufspüren, Berichte erstellen und wo angemessen auch diese Probleme lösen. Die Support Workbench stellt eine Art Selbstbedienung dar um die Diagnose Daten mit Hilfe von IPS zu verpacken, eine Support Request Nummer zu erhalten und das IPS-Package an den Oracle Support zu senden. Und dies ohne viel Aufwand in sehr kurzer Zeit. Hinzuweisen ist, dass alle automatisierten Interaktionen mit dem Oracle Support, wie z.B. die Erstellung der Support-Nummer oder der Upload des IPS-Package den „Oracle Configuration Manager „ erfordern. Dieser muß am Ort der DB aktiviert sein. Der „Oracle Configuration Support Manager“ ist in den „Oracle Premier Support“ integriert. Er ermöglicht vorausschauenden Support. Er bietet einen einfacheren Weg an, um Oracle Konfigurationen aufzuspüren, zu verwalten und zu unterstützen. Das Risiko der „SystemDowntime“ wird somit reduziert. Der Arbeitsablauf des „Support Workflow“ ist folgender: - Erstelle automatisiert einen Vorfall in der DB wenn ein Fehler zum ersten Male auftritt Benachrichtige den DBA über den Fehler, erstelle Health Checks in den Bereichen wo der Fehler vorgekommen ist Wenn dies eine bekannte Schwierigkeit ist, dann empfehle und verwende den Patch um das Problem zu lösen. Ansonsten, packe die Vorfälle und die relevanten Informationen ein, schicke sie an Oracle und lasse „Repair Advisors“ zum Recover des Fehlers laufen. 21 III Neue Parameter in Init.Ora (11g) In 11g sind neue Parameter hinzugekommen: - DB_LOST_WRITE_PROTECT DB_SECUREFILE DB_ULTRA_SAFE DDL_LOCK_TIMEOUT DIAGNOSTIC_DEST ENABLE_DDL_LOGGING a; DB_LOST_WRITE_PROTECT Wird bedeutsam, wenn Oracle einen Datenblock zur Platte verschieben will. Es kann passieren, dass das File-System meldet „Write erfolgreich“. Tatsächlich stimmt dies jedoch nicht. Der Schreibvorgang wird niemals abgeschlossen. Das Ganze wird zum Problem, wenn Oracle den nächsten Block liest: Wenn Oracle denkt, der Block sei neu und enthielte die ordnungsgemäß gesicherten Daten, so hält sich Oracle hinsichtlich seiner Inhalte für aktuell. Wenn diese Inhalte noch irgendwelche weiteren Updates bewirken sollen, so kommt es zur Korruption. Der Parameter kann die Werte annehmen: TYPICAL, FULL oder NONE. NONE ist Default TYPICAL bedeutet, die DB schützt Lese/Schreibvorgänge auf den Tablespaces. FULL bedeutet Schutz nur für READ-ONLY und WRITE-ONLY Tablespaces. „PROTECTION“ bedeutet in diesem Zusammenhang für den Log-Puffer, die Tatsache, dass ein Block gelesen worden ist und ebenfalls die SCN des Blocks. Wenn daraufhin ein Recovery durchgeführt wird, so lässt sich die SCN des Blocks (in der Redo niedergelegt) wie sie sein sollte mit der realen SCN des erhaltenen Blockes vergleichen. Falls sich ergibt, dass der Block älter ist als er sein sollte, so ergibt sich ein verlorener Schreibvorgang. Oracle warnt mit Error: ORA-00752. Für den verlorenen Schreibvorgang gibt es keinen Patch. Denkbar wäre allenfalls ein Restore der DB und anschließendes Recovery. Da der Log-Puffer mit Details zu jedem gelesenen Block überflutet wird, kommt es zu Performance Einbußen von 10-20%. Sinnvoll ist diese Eigenschaft für Umgebungen, wo Datenverlust oder Korruption nicht hingenommen werden können. b; DB_SECURFILE Große Objekte (BLOBs und CLOBs) können nunmehr verschlüsselt und in der DB komprimiert werden, wenn diese in einer von ASSM verwalteten Tablespace gespeichert werden. LOBs, die komprimiert und verschlüsselt werden, sind „SecureFiles“ genannt. Der Parameter DB_SECUREFILE kontrolliert, ob die LOBs als „SecureFiles“ automatisch angelegt werden. LOBs , die nicht als „SecureFiles“ gelten, werden „BasicFiles“ genannt. Der Parameter kann die Werte annehmen: NEVER, PERMITTED, ALWAYS und IGNORE. Default ist PERMITTED. NEVER bedeutet, dass man niemals LOBs als SecureFile anlegen kann.; PERMITTED bedeutet, dass 22 man LOBS als SecureFile anlegen kann, aber die bei deren Erstellung muß man diesen Sachverhalt angeben. ALWAYS bedeutet, dass alle LOBs automatisch als SecureFiles angelegt werden. IGNORE bedeutet, dass man niemals LOBs als SecureFile anlegen kann. Bei einem Versuch meldet das System bei NEVER einen Error. Bei IGNORE erfolgt keine Fehlermeldung. Beispiele für das Anlegen eine LOB als SecureFile: SQL> create table t( 2 col1 blob, 3 col2 varchar2(10)) 4 lob(col1) store as securefile; create table t( * ERROR at line 1: ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "SYSTEM” In einer Umgebung mit Tablespaces, verwaltet durch ASSM: SQL> 2 3 4 5 create table t( col1 blob, col2 varchar2(10)) tablespace users lob (col1) store as securefile (compress); Table created. SQL> select * from t; no rows selected In 11g ist nun das SELECT für Blobs ohne Beifügungen möglich. c; DB_ULTRA_SAFE Dieser Parameter ist ein Zugeständnis von Oracle zur Datenprotektion Zuvor gab es die Parameter DB_BLOCK_CHECKSUM und DB_BLOCK_CHECKING. Diese Parameter unterstützen zusammen mit DB_LOST_WRITE_PROTECT den Detect korrupter oder sonst anderweitig unentschlossener (iffy) Datenblöcke. Anstatt obiger drei Parameter lässt sich nunmehr DB_ULTRASAFE verwenden. Werte des Parameters sind: OFF, DATA_ONLY oder DATA_AND_INDEX. Default ist OFF. Das Setzen des Wertes DATA_ONLY steht für „DB_BLOCK_CHECKHING“ auf MEDIUM, DB_BLOCK_CHECKSUM auf FULL und DB_LOST_WRITE_PROTECT auf TYPICAL. Das Setzen des Wertes DATA_AND_INDEX bedeudet ungefähr das Gleiche, mit der Ausnahme, dass DB_BLOCK_CHECKING anstatt auf MEDIUM nunmehr auf FULL gesetzt wird. 23 d; DDL_LOCK_TIMEOUT Mögliche Werte in Sekunden sind 0 bis 1.000.000 Gibt die Zeitspanne an, bis zu der gewartet werden soll, um sich die notwendigen Table Locks zu holen. In Versionen vor 11g war es nicht möglich, die Zeitspanne anzugeben. Füher explodierte eine DDL-Anweisung , wenn sie die benötigten Locks nicht bekam. Das alte Verhalten wird in Version 11g fortgeführt, wenn der Parameter keinen anderen Wert als Default = 0 erhält. Beispiel in 10g: In session 1: SYS@orcl> create table t(col1 char(4)); Table created. SYS@orcl> insert into t(col1) values ('AAAA'); 1 row created. Zu beachten ist, daß am Ende des Insert kein “COMMIT” erfolgt, sodaß der Lock auf die Tabelle weiterhin gehalten wird. In session 2: SYS@orcl> drop table t; drop table t * ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified Neu in 11g SQL> create table t(col1 char(4)); Table created. SQL> insert into t(col1) values ('AAAA'); 1 row created. ...und in der zweiten Session: SQL> drop table t; drop table t * ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired Anstatt, daß die DROP-Anweisung explodiert, kann der Anwender nun eingeben: alter session set ddl_lock_timeout=50; und die DROP-Anweisung hängt nun 50 Sekunden lang. 24 Dies erhöht die Chance, daß in der ersten Session ein COMMIT erfolgt. Anstatt gleich zu explodieren, kann dann die zweite Session gegebenenfalls fortgeführt werden. e; DIAGNOSTIC_DEST Vor 11g gab es den Parameter BACKGROUND_DUMP_DEST als Hinweis auf den Ort für die Trace Files und die Alert Log; den Parameter USER_DUMP_DEST für Trace Files des Anwenders, den Parameter CORE_DUMP_DEST usw. In 11g genügt es diesen neuen Parameter für einen beliebigen Pfad zu setzen. Daraufhin werden die Trace Files, die Alert Logs und andere Dateien für die Diagnostik unter diesem gesetzten Pfad angelegt. USER_DUMP_DEST und der Rest existieren weiterhin. Sie werden jedoch leise ignoriert. Default ist $ORACLE_BASE oder ganz einfach: /oracle z.B. SQL> show parameter user_dump NAME TYPE --------------------------- ----------- ------------------------------ user_dump_dest string VALUE /oracle/diag/rdbms/orcl/orcl/trace Dieses Verhalten kann überschrieben werden mit: SQL> alter system set user_dump_dest='/home/oracle'; System altered. SQL> show parameter user_dump NAME TYPE VALUE ------------------------------------ ----------- -----------------------------user_dump_dest string /home/oracle Somit wurde USER_DUMP_DEST zu einem vom Anwender spezifizierten Wert gezwungen. Der neue Wert ist akzeptiert und sichtbar. Am folgenden Beispiel soll gezeigt werden, wie die Verhältnisse komplizierter sind: SQL> alter database backup controlfile to trace; Database altered. Der Request, einen Backup von der Control File als Tracefile zu erstellen, würde in Versionen vor 11g bewirken, dass diese Datei in das Directory für USER_DUMP_DEST – hier /home/oracle – geschrieben wird. Dies hat sich in 11g geändert ! SQL> ! [oracle@plutonium ~]$ ls database [oracle@plutonium ~]$ pwd /home/oracle Wenn nun der DBA in /home/oracle sucht, so gibt es dort keine Text-Datei von Oracle. Aber wenn man nun in das Verzeichnis /oracle/diag/rdbms/orcl/orcl wechselt, so liegt dort die 25 Trace-Datei, beeinflusst durch den Wert für DIAGNOSTIC_DEST als /oracle/… [oracle@plutonium ~]$ cd /oracle/diag/rdbms/orcl/orcl/trace [oracle@plutonium trace]$ ls alert_orcl.log orcl_ora_3470.trc orcl_ora_3470.trm Das Besondere an Obigem ist, dass die Einrichtungen für die Diagnostik nun in ein Repository auf Datei-Basis eingepackt worden sind, wie durch den neuen Parameter vorgeben. Das Repository nennt sich nun Automatic Diagnostic Repository (ADR). Darüber hinaus wurde die gesamte Management Infrastruktur in Stand gesetzt um dieses Repository zu verwalten. z.B. es gibt eine automatische (aber konfigurierbare) Erhaltungs-Politik. Alte Trace Files werden von MMON automatisch gelöscht; MMON sollte niemals ausgeschaltet werden ! Mittels ADRCI auf der Konsole, lässt sich das gesamte Repository anschauen und die Erhaltungspolitik neu einstellen. Zum Nachsehen der Schlüsselpositionen gibt es nun neu den View: V$DIAG_INFO f; ENABLE_DDL_LOGGING DDL-Anweisungen (Create Table / Drop Table ….) werden nun in der Alert-Log mit Zeit angezeigt, wenn der Parameter den Wert TRUE erhält. Default ist: FALSE. Eine Schwachstelle ist, dass der Anwender des DDL-Kommandos nicht angezeigt wird. Anwenden kann man diese Information für das Recovery (UNTIL TIME). 26 IV; Neuerungen in 11g a; Oracle Total Recall "Total Recall" ist eine Option von 11g und ist kostenpflichtig. "Total Recall" basiert auf der FLASHBACK-Eigenschaft. Es ermöglicht den Anwender selektierte Daten aus einer früheren Zeit abzufragen. Somit ist es nun möglich die Daten mit einer ZeitDimension zu versehen. Angewendet wird dies um Änderungen der Daten zu verfolgen, zu ILM (siehe unten) und für Auditing mit Regel-Übereinstimmung . Das Oracle Flashback Daten-Archiv ermöglicht nun automatischen und sehr wirksamen Zugang zu früheren Datenversionen. Der DBA kann Policies zur Daten-Löschung erstellen. Gemäß den Policies werden die Daten gelöscht, wenn das System gewisse Schwellenwerte in der Alterung erreicht. Sinnvoll ist Total Recall vor allem beim Auditing. Der Hauptunterschied zwischen einem FLASHBACK und dem Total Recall ist der, dass die Daten mit Total Recall in einem archivierten Tablespace gespeichert werden. Sie erreichen ihr Alter gemäß der Retention Time, festgelegt vom Anwender. Beispiel: Erstellen eines Flashback-Archivs: CREATE FLASHBACK ARCHIVE DEFAULT fla1 TABLESPACE flasharc QUOTA 20G RETENTION 1 YEAR; Tabellen in den Archiv-Modus zu Flashback setzen: ALTER TABLE hr.employees FLASHBACK ARCHIVE fla1; Beispiel (mit Daten): UPDATE hr.employees SET salary = 6000 where employee_id = 200; Daten aus dem Archiv holen: SELECT salary FROM hr.employees AS OF TIMESTAMP ('2007-07-13 02:19:00', 'YYY-MM-DD WHERE employee_id =200; HH24:MI:SS') 27 b; Informationslebenszyklus-Management (ILM) Mit ILM lassen sich Daten effektiver verwalten. Der ILM Assistent von Oracle ist kostenlos. Aber auch EMC bietet dieses Produkt an. Zusammen mit Partitionierungsfunktionen ermöglicht dieses Tool die rechtzeitige Migration oder Löschung der Daten. Die Entwicklung von ILM wurde von EMC erweitert. Es dient u.a. der Verwaltung von Mails,PDFDateien und EXCEL-Dateien. Selten genutzte Dateien oder ungenutzte Dateien werden auf langsamere und billigere Speicher-Systeme ausgelagert. Häufig benutzte Inhalte hingegen werden auf teure Speichermedien (SAN-Maschinen) hinterlegt. Beispiel: Der ILM-Assisten in 11g: 28 c; ADVANCED COMPRESSION Advanced Compression ist neu in 11g und ist kostenpflichtig Hilft beim Verwalten der Daten. Es komprimiert jeden Datentyp, inklusive unstrukturierte Daten, wie z,B. Dokumente, Bilder und Multimedia. Ebenso komprimiert es den Verkehr im Netz sowie die Daten die gerade in einem Backup gesichert werden. Mit „Advanced Compression“ sollen Kompressionsraten von 2x bis 3x und mehr erzielt werden können. Eigenshaften sind: - OLTP Kompression: ermöglicht die Kompression von strukturierten Daten bei DML Operationen. - Absicherung replizierter Daten: entdeckt und entfernt doppelte Datei-Kopien gespeicherter Daten - komprimiert auch unstrukturierte Daten - komprimiert RMAN Backups und DATApump Export - komprimiert bei DATA-GUARD die über das Netzwerk gesendeten Redo-Logs 29 d; ACTIVE DATA GUARD Ist neu in Version 11g Mit Active Data Guard können Anwender die Leistung ihres Produktivsystems erhöhen, indem sie rechenintensive Aufgaben wie Abfragen oder Backups an ihre synchronisierten StandbyDatenbanken auslagern. Das erhöht den ROI des Standby-Systems deutlich, da es sowohl für die Disaster Recovery eingesetzt wird, und darüber hinaus aber auch zur Leistungssteigerung des Produktivsystems beiträgt. Im traditionellen Data Guard (10g) funktionierte es typischerweise so, dass die Standby im ständigen „Redo Aply“ Modus arbeitete. Damit wurde sichergestellt dass ein Failover innerhalb von Sekunden eingeleitet werden konnte, wenn die DB auf der Produktions-Seite ausgefallen war. „Redo Aply“ musste gestoppt werden um den Lesezugriff auf die 10g DB zu ermöglichen. Schließlich hatte man eine Kopie der Produktions-DB mit alten Daten, die Zeit für den Abschluß des Failover benötigte. 1; Oracle Active Data Guard ermöglicht den Read-Only Zugriff auf eine Standby Datenbank für Abfragen, Sortiervorgänge, Reporting, Web basierten Zugang usw. Dabei wird die Standby permanent aus den Redo-Logs der Produktions-Datenbank aktualisiert. Das bedeudet, dass für jede Operation, die einen aktuellen Lesezugriff benötigt, die Operation auf die Standby übertragen werden kann. Support für das Verfolgen der geänderten Blocks in RMAN Wenn das Archivieren auf die Standby ausgelagert wird, ermöglicht „Active Data Guard“ schnelle inkrementielle Backups. Inkrementielle Backups in der gleichen Größenordnung sind jetzt schneller, als wie in früheren Versionen die physischen Standby DBs. 2; Snapshot Stanby: Mit Active Data Guard kann die Standby auch als Snapshot-Standby eingesetzt werden. Eine Snapshot Standby DB ist offen für für Lesen und Schreiben. Idealerweise kann diese Funktion für Test-Umgebungen genutzt werden. Die Transaktionen werden unabhängig von der Primär-DB ausgeführt. Gleichzeitig erhält sie den Schutz für die ProduktionsDB, indem sie fortgesetzt Daten aus der Produktions-DB erhält. Letztere werden dann erst einmal für den späteren Gebrauch archiviert. Mit einer einzigen Anweisung können im Lese-Schreib-Modus auf der Standby die Änderungen verworfen werden. Damit wird dann die Standby mit der Produktions-DB wieder synchronisiert. 30 Beispiel zu Snapshot Standby: (Einrichten einer Testumgebung unter Verwendung einer Snapshot Standby) 31 e; Hot Patching Ist neu in 11g Bei Installation des „Logischen Standby“ können sowohl DB-Migrationen als auch „Patching“ online auf der Produktions-DB durchgeführt werden. - Patching basierend auf Eigenschaften Die Patches werden nach ihren entsprechenden Eigenschaften unterteilt. Im OEM ist es nunmehr möglicht beim Patching-Service für eine Eigenschaft zu unterschreiben. Somit sucht OEM automatisch nach den Patches für diese Eigenschaft 32 f; Fast Files Ist neu in 11g. Oracle Fast Files sorgt für die Speicherung grosser Objekte (>40 TB) wie Bilder oder immens großer Textobjekte, bezw. weiterentwickelter Datentypen (einschl. XML), medizinischer Bilder sowie 3-D Objekte in der Datenbank. Das Konzept zu LOB wurde neu gestaltet. Laut Hersteller bietet Fast Files eine Leistungsfähigkeit für Datenbankapplikationen, die komplett vergleichbar seien mit der von File-System. g; RAC Neuerungen in 11g speziell zu RAC. - Parallel Upgrade Oracle bietet den „Rolling Upgrade“ auch für RAC an. DieProduktionsDB muß nicht mehr heruntergefahren werden - Load Balancing Advisor ist nur für Clients möglich, die .NET, ODBC oder OCI verwenden - ADDM siehe ebendort - Interval Partitioning Beispiel: Erstellen von monatlichen Partitionen: create table selling_stuff_daily ( prod_id number not null, cust_id number not null , sale_dt date not null, qty_sold number(3) not null , unit_sale_pr number(10,2) not null , total_sale_pr number(10,2) not null , total_disc number(10,2) not null) partition by range (sale_dt) interval (numtoyminterval(1,'MONTH')) ( partition p_before_1_jan_2007 values less than (to_date('01-01-2007','dd-mm-yyyy'))); - ADR siehe extra Manual “ADRCI" - “Grid Provisioning” ermöglicht es, einen RAC-Knoten zu löschen und neu zu erstellen. In 11g läuft dies ohne umständlichen Installation ab. - Hot Patching (siehe oben) - Data Guard –Standby Snapshot (siehe oben) Die neue Funktion ermöglicht es einen Snapshot für das das rückwärts gerichtete Testen zu isolieren. Man kann nun den Snapshot nehmen und die QA DB abfragen. Dabei kann man sichergehen, dass man reale Produktions-Daten benutzt. - Schnelle Fehler-Auflösung Automatische Erstellung von Diagnose Daten (Dumps). 33 V; Anhang 1; Schaubild zu Replay Bewertung der Änderung in der DB hinsichtlich der SQL-Performance 34 2; Anzeigen der Pläne in der SQL Plan Grundlinie Die PL/SQL Funktion DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE versucht neue Pläne zu entwickeln. Sie werden von dem Optimizer der History mit existierenden Planungs-Grundlinien hinzugefügt. Wenn die Funktion verifizieren kann, dass der neue Plan besser ist, als ein Plan der entsprechenden SQL – Grundlinie, so wird dieser Plan angenommen. Die Funktion DISPLAY_SQL_PLAN_BASELINE zeigt einen Ausführungsplan an, und zwar zu der SQL Anweisung, spezifiziert durch sql_handle: 'SYS_SQL_593bc74fca8e6738' Man kann auch den Namen des Planes oder die Namen der Pläne angeben. Man kann auch sql_handle weglassen. Dann werden alle Pläne gezeigt. SET SERVEROUTPUT ON SET LONG 10000 DECLARE report clob; BEGIN report := DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE( sql_handle => 'SYS_SQL_593bc74fca8e6738'); DBMS_OUTPUT.PUT_LINE(report); END; / Output: ------------------------------------------------------------------------------------ REPORT Evolve SQL Plan Baseline Report Inputs: ------SQL_HANDLE PLAN_NAME TIME_LIMIT VERIFY COMMIT = = = = = SYS_SQL_593bc74fca8e6738 DBMS_SPM.AUTO_LIMIT YES YES Plan: SYS_SQL_PLAN_ca8e6738a57b5fc2 ----------------------------------Plan was verified: Time used .07 seconds. Passed performance criterion: Compound improvement ratio >= 7.32. Plan was changed to an accepted plan. Basel.Plan ---------Execution Status:COMPLETE Rows Processed: 40 Elapsed Time(ms):23 CPU Time(ms): 23 Buffer Gets: 450 Disk Reads: 0 Test Plan --------COMPLETE 40 8 8 61 0 Improv. Ratio ------------- 2.88 2.88 7.38 35 Direct Writes: Fetches: Executions: 0 0 1 0 0 1 ---------------------------------------------------------Report Summary ---------------------------------------------------------------Number of SQL plan baselines verified: 1. Number of SQL plan baselines evolved: 1. Alternativ kann auch ein einzelner Plan angezeigt werden, spezifiziert über „plan_name“: 36 3; Beispiel für das Verwenden von SQL Plan Grundlinien“ mit dem SQL Tuning Advisor: select * from table( dbms_xplan.display_sql_plan_baseline( sql_handle=>'SYS_SQL_209d10fabbedc741', format=>'basic')); Es werden Pläne angezeigt in der Grundlinie zum SQL-Plan. In diesem Beispiel zeigt die Funktion display_sql_plan_baseline die Ausführungspläne zur SQL Anweisung, spezifiziert durch das Handle 'SYS_SQL_209d10fabbedc741'. SQL handle: SYS_SQL_209d10fabbedc741 SQL text: select cust_last_name, amount_sold from customers c, sales s where c.cust_id=s.cust_id and cust_year_of_birth=:yob ----------------------------------------------------------------------------------------------------------------------------------------------------Plan name: SYS_SQL_PLAN_bbedc741a57b5fc2 Enabled: YES Fixed: NO Accepted: NO Origin: AUTO-CAPTURE --------------------------------------------------------------------------------Plan hash value: 2776326082 --------------------------------------------------------------------------------| Id | Operation | Name | --------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | 1 | HASH JOIN | | | 2 | TABLE ACCESS BY INDEX ROWID | CUSTOMERS | | 3 | BITMAP CONVERSION TO ROWIDS | | | 4 | BITMAP INDEX SINGLE VALUE | CUSTOMERS_YOB_BIX | | 5 | PARTITION RANGE ALL | | | 6 | TABLE ACCESS FULL | SALES | ----------------------------------------------------------------------------------------------------------------------------------------------------------------Plan name: SYS_SQL_PLAN_bbedc741f554c408 Enabled: YES Fixed: NO Accepted: YES Origin: MANUAL-LOAD --------------------------------------------------------------------------------Plan hash value: 4115973128 37 ------| Id | Operation | Name | --------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | 1 | NESTED LOOPS | | | 2 | NESTED LOOPS | | | 3 | TABLE ACCESS BY INDEX ROWID | CUSTOMERS | | 4 | BITMAP CONVERSION TO ROWIDS | | | 5 | BITMAP INDEX SINGLE VALUE | CUSTOMERS_YOB_BIX | | 6 | PARTITION RANGE | | | 7 | BITMAP CONVERSION TO ROWIDS | | | 8 | BITMAP INDEX SINGLE VALUE | SALES_CUST_BIX | | 9 | TABLE ACCESS BY LOCAL INDEX ROWID | SALES | 38 4; Beschreibung des CONFIGURATION SUPPORT MANAGER Anomalien diagnostizieren, bevor sie kritisch werden und zugleich die System-Leistung und -Verfügbarkeit steigern; Probleme schneller lösen und zugleich IT-Risiken und -Kosten senken. Das können Sie mit dem Configuration Support Manager, einer proaktiven und automatisierten Support-Leistung, die im Umfang des Oracle Premier Support enthalten ist. Damit können Sie Ihre Oracle Konfiguration einfacher überwachen, verwalten und warten und zugleich das Ausfallrisiko reduzieren. Der Configuration Support Manager bedeutet für Sie, dass Sie Ihre Oracle Lösung schneller und einfacher unterstützen und warten können. Konkret: Versprechen Sie sich einfach mehr – mit dem Configuration Support Manager, exklusiv von Oracle. Die fortschrittliche Art des Supports für Ihre Oracle Konfiguration Probleme in der IT dürfen den Geschäftsablauf nicht bzw. kaum beeinflussen. Hierbei hilft der Configuration Support Manager als Bestandteil Ihres Oracle Premier Support-Jahresvertrags. Der Configuration Support Manager ist das vereinfachte Oracle Support-System, um – basierend auf Ihrem Oracle Technologie-Stack – Informationen über Ihre Konfiguration zentral zu bündeln. Hierfür greifen Oracle Support-Analysten über eine sichere Verbindung auf Ihre Konfigurationsdaten zu und gewährleisten dadurch eine schnellere Diagnose bzw. Lösung – und Sie können Probleme vermeiden, ehe sie überhaupt entstehen. Allgemeine und sicherheitsrelevante Meldungen, die ausschließlich Ihre IT-Umgebung betreffen, informieren Sie über mögliche Ereignisse innerhalb des Systems. Proaktive Empfehlungen auf der Basis von System-Überprüfungen (HealthChecks) optimieren die Leistungsfähigkeit Ihres Oracle Systems. Dank dieser Benachrichtigungen haben Sie Ihre Oracle Umgebung besser im Griff und Sie vermeiden durch proaktive Empfehlungen und RisikoAssessments die Eskalation bekannter Gefahren, bevor diese kritisch werden können. Der umfassende, permanente Informationsaustausch zwischen Oracle und Ihren Unternehmenssystemen automatisiert arbeitsaufwändige Aufgaben, minimiert IT-Risiken und -Kosten und macht System-Änderungen einfacher. Darüber hinaus schützt Oracle die Sicherheit und Vertraulichkeit Ihrer Unternehmensdaten. Die Informationen, die die Oracle Support-Analysten erhalten, sind streng auf die Konfigurationsund Einstellungsdaten Ihres Systems begrenzt. Informationen über den laufenden Betrieb, Ihr Unternehmen, persönliche und Anwenderdaten werden nicht erfasst. Und wenn Sie wissen wollen, welche Daten an Oracle gesendet wurden, haben Sie jederzeit die Möglichkeit die Informationen, die von jedem Host hochgeladen werden und jede Konfiguration im Rahmen des Configuration Support Manager, einzusehen. Übrigens: Um die Daten zu schützen, nutzt Oracle SSL (Secure Socket Layer), HTTPS sowie 128-Bit-Verschlüsselung. Oracle hat seinen Kunden permanente Innovation im automatisierten Support versprochen. Der Configuration Support Manager hält dieses Versprechen – und Sie reduzieren dadurch Kosten-, Zeit- und Arbeitsaufwand, wenn es um die Wartung und Erweiterung Ihrer Oracle Lösungen geht. VORTEILE AUF EINEN BLICK Der Configuration Support Manager ist als Bestandteil des Oracle Premier Support-Jahresvertrags erhältlich. Mit dem Configuration Support Manager stellen Sie sicher, dass systemkritische Ereignisse Ihr Geschäft nicht beeinträchtigen können. Haupt-Vorteile: • Einfaches Konfigurationsmanagement • Schnellere Problemlösung • Proaktive Benachrichtigung bei Problemen • Optimierte Leistung Kunden-Fazit: • 30% weniger Zeitaufwand, um eine Serviceanfrage zu starten • 20% kürzere Reaktionszeit auf Serviceanfragen • 40% schnellere Problembehebung • 25% Problemvermeidung durch Meldungen und System-Überprüfungen (HealthChecks) 39 40