Freitag, 4. Dezember 2009

Automatisierte Oracle-10g-Patch-Prüfung

Einmal habe ich zu diesem Thema bereits kurz einen Blog erfasst - in diesem konnte man mit einem brconnect Befehlt prüfen welche Patches man installiert hat - doch mit diesem SAP Hinweis kann man seinen aktuell installierten Patchstand mit dem aktuellsten Patchstand vom SAP Markteplace quer prüfen und die neuesten Patches installieren!

Link zur Patchcheck Tool

https://service.sap.com/~sapidb/012003146900000618932009E/sap_patchcheck.htm

Symptom

Sie möchten die installierten Oracle-10g-Patches mit den erforderlichen Patches für SAP vergleichen.
Weitere Begriffe

Patch-Überprüfung, Oracle
Ursache und Voraussetzungen

Sie verwenden Oracle 10g.
Sie haben eine Liste der installierten Patches und die Ausgabe eines der folgenden Befehle:

o opatch lsinventory

o RSORAPATCHINFO

o brconnect -u / -c -F lsinv

Lösung

Diesem SAP-Hinweis ist eine HTML-Seite mit einem JavaScript-Programm beigefügt, das eine automatische Prüfung durchführt.

Das Programm wird synchron zu den Patch-Hinweisen gepflegt.
Aktuell

* SAP-Hinweis 871735 Version 45

* SAP-Hinweis 871096 Version 189 (10.2.0.2)

* SAP-Hinweis 1137346 Version 78 (10.2.0.4 und Windows-Mini-Patches)


Gehen Sie folgendermaßen vor, um die Prüfung durchzuführen:

o Öffnen Sie die beigefügte HTML-Seite in einem Browser, der JavaScript unterstützt (getestet wurde dies bisher in Firefox 3.0, 3.5, Safari 4.0 und Internet Explorer 7, sollte aber problemlos in allen neueren Browsern funktionieren).

o Geben Sie an, ob Sie eine kurze Ausgabe (lediglich fehlende und veraltete Patches) oder eine lange (alle zugehörigen Patches und SAP-Hinweise) benötigen.

o Wählen Sie das Datenbank-Betriebssystem aus.

o Fügen Sie die Liste der abgerufenen Patches mit einem der erwähnten Befehle in das Textfeld ein.

o Wählen Sie die Drucktaste zum Prüfen ("Check").



Daraufhin wird ein neues Fenster mit Informationen zur Prüfung geöffnet.

Freitag, 27. November 2009

Wie ändert man das Kennwort vom SDM (Software Deployment Manager)

Es kann sein das man im SDM mal das Kennwort ändern muss!

dazu geht man in das Verzeichnis /usr/sap///SDM/program

und ruft folgende Befehle auf:

StopServer.sh

sdm.sh jstartup "mode=standalone"

sdm.sh changepassword "newpassword=xxx"

sdm.sh jstartup "mode=integrated"

StartServer.sh


Kennwort wurde in diesem Fall auf xxx geändert...

Mittwoch, 25. November 2009

Tipps & Tricks zur Fehlersuche bei Workflow-Problemen

[1] Bearbeiterzuordnung/Bearbeiterermittlung
[2] Hängender Workflow
[3] Performance in SAP Business Workplace (SBWP)
[4] Ereignisse
[5] Transport von Workflow-Mustern
[6] Extended Notifications
[7] Transaktionen zur Fehlersuche
------------------------------------------------------------------------------------
[1] Bearbeiterzuordnung/Bearbeiterermittlung

Workitems werden nicht dem richtigen Benutzer oder allen Benutzern im System zugewiesen. Sie müssen den Fehler beheben. Ermitteln Sie das Workflow-Muster und den Schritt, bei denen das Problem auftritt, und prüfen Sie Folgendes:
Mögliche Bearbeiter

Bestimmen Sie die dem Schritt im Workflow-Muster über den Workflow-Editor zugewiesene Aufgabe und klicken Sie auf die Drucktaste 'Bearbeiterzuordnung'. Das Bildschirmbild 'Bearbeiterzuordnung &' für die Aufgabe wird angezeigt. (Alternativ können Sie die Aufgabe über Transaktion PFTS anzeigen oder auf die Aufgabenkennung im Schritt doppelklicken. Nutzen Sie hierzu den Menüpfad Weitere Daten => Bearbeiterzuordnung => Pflegen oder Anzeigen.)

Wenn der Aufgabe keine möglichen Bearbeiter zugeordnet sind oder die Aufgabe nicht den Status 'Allgemein' (verfügbar für alle Benutzer) hat, ist dies höchstwahrscheinlich die Ursache für das Problem bei der Bearbeiterzuordnung. Sie müssen der Aufgabe Benutzer/Planstellen/Organisationseinheiten usw. zuweisen, um sie als 'Allgemein' einstufen zu können.
Zuständige Bearbeiter

Zuständige Bearbeiter werden im Workflow-Schritt im Abschnitt 'Bearbeiter' zugewiesen. Normalerweise sehen Sie Planstellen, Ausdrücke oder Regeln zum Bestimmen der zuständigen Bearbeiter. Sie müssen prüfen, ob Bearbeiter zur Laufzeit zurückgegeben werden. Wenn die mögliche Bearbeiterzuordnung Ihrer Aufgabe in Ordnung ist, müssen Sie die zuständigen Bearbeiter prüfen. Gehen Sie zur Fehlersuche wie folgt vor:

o Regel Wenn Sie eine Regel verwenden, können Sie die Regelausführung über die Drucktaste 'Regelauflösung simulieren' in PFAC simulieren. Eine Regel empfängt zur Laufzeit Daten vom Workflow-Container. Prüfen Sie daher den Datenfluss in der Workflow-Definition darauf, welche Daten vom Workflow-Container an den Regel-Container übergeben werden sollen. Wählen Sie anschließend die Workitem-Instanz, bei der das Problem auftritt, und verwenden Sie die Daten aus dem Workflow-Container für Ihre Simulation. Geben Sie beim Verwenden der Simulationsoption in PFAC über F4 die Testcontainerdaten ein. Wenn nicht die erwarteten Bearbeiter zurückgegeben werden, müssen Sie die Regelimplementierung prüfen, z.B. ob Sie einen benutzerdefinierten Funktionsbaustein verwenden oder Zuständigkeiten gepflegt haben. Wenn die Rückgabe der Bearbeiter während der Simulation reibungslos funktioniert, zur Laufzeit jedoch Probleme auftreten, lesen Sie bitte SAP-Hinweis 755767.


SAP-Hinweis Beschreibung

755767 Besonderheit bei Berechtigungen im Workflow

o Ausdruck Wenn Sie zum Festlegen der zuständigen Bearbeiter einen Ausdruck verwenden, müssen Sie die Workitem-Instanz prüfen, in der das Problem aufgetreten ist, und nachschauen, welcher Wert im Ausdruck im Workflow-Container enthalten ist. Im Falle eines unerwarteten Werts müssen Sie bestimmen, wo im Workflow der Ausdruck gefüllt wird und untersuchen, warum der Wert falsch ist. Eine gute Möglichkeit zum Herausfinden, welche Schritte genau ein bestimmtes Container-Element verwenden, ist das Klicken mit der rechten Maustaste auf das Container-Element im Workflow-Builder und Auswählen der "Anzeigen Verwendungsnachweis"-Grafik. Auf diese Weise werden alle Schritte hervorgehoben, in denen das Container-Element/der Ausdruck verwendet wird.

Nützliche Transaktionen

* PFAC - Pflegen/Anzeigen der Standardregel

* PFTC - Pflegen/Anzeigen von Aufgaben

* SWDD - Workflow Builder

* PPOSW - Anzeigen der Aufbauorganisation




[2] Hängender Workflow


Dieser Bereich ist in vier Abschnitte eingeteilt.

o Workitem-Enqueue

o SM58/SWU2

o Kurzdump während Methodenausführung

o Transaktionen zum Neustart von fehlerhaften Workitems


Workitem-ENQUEUE

Wenn ein Workitem ausgeführt wird und das Workflow-Laufzeitsystem versucht, auf das Workitem zuzugreifen, funktioniert dies nicht, da für das Workitem zurzeit eine Sperre oder Enqueue gilt. Einige Beispiele:

Beispiel 1
Ein Benutzer führt eine asynchrone Aufgabe aus. Während der Ausführung des Workitems wird das beendende Ereignis im System ausgelöst und versucht, den Workitemstatus auf KOMPLETT zu setzen. Dies ist jedoch aufgrund der Sperre/Enqueue nicht möglich. In diesem Fall wird das Ereignis in der Ereignis-Queue gepuffert. Sobald das Workitem freigegeben wird, liefert es sofort das gepufferte Ereignis. Weitere Informationen finden Sie in SAP-Hinweis 749945.


Beispiel 2
Sie verwenden Parallelverarbeitung mit einem parallelen Abschnitt mit 2 Zweigen (1 Zweig ist zum Abschließen erforderlich). In einem Zweig befindet sich ein Dialogaktivitätsschritt und in dem anderen ein 'Warten auf Ereignis'-Schritt. Während der Dialogschritt von einem Benutzer durchgeführt wird, empfängt der 'Warten auf Ereignis'-Schritt sein Ereignis und fährt entlang des Zweigs fort und beendet den parallelen Abschnitt (zu Erinnerung: nur 1 Zweig ist zum Abschließen erforderlich). Wenn das Ende des parallelen Abschnitts erreicht ist, sollte das Dialog-Workitem auf den Status "Logisch gelöscht" gesetzt werden. Wegen der Sperre/Enqueue auf dem Workitem während der Ausführung durch den Benutzer geschieht dies jedoch nicht. Da ein Workflow zur weiteren Ausführung ein Callback benötigt, wird dieser Callback angehalten (in der Tabelle SWP_SUSPEN gespeichert). Diese Callbacks werden über den Report RSWWERRE erneut gestartet. Wenn Sie den Report RSWWERRE nicht eingeplant haben, verbleiben die Workitems in der Tabelle SWP_SUSPEN, empfangen kein Callback und werden daher nicht fortgeführt.


Fehlerbehebung

Wenn Workitems hängen, schauen Sie in der Tabelle SWP_SUSPEN nach, ob die entsprechende Workitem-Kennung dort vorhanden ist. Wenn ja, vergewissern Sie sich, dass der Job RSWWERRE ausgeführt wird, um das Workitem erneut auszuliefern. Wenn RSWWERRE ausgeführt wird und der Eintrag nicht ausgeliefert wird, suchen Sie mithilfe der Suchbegriffe "RSWWERRE" und "SWP_SUSPEN" nach entsprechenden SAP-Hinweisen. Wenn kein Eintrag in SWP_SUSPEN vorhanden ist, prüfen Sie in der Workflow-Definition, ob das Workitem asynchron ist, d.h. ob es ein beendendes Ereignis wie in Beispiel 1 oben benötigt. Prüfen Sie über Transaktion SWEQADM, ob das beendende Ereignis in der Ereignis-Queue gepuffert wird. Wenn ja, sollte es automatisch erneut ausgeliefert werden. Suchen Sie in den SAP-Hinweisen nach der Ereignis-Queue.

SM58 oder SWU2


Gelegentlich können Workitems bei Netzwerkproblemen, einem Systemabsturz und tRFC- und qRFC-Problemen im System hängen. Im technischen Workflow-Protokoll finden Sie Workitems mit dem Status "In Bearbeitung" oder "Komplett" die nicht mit dem nächsten Schritt fortgeführt werden. Suchen Sie in diesem Fall am besten in Transaktion SM58 nach Einträgen in Bezug auf die tRFC-Ausführung.

Wenn Sie herausfinden möchten, welches Workitem dem Eintrag in SM58 entspricht, doppelklicken Sie auf den Eintrag unter 'Transaktion-ID'. Hier erhalten Sie nützliche Informationen, z.B. die Standardaufgabe, das Business-Objekt, die Objektinstanz, das entsprechende Ereignis und die Workitem-Kennung. Diese Details sind nicht immer angegeben. Sie sollten jedoch ausreichend Informationen erhalten, um die Workitem-Kennung herauszufinden. Z.B. wenn die Aufgabenkennung angegeben ist, rufen Sie SWI1 auf, geben Sie die Aufgabenkennung und Datum und Uhrzeit des Eintrags ein und Sie sollten die Workitem-Kennung herausfinden können.

Nützliche Informationen

Die Einträge in SM58 können neu gestartet werden, wenn das Problem, wegen dem sie in der Liste vorhanden sind, behoben wurde. Wählen Sie den Eintrag aus der Liste aus und wechseln Sie zum Menü: BEARBEITEN => LUW ausführen, um einen Eintrag neu zu starten. Wenn Sie mehrere Einträge verarbeiten möchten, wechseln Sie zum Menü BEARBEITEN => LUWs ausführen oder planen Sie den Report RSARRCEX mit den richtigen Daten ein.

Kurzdump während Methodenausführung


Prüfen Sie in ST22, ob Kurzdumps in Bezug auf das hängende Workitem vorhanden sind. Wenn Sie in ST22 sowohl nach Datum und Uhrzeit der Workitem-Ausführung als auch nach dem ausführenden Benutzer oder WF-BATCH suchen, können Sie normalerweise exakt herausfinden, wo der Dump aufgetreten ist und ob es sich um benutzerdefinierten Code oder SAP-Standardcode handelt. Ein Kurzdump kann z.B. in benutzerdefiniertem Code aufgrund einer schlechten Ausnahmenbehandlung im Methodencode auftreten. In diesem Fall ist die beste Option, die Objektmethode über Transaktion SWO1 mit den Daten aus dem Workitem-Container zu testen, den Sie dem Workflow-Protokoll entnehmen können.

Wenn es sich bei der Objektmethode um SAP-Standardcode handelt, müssen Sie herausfinden, welcher Anwendungsbereich für die Objektmethode verantwortlich ist und in dieser Komponente eine Meldung erstellen.

Nützliche Informationen
Rufen Sie SWO1 auf, geben Sie das Business-Objekt ein und klicken Sie auf die Drucktaste "Anzeigen". Klicken Sie anschließend auf die Drucktaste "Grunddaten". Hier ist der mit dem Business-Objekt verbundene Programmname aufgelistet. Führen Sie den Report RSSTATUS also aus, um die Komponente, zu der das Objekt gehört, z.B. Objekt FORMABSENC, zu finden.

Programmname: SWUFORMA
Führen Sie den Report RSSTATUS aus: Komponente BC-BMT

Transaktionen zum Neustart von fehlerhaften Workitems

* SWPR - Workflow-Restart nach Fehler

* SWPC - Fortsetzen von Workflows nach Systemabsturz

* SWF_ADM_SUSPEND - Restart von angehaltenen Workflow-Callbacks

* SWF_ADM_SWWWIDH - Restart von angehaltenen Termin-Callbacks




[3] Performance in SAP Business Workplace (SBWP)

Die allgemeine Performance von SBWP kann durch eine Reihe von Faktoren gesteuert werden, die im Folgenden aufgelistet sind.

o Archivierung

o Tabellenzugriff und Performance

o Performance von SBWP (verfügbare BAdIs)

o RFC


Archivierung

Setzen Sie eine WORKITEM-Archivierungsstrategie ein, um die Kontrolle über die Größe Ihrer Workflow-Tabelle zu behalten. Sie verwenden die Transaktion SARA und das Archivierungsobjekt WORKITEM zum Archivieren von Workitems. Dadurch werden die betroffenen Tabellen aufgelistet. Weitere Informationen finden Sie im SAP-Hinweis 573656. Je geringer die Anzahl der Einträge in den Workflow-Laufzeittabellen, desto besser die Performance der Workflow Engine.
SAP-Hinweis Beschreibung
573656 Sammelhinweis zur Archivierung im Workflow
621258 Archivierung WORKITEM Vereinheitlichungen
Tabellenzugriff und Performance


Lesen und spielen Sie folgende SAP-Hinweise ein.
SAP-Hinweis Beschreibung
98407 Performance Workflow
799002 Fehlender CLIENT im Datenbank Index
72873 Performance des Workflow-Systems, Empfehlungen
72923 Performance des Business Workflow, Sammelhinweis
861380 SWW_CONTOB nach SWW_WI2OBJ Migration

Performance von SBWP (verfügbare BAdIs)

Wenn Sie Performance-Probleme in SBWP feststellen, finden Sie in SAP-Hinweis 764707 einige Ursachen hierfür. Die Hauptursache ist, dass Benutzer viel zu viele Workitems (mehrere Tausend) in ihren Eingängen haben. Für den Geschäftsablauf einiger Kunden ist es notwendig, alle Workitems im Eingang zu haben anstatt die genauere Bearbeiterzuordnung zu verwenden (Call-Center-Szenario). Daher wurden mehrere BAdIs bereitgestellt, um die Performance zu verbessern, z.B. indem die Anzahl der Workitems in den Benutzereingängen verringert wird.

o WF_BWP_SELECT_FILTER Mit diesem BAdI kann die Anzahl der angezeigten Workitems durch Filterung eingeschränkt werden. Es ist vor allem für Szenarien geeignet, in denen alle Benutzer am gleichen Vorrat von Workitems arbeiten (z.B. Callcenter). (siehe SAP-Hinweis 765783)

o WF_BWP_DYN_COLUMN Mit dem Ausblenden der dynamischen Spalten kann die Performance im Business Workplace verbessert werden. Ist dies nicht möglich, können Sie das BAdI WF_BWP_DYN_COLUMN implementieren, um die Werte der dynamischen Spalten direkt aus den Anwendungsdaten zu ermitteln. Das BAdI wird mit SAP-Hinweis 848382 zur Verfügung gestellt.

o WF_BWP_OBJ_ATTRIBUTE Mit diesem BAdI ist es möglich, die Defaultattribute des führenden Objekts (_WI_Object_ID) und des Gruppierungsmerkmals (_WI_Group_ID) zu setzen. Die Defaultattribute werden für die Gruppierung nach Inhalt, Gruppierung nach Ordnungsbegriff und zum Ausblenden der Spalten Gruppenobjekt und Workitem-Inhalt verwendet. Das BAdI wird mit SAP-Hinweis 848382 zur Verfügung gestellt.

SAP-Hinweis Beschreibung
76578 BADI für Business Workplace
764707 Performance im Business Workplace
848382 BAdIs zur Performance-Verbesserung im Business Workplace


RFC

Seien Sie bei der Implementierung der Vorschläge aus SAP-Hinweis 888279 vorsichtig. Wenn Sie das Ziel registrieren, müssen Sie Ihre RFC-Parameter richtig festgelegt haben, sodass keine Verzögerungen bei der Verarbeitung der Workitem-Ausführung durch einen Mangel an verfügbaren Dialog-Prozessen usw. auftreten.
SAP-Hinweis Beschreibung
888279 Reglementierung / Verteilung der Workflowlast
98407 Performance Workflow
[4] Ereignisse

Deaktivierung der Ereigniskopplung


Wenn die Ereigniskopplung deaktiviert wird, wird eine E-Mail an den SBWP des WF-Administrators geschickt, in der die Fehlerursache angegeben ist. Normalerweise ist die Ursache die Übergabe von falschen Daten vom Objektereignis an den Ereignisverbraucher/das Workflow-Muster. Prüfen Sie den Eingang (nicht den Workflow-Eingang) des WF-Administrators ungefähr zum Zeitpunkt der Deaktivierung. Dort sollten Sie die Antwort finden.

Haben Sie daran gedacht, die Ereignis-Queue (Transaktion SWEQADM) zu verwenden?
Mithilfe der Ereignis-Queue können Sie versuchen, die Last der ausgelösten Workflows auszugleichen. Die Ereignis-Queue speichert die Ergebnisse der Ereigniskopplung temporär in einer Datenbanktabelle, nachdem die Startbedingungen und die Prüffunktionen ausgewertet sind (falls Sie Startbedingungen verwenden).
Sie können die Ereignis-Queue jedoch auch verwenden, um fehlerhafte Ereignisse zu speichern und diese nach der Korrektur erneut auszuliefern.

Setzen Sie in SWE2 das Kennzeichen 'Ereignis-Queue ermöglichen' in der Ereigniskopplung.
Setzen Sie darüber hinaus 'Verhalten bei Fehlerrückmeldung' auf 'Kopplung als fehlerhaft markieren'.

Sie können die Grunddaten der Ereignis-Queue mit der Transaktion SWEQADM festlegen.
Fehlersuche bezüglich der Deaktivierung

Aktivieren Sie den Ereignis-Trace (Transaktion SWELS). Wenn die Kopplung erneut deaktiviert wird, prüfen Sie den Ereignis-Trace mit Transaktion SWEL. Er sollte einen Eintrag für alle erfolgreichen Einträge und auch einen Eintrag für den Eintrag enthalten, der die Kopplung deaktiviert hat. Wenn Sie darauf doppelklicken, sollten Sie Informationen über die Ursache der Deaktivierung erhalten. (Es wird nicht empfohlen, den Ereignis-Trace während der Produktion lange eingeschaltet zu lassen, da dies zu Performance-Problemen führen kann. Schalten Sie ihn aus, sobald die Kopplung deaktiviert ist.)

Welches Ereignis löst den Workflow aus? Handelt es sich dabei um ein SAP-Standardereignis oder ein kundenspezifisches Ereignis? Bei kundenspezifischen Ereignissen kann es gelegentlich vorkommen, dass nicht alle Informationen vom Ereignis an den Verbraucher/Workflow übergeben werden, und so zu einer Deaktivierung führen.

Zum Analysieren des Ereignis-Containers sollten Sie folgendermaßen vorgehen: Definieren Sie einen neuen Eintrag in SWE2:

Geben Sie das Ereignis ein, geben Sie für den Verbrauchertyp einen Benutzernamen (Ihren Benutzernamen) ein und für den Verbraucherfunktionsbaustein SWE_EVENT_MAIL. Sie erhalten dann für jedes Ereignis den Ereignis-Container per E-Mail und können sehen, ob Daten fehlen. Es ist möglich, dass ein obligatorisches Eingabeelement im Workflow nicht vom Ereingis übergeben wird.

Nützliche Transaktionen

* SWELS - Ein-/Ausschalten des Ereignis-Trace

* SWEL - Anzeigen des Ereignis-Trace

* SWU0 - Ereignissimulation

* SWUE - Erstellen eines Ereignisses

* SWEQADM - Ereignis-Queue

* SWETYP - Typkopplungen

* SWEINST - Instanzkopplungen




[5] Transport von Workflow-Mustern

Lesen Sie zunächst SAP-Hinweis 571302 und vergewissern Sie sich, dass Sie alle genannten SAP-Hinweise in Ihr System eingespielt haben.
SAP-Hinweis Beschreibung
571302 Sammelhinweis zur Archivierung im Workflow
Versionen und Aktivierung

In diesem Abschnitt wird erklärt, wie Versionen in Bezug auf den Transport von Workflow-Mustern funktionieren.

o Erstellen oder ändern Sie einen Workflow in Ihrem Entwicklungssystem und transportieren Sie ihn nach Test.

o Wenn der Workflow bereits in Test vorhanden ist und Instanzen davon ausgeführt werden, wird automatisch eine neue Version des Workflows in Test erstellt. Dies geschieht, damit die vorhandenen Instanzen die alte Version und neue, nach dem Transport erstellte Instanzen die neue Version verwenden können. Wenn der Workflow bereits vorhanden ist, jedoch keine Instanzen (in Test) vorhanden sind, wird er durch den Transport einfach überschrieben.


Es ist NICHT notwendig, Versionen zwischen den Systemen zu synchronisieren.

Fehlersuche in Bezug auf Versionen und Aktivierung

o Stimmen Datum und Uhrzeit von Quell- und Zielsystem überein?

o Wenn Sie neue Container-Elemente in Ihrem Workflow erstellt haben, vergewissern Sie sich, dass ihre Datenreferenzen ebenfalls im Testsystem vorhanden sind.

o Haben Sie neue Aufgaben erstellt und diese dem Workflow im Entwicklungssystem hinzugefügt? Falls ja, vergewissern Sie sich, dass Sie die Aufgabe ebenfalls in das Qualitätssicherungssystem transportiert haben.

o Haben Sie im Zielssystem unter Transaktion SWDM -> Sonstiges -> Transportierte Workflows nachgeschaut? Falls Probleme vorliegen, wird dies in rot angezeigt.

o

Nützliche Transaktionen

* SWDM - Business Workflow Explorer


[6] Extended Notifications und Delta Pull

Wenn bei SWN_SELSEN oder RSWNUWLSEL Performance-Probleme auftreten, beachten Sie die folgenden Anmerkungen:
SAP-Hinweis Beschreibung

1105696 WF Notif: Speicherverbrauch und Performance von SWN_SELSEN

* Die Auswahl der Notification/Workitems wird mithilfe des Anwendungslog protokolliert. Sie können den Log-Level über die Transaktion SWNCONFIG beeinflussen. Rufen Sie hierzu die Transaktion SWNCONFIG auf und navigieren Sie zu den Allgemeinen Einstellungen (General Settings). Dort finden Sie die Einstellung MAX_PROBCLASS. Wenn Sie z.B. den Log-Level 1 auswählen, werden nur äußerst wichtige Informationen protokolliert. Eine Änderung des Log-Levels kann sich auf die Performance positiv auswirken.

* Im Folgenden werden die Hauptaufgaben des Programms RSWNUWLSEL (im Modus FULL) aufgelistet:

o Auswahl aller offenen Dialog- und Deadline-Workitems im System. "Offen" bedeutet, diese besitzen den Status READY, SELECTED, STARTED und COMMITTED.

o Festlegung der Bearbeiter dieser Workitems.

o Notifications anlegen (Relation des Workitems zum Benutzer)

o Speichern der Notifications in der Tabelle SWN_NOTIF. Dies bedeutet das Einfügen neuer, das logische Löschen veralteter und das Aktualisieren bestehender Notifications.


Überprüfen Sie Folgendes:

o Sind offene Workitems vorhanden, die zu Aufgaben gehören, bei denen eventuell ein Problem bei der Bearbeiterzuordnung besteht, z.B. wenn einer oder mehreren Aufgaben eine Position zugeordnet wurde, diese aber nicht mehr besteht. Ist dies der Fall, versucht RSWNUWLSEL, die Bearbeiter für diese Workitems festzulegen, jedoch ohne Ergebnis und mit langsamer Performance. Um dies festzustellen, führen Sie die Transaktion SWI2_ADM1 aus und prüfen Sie, ob diese viele Workitems ohne Bearbeiter enthält. Ist dies der Fall, reorganisieren Sie die Workitems in Ihrem System. Überprüfen Sie ebenfalls, ob die Workitems noch relevant sind; falls nicht, können diese eventuell archiviert oder gelöscht werden. Weitere Informationen zum Löschen und Archivieren von Workitems finden Sie im SAP-Hinweis 573656.

o Des Weiteren gibt es das Programm RSWNNOTIFDEL. Dieses löscht solche Einträge aus der Tabelle SWN_NOTIF, die sich im Status "logisch gelöscht" befinden. Eine Notification erhält den Status "logisch gelöscht", wenn die entsprechenden Workitems abgeschlossen (verarbeitet) sind. Um also die Anzahl der Einträge in SWN_NOTIF so gering wie möglich zu halten, planen Sie RSWNNOTIFDEL regelmäßig ein. Es wird empfohlen, das Programm mit dem standardmäßigen Wert von 10 Tagen auszuführen. Wenn dies nicht ausreicht, können Sie den Wert zu einem späteren Zeitpunkt verändern.



[7] Transaktionen zur Fehlersuche

* SWUD - Workflow-Diagnose

* SWDM - Business Workflow Explorer

* SWUS - Testen des Workflows

* SWU8/SWF_TRC - Workflow-Trace ein/aus

* SWU9/SWF_TRC - Anzeigen des Workflow-Trace

* SWF_APPL_DISPLAY - Anzeigen des Application Log

* SWU0 - Ereignissimulation

* SWELS - Ereignis-Trace ein/aus

* SWEL - Anzeigen des Ereignis-Trace

* SWPR - Workflow-Restart nach Fehler

* SWPC - Fortsetzen von Workflows nach Systemabsturz

* SWI2_DIAG - Diagnose von Workflows mit Fehlern

* SWU2/SM58 - Workflow-RFC-Monitor

Donnerstag, 5. November 2009

Kurzdump LOAD_TYPEPOOL_VERSION_MISMATCH ab 7.00

Der Laufzeitfehler LOAD_TYPEPOOL_VERSION_MISMATCH tritt normalerweise dann auf, wenn sich während des Ablaufs der Transaktion die Typgruppe ändert;
in diesem Fall liegt kein Fehler vor:
die Transaktion muss abgebrochen werden, um einen inkonsistenten Programmablauf zu vermeiden. Nach einem Neustart der Transaktion tritt dieser Laufzeitfehler dann aber nicht mehr auf.

Doch nach dem Einspielen vom EHP04 hatten wir das Problem das bei einer Transaktion das Neustarten nichts gebracht hat und wir mussten wie im Hinweis 1298341
beschrieben die Programme neu generieren!

Dürft ein SAP Bug sein da die Ursache auch noch nicht bekannt ist...

Montag, 2. November 2009

SAP NetWeaver Application Server EHP02

Ein kurzer Ausblick auf das neue EHP 02 für den NW Applikationsserver gab es beim Jahreskongress der DSAG!

Titel der Präsentation

SAP NetWeaver Application Server Infrastructure
News for NW 7.0 Enhancement Package 2
DSAG 2009

Gehalten von Dr. Oliver Stiefbold (SAP)

Anbei die FOLIEN

Samstag, 31. Oktober 2009

Virtualisierung von SAP-Systemen

Neus buch zum Thema Virtualisierung von SAP-Systemen

* Grundlagen, Konzeption und Betrieb
* Technologien und Lösungen im Vergleich
* Detaillierte Darstellung des Einsatzes von VMware vSphere, Microsoft Hyper-V, SLES mit Xen und Sun Solaris-Zonen


Endlich Durchblick beim Betrieb von virtuellen SAP-Systemen! Dieser Leitfaden klärt nicht nur die Frage, was Virtualisierung bedeutet, sondern hilft Ihnen bei der Entscheidung für eine bestimmte Lösung und wie Sie sie betreiben – von der Einrichtung und Verwaltung virtueller Serverwelten bis zum eventuellen Ausstieg.

Sie werden aus Sicht eines unabhängigen Beobachters lernen, welches Produkt (VMware vSphere, Microsoft Hyper-V, SLES mit Xen, Sun Solaris-Zonen) sich für Ihren Einsatzzweck am besten eignet. Dabei lernen Sie neben technischen Aspekten auch die organisatorische Seite der Einführung und des Betriebs von Virtualisierungslösungen in einem Rechenzentrum kennen – und können so fundierte Entscheidungen zur optimalen Gestaltung der Systemarchitektur bzw. für eine verbesserte Arbeit der IT-Abteilung treffen. Wenn Sie mit dem Gedanken der Virtualisierung Ihrer SAP-Systeme spielen, werden Sie dieses Buch nicht mehr missen wollen: Als Ideengeber, Projektbegleiter und Nachschlagewerk.

Freitag, 30. Oktober 2009

Custom Development Management Cockpit

Mit dem EHP01 vom Solution Manager liefert die SAP das

Custom Development Management Cockpit oder kurz CDMC aus.

Man startet das Tool mit der Transaktion CNV_CDMC!

Mit diesem Tool kann man zwei verschiedene Funktionen durchführen -
einmal eine Upgrade/Change Impact Analyse und einmal eine Clearing Anlasyse!

In diesem Fall möchte ich auf die Upgrade/Change Impact Analyse eingehen da wir
gerade ein Upgrade auf EHP 04 machen.

Für was ist so eine Upgrade/Change Impact Analyse überhaupt?
Mit diesee Analyse werden alle Z* Programme untersucht ob diese SAP Standard Funktions Bausteine / Reports indirekt aufrufen und ob sich diese durch das Upgrade
geändert haben.

Die erste Analyse wird in diesem System gestartet welches bereits upgegradet worden ist (die SAP nennt das Analysesystem) - dann wird eine zweite Analyse in dem System
gestartet welchen noch nicht upgegradet worden ist (die SAP nennt das System Referenzsystem).

Als nächstes werden dann alle von den Z* Programmen verwendeten SAP Objekte verglichen ob sich mit dem Upgrade die Version und somit eine Funktion geändert hat.

Z.B. ob ein Importparameter bei einem Funktionbaustein dazugekommen ist den man bei seinem Z Programm noch nicht inkludiert hat!

Somit kann man im vorhinein schon fesstelllen ob es auch im Bereich der Kundenentwicklung zu Anpassungen kommt.

anbei ein paar Screenshots:

Einstieg







SAP Doku

Freitag, 23. Oktober 2009

Einstiegsbild von SAP Easy Access

Ich denke jeder Administrator hat einmal in seinem Leben die Anforderung bekommen
das Firmen Logo nach dem Einstieg in das SAP System einzublenden.

Dafür gibt es die Tabelle SSM_CUST - hier kann man den Parameter START_IMAGE pflegen - als VALUE gibt man das Bild an welches man zuvor mit der Transaktion SMW0 geladen hat.

Doch seit kurzem kann man auch Internet bzw. Intranet Seiten via HTML Viewer einbinden:

Siehe Hinweis 1387086 - HTML Viewer Control auf Einstiegsbild von SAP Easy Access

oder kurz zusammengefasst:

Wenn man noch nicht den Supportpackage Stand hat dann einfach den HW mit SNOTE einpsielen -

Tabelle SSM_CUST mit folgenden Parameter füllen:

SESS_URL = URL

Montag, 19. Oktober 2009

Systemkopie - Tabellen sichern und wieder importieren

Achtung - das ist nur eine Möglichkeit sich einige Nacharbeiten nach einer Systemkopie zu ersparen - das wird von der SAP nicht unterstützt und muss bei jedem neuen Release geprüft werden ob die Tabellen noch aktuell sind!

Zuerst muss man ein Steuerfile für den Export erstellen:

export
file = '/tmp/export_SID.exp'
# RFC Tabellen

delete from RFCTRUST
select * from RFCTRUST
delete from RFCSYSACL
select * from RFCSYSACL
delete from RFCDOC
select * from RFCDOC
delete from RFCDESSECU
select * from RFCDESSECU
delete from RFCDES
select * from RFCDES
delete from RFCCHECK
select * from RFCCHECK
delete from RFCATTRIB
select * from RFCATTRIB

# Secstore sichern

delete from RSECACHK
select * from RSECACHK
delete from RSECACTB
select * from RSECACTB
delete from RSECTAB
select * from RSECTAB

# CRM Tabellen

delete from crmrfcpar
select * from crmrfcpar
delete from crmprls
select * from crmprls
delete from tblsysdest
select * from tblsysdest

# DBCON Verbindungen

delete from dbcon
select * from dbcon

# SMLG / RZ12 Lastverteilgun

delete from RZLLITAB
select * from RZLLITAB

# Tabelle instvers

delete from instvers
select * from instvers

# Profile RZ10 sichern

delete from TPFET
select * from TPFET
delete from TPFHT
select * from TPFHT
delete from TPFID
select * from TPFID



Die delete Anweisungen gelten nur beim Import.
Beim Export haben diese keine Wirkung, müssen aber mitangegeben werden!


Der Export wird wie folgt gestartet:

R3trans -w Protokolldatei Steuerfile

Das Import Steuerfile muss wie folgt aussehen:
import
file = '/tmp/export_SID.exp'

Der Import wird mit dem selben Aufruf gestartet:

R3trans -w Protokolldatei Steuerfile

Mittwoch, 26. August 2009

Vertretung im Workplace SBWP nachträglich pflegen

In der Tabelle HRUS_D2 werden die Vertretungen für User gespeichert - leider gibt es dazu keinen Pflegeview und somit kann ein Administrator hier nur beauskunften ob ein User der im Urlaub ist auch seine Vertretung aktiv hinterlegt hat!

Mit diesem einfachen Report kann man den Vertreter als Administrator hinterlegen - in manchen Fällen ist das sehr sehr hilfreich (besonders bei Krankeit eines Users usw.)

*&---------------------------------------------------------------------*
*& Report Z_ACTIVATE_SUBSTITUTE
*&
*&---------------------------------------------------------------------*
*&
*& Workflow Verterter aktiveren
*&---------------------------------------------------------------------*

REPORT Z_ACTIVATE_SUBSTITUTE.

PARAMETERS:

P_usern1 TYPE usr02-bname obligatory,
P_vertr Type usr02-bname obligatory,
P_begdt type BEGDA obligatory default sy-datum,
P_enddt TYPE ENDDA OBLIGATORY,
P_prof TYPE T77RP-REPPR DEFAULT 'ALL' OBLIGATORY,
p_active like hrus_d2-active.

PARAMETERS:

p_insert radiobutton group g1,
p_delete radiobutton group g1.

constants: c_true value 'X',
c_false value space.

data: gs_hrus_d2 like hrus_d2,
gflg_error.

START-OF-SELECTION.

perform check_data changing gflg_error.

if gflg_error = c_false.
clear gs_hrus_d2.
gs_hrus_d2-us_name = p_usern1.
gs_hrus_d2-rep_name = p_vertr.
gs_hrus_d2-begda = P_begdt.
gs_hrus_d2-endda = P_enddt.
gs_hrus_d2-active = p_active.
gs_hrus_d2-REPPR = p_prof.

case c_true.
when p_insert.
insert into hrus_d2 values gs_hrus_d2.
if sy-subrc = 0.
write: 'Vertreter erfolgreich angelegt.'(S01).
else.
write: 'Fehler bei insert!'(E01).
endif.
when p_delete.
delete from hrus_d2 where us_name = p_usern1
and rep_name = p_vertr.
if sy-subrc = 0.
write:/ 'Vertretung erfolgreich gelöscht.'(S02).
else.
write:/ 'Fehler beim löschen der Vertretung!'(E02).
endif.

endcase.
endif.

FORM check_data changing oflg_error.
data: ld_uname like sy-uname,
ld_datdiff type i.
clear oflg_error.
format color col_negative.
if p_enddt < p_begdt.
write:/ 'Enddatum muss größer Beginndatum sein'.
oflg_error = c_true.
endif.

select single bname from usr02 into ld_uname
where bname = p_usern1.
if sy-subrc ne 0.
write:/ 'Benutzer', p_usern1, 'nicht vorhanden'.
oflg_error = c_true.
endif.

select single bname from usr02 into ld_Uname
where bname = p_vertr.
if sy-subrc ne 0.
write:/ 'Benutzer', p_vertr, 'nicht vorhanden'.
oflg_error = c_true.
endif.

format color col_normal.
ENDFORM.
"WRITE: P_usern2, 'wurde als Vertretung für', P_usern1, 'von', P_begdt, 'bis', P_enddt, 'aktiviert'. ULINE.
"WRITE: 'Profil:', P_prof.
"ULINE.

Dienstag, 11. August 2009

saplikey ersetzt saplicense ab 7.00

Zum Basis Release 7.00 wurden digital signierte Lizenzschlüssel eingeführt und das Programm
saplicense steht nur noch zur Kontrolle und Installation der SAP Lizenschlüssel in eingeschränkter Funktionalität zur Verfügung.

z.B. kommt bei der Intsallation eines Lizenzkey's über ein File folgende Meldung:

"The license looks like it contains a digitally signed license.
Those files cannot be installed with the SAPlicense program.
Please logon to the SAP system to install the file. In case the
license is for an ABAP system please got to the transaction SLICENSE
and press the button "New licenses" before pressing the "Install" button."

Nur ist es nach einer Systemkopie recht schwer sich im System anzumelden und die Transkation saplicense zu starten :-) - wenn die Meldung kommt das Ihre Lizenz abgelaufen ist!

Also muss man den Key doch noch über das Betriebssystem einspielen - und das geht seit dem 7.00 Patch Kernel 210 mit dem Programm saplikey.

folgender Syntax für die Installation eines Key's mit einem File:

saplikey pf=/sapmnt/SID/profile/SID_DVEBMGS04_hostname -install SID_multiple.txt

Das File SID_multiple.txt bekommen Sie von der SAP via Mail wenn Sie einen neuen Schlüssel beantragen.

pf=/sapmnt/SID/profile/SID_DVEBMGS04_hostname ist das Instanzprofil

Siehe auch Hinweis 1227762

Donnerstag, 6. August 2009

SAP Webdispatcher Access Log aktivieren


Es kann im Wepdispatcher sehr hilfreich sein wenn man sieht wer sich auf den Dispatcher verbunden hat - bzw. welche Seiten abgerufen worden sind.

Dazu gibt es im Menü HTTP Handler den Unterpunkt
Access Log.

Das Logging ist standardmäßig nicht aktiv und müss über
einen Parameter aktiviert werden.

Der Parameter sieht wie folgt aus:

icm/HTTP/logging_0 = PREFIX=/ , LOGFILE=/usr/sap/SID/D00/access_log , MAXSIZEKB=1000

wobei man mit dem PREFIX die URL einschränken kann was man monitoren möchte.

Mit dem Wert LOGFILE legt man fest wo und mit welchen Dateinamen das File geschrieben wird und mit MAXSIZEKB legt die grösse vom File fest.

Man kann den Filenamen auch dynamisch erstellen z.B.

access_log-%d-%m-%y - dann wird beim starten vom Webdispatcher ein File mit dem Namen
access_log-06-08-2009 angelegt.

Folgende Variablen gibt es:

%d Day of the month (1-31)
%m Month (1-12)
%y Year, in the format YYYY
%h Hour (0-23)
%t Minute (0-59)
%s Second (0-59)

Doku der SAP -

und das ist dann das Ergebnis vom Logging:

Montag, 3. August 2009

Einzelne Tabellen auf Ihre Platzauslastung prüfen

Wenn Sie wissen möchten wieviel Platz in einer Tabelle wirklich verwendet wir dann können Sie diese SQL Statement verwenden:

SELECT
TO_CHAR(SPACE_ALLOCATED / 1024 / 1024,
999990.99) GROSS_MB,
TO_CHAR(SPACE_USED / 1024 / 1024, 999990.99) NET_MB,
TO_CHAR((SPACE_ALLOCATED - SPACE_USED) / 1024 / 1024,
999990.99) UNUSED_MB,
CHAIN_PCENT CHAIN_PERCENT
FROM
TABLE(DBMS_SPACE.OBJECT_SPACE_USAGE_TBF('SAPER3',
'MARA', 'TABLE', NULL ))

Als Beispiel wird hier die Tabelle MARA im Schema SAPER3 überprüft - das sind auch die einzigen beiden Werte die sie gemäß ihrer Datenbank anpassen müssen!

Das Ergebnis sieht dann wie folgt aus (Bespiel MARA):

GROSS_MB NET_MB UNUSED_MB
279.00 263.28 15.72


GROSS MB = die tatsächliche Grösse der Tabelle MB
NET_MB = der Inhalt der Tabelle im MB
UNUSED_MB = der nicht verwendete Platz in der Tabelle in MB

SAP ECC System auf SAP ERP System im Solution Manager umsetzen

Sie möchten im ECC System ein Enhancement Packages einspielen - dafür müssen Sie im MOPZ
eine Wartung anlegen und statt SupportPackageStack eine EHP Installation auswählen.

Und genau das geht nur wenn Sie in der SMSY das System auch wirklich als ERP System
definiert haben - sonst wird die Auswahl im MOPZ für die EHP Einspielung nie sichtbar werden.

Nachdem vor Jahren die SAP auf die wunderbare Idee kam und dem R/3 System den Namen ECC verpasste wurde dieser Name auch bereits im Solution Manager ausgeliefert. Nun hat man damals brav nach dem Upgrade auf 6.00 den System im Solman den Namen ECC zugeteilt - dann kam dass SAP Marketing und hatte wiederrum die Superidee aus dem ECC wieder ein ERP zumachen und
nun hat der Kunde wirklich ein Problem! Es ist nicht so einfach diese Zuordnung zuändern
und somit hat die SAP begonnen einen Migrationsreport zu schreiben - im Moment gibt es nur
einen händische Anleitung der SAP:

HW 1322259

MOPZ, EHP, Enhancement Package, SAP ECC, SAP ERP, Maintenance Optimizer, SAP Solution Manager

Freitag, 31. Juli 2009

Löschen von Daten im Transportverzeichnis /usr/sap/trans

Man möchte das Transportverzeichnis in geordneter Weise von alten Dateien bereinigen.

Auszug aus den Hinweis 41732:

Funktionalität:


Als Löschkriterium werden zwei Informationen verwendet:

    1. Wird die Datei noch für zukünftige Transporte benötigt?

Eine Datei wird noch für zukünftige Transporte benötigt, wenn der zugehörige Transportauftrag für den Import in ein SAP-System vorgemerkt aber noch nicht erfolgreich importiert wurde.

    2. Ist die Lebensdauer der Datei überschritten?

Die Lebensdauer der verschiedenen Dateien im Transportverzeichnis sind parametrisierbar (siehe Abschnitt: Parametrisierung).

Parametrisierung:
Das Mindestalter von Dateien im Transportverzeichnis, die gelöscht werden dürfen, ist im Transportprofil einstellbar. Das Transportprofil ist die Datei 'TPPARAM' im Unterverzeichnis 'bin' des Transportverzeichnisses. Folgende Parameter koennen gesetzt werden (Einheit in Tagen!):

datalifetime ist die mininale Lebensdauer der files in data
loglifetime ist die mininale Lebensdauer der files in log
olddatalifetime ist die mininale Lebensdauer der files in olddata
cofilelifetime ist die minimale Lebensdauer der files in cofiles

Beispiel:
datalifetime=30
loglifetime=60
olddatalifetime=60
cofilelifetime=30

Diese Paramter dürfen dabei nicht systemspezifisch angegeben werden, denn bei den im folgenden angegebenen tp-Aufrufen kann ebenfalls kein SAP-System angegeben werden. Statt dessen wird immer mit dem Parameter 'ALL' aufgerufen.

Gestartet wird der Reorg dann wir folgt:

zuerst den Check:

tp check all pf=

und dann das löschen bzw. verschieben der alten Files:

tp clearold all pf=

Mittwoch, 29. Juli 2009

Abbrechen von BRARCHIVE, BRBACKUP und BRRESTORE Läufen

Mit der Patch Version:

Erweitert in BR*Tools 6.40 Patch 47.
Erweitert in BR*Tools 7.00 Patch 31.
Erweitert in BR*Tools 7.10 Patch 7.

wird nun die Funktion ausgeliefert das man ein Backup bzw. Archivlogsicherung sauber terminieren kann. Somit sollte auch verhindert werden das Tablespaces im Backup-Modus stehen bleiben. Bis jetzt war nur ein Control-c bzw. ein Kill des Prozesses möglich.

folgende Varianten gibt es:

brarchive -g|-abort stop|term|kill
brbackup -g|-abort stop|term|kill
brrestore -g|-abort stop|term|kil

stop - sanfter Abbruch
term - normaler Abbruch
kill - harter Abbruch

Siehe auch HW 1129197

Dienstag, 28. Juli 2009

Buch: Ordnungsmässigkeit und Prüfung des SAP-Systems (OPSAP)

Ich möchte das Buch von Thomas Tiede empfehlen - ist sicher ein muss für jeden Auditor und Administrator der sich mit dem Thema SAP Sicherheit befasst.

Im Moment ist das Buch vergriffen - aber ich habe gelesen das es eine neue Auflage geben wird.

ISBN-13: 978-3-930291-24-3

Montag, 27. Juli 2009

Populäre Irrtümer im Oracle-Umfeld

Es gibt von der SAP den HW 825653 zum Thema Populäre Irrtümer im Oracle-Umfeld!

Dieser ist wirklich sehr Interessant und kann einige Fragen im Oracle Umfeld klären - hier ein paar Bespiele aus dem HW:

    1. Der Oracle Cost Based Optimizer wählt immer den Zugriff mit den niedrigsten errechneten Kosten.

Dies ist nicht allgemein richtig, da auch der Cost Based Optimizer in bestimmten Situationen regelbasierte Entscheidungen trifft. So kann es sein, dass ein Zugriff mit hundertmal besseren Kosten nicht verwendet wird, weil die erste Indexspalte nicht mit "=" in der WHERE-Bedingung angegeben ist und der Zugriff dadurch als "Guess" bewertet wird. Beachten Sie dazu auch die Informationen aus Hinweis 176754.

    2. Indizes sollten so aufgebaut werden, so dass die selektiven Felder ganz vorne stehen.

Es ist aus Performancegesichtspunkten egal, ob selektive oder unselektive Felder (wie MANDT) am Anfang eines Indexes stehen. Viel wichtiger ist, dass Felder, die in WHERE-Bedingungen nicht mit "=" angegeben werden und einen großen Wertebereich abdecken, möglichst weit hinten im Index zu finden sind. Außerdem muss vermieden werden, dass es Lücken im Index gibt, die nicht in der WHERE-Bedingung angegeben sind. Beachten Sie auch Hinweis 766349.

    3. Indizes, die nur Spalten mit wenigen Ausprägungen indizieren, sind überflüssig.

Die Anzahl der Distinct Values einer Spalte kann in vielen Fällen nicht mit der Selektivität bestimmer Bedingungen auf dieser Spalte gleichgesetzt werden. Es kommt oft vor, dass Bedingungen für Spalten mit wenigen Ausprägungen sehr selektiv sind. Daher tragen auch Indizes auf Spalten mit wenigen Distinct Values oft zu einer großen Performancesteigerung bei. Ein detailliertes Beispiel zu Selektivität vs. Distinct Values ist in Hinweis 766349 zu finden.

    4. Histogramme unterstützen den CBO im R/3-Umfeld bei der Auswahl des optimalen Zugriffspfades, weil Sie Informationen über die Werteverteilung von Spalten enthalten.

Histogramme können im R/3-Umfeld nicht sinnvoll ausgewertet werden, weil SAP beim Parsen Bind-Variablen verwendet und Bind Value Peeking standardmäßig deaktiviert ist. Beachten Sie dazu auch Hinweis 797629.

    5. Um zu ermitteln, wie viel Memory durch Oracle allokiert wird, muss man nur die Größe der SGA bestimmen.

Die SGA ist zwar ein wichtiger Memory-Bereich, aber auch die PGA und das Prozess-Memory können signifikante Größen erreichen. Im Einzelfall kann der durch die PGA allokierte Memory-Bereich sogar größer als die SGA werden. Daher sind auch PGA und Prozess-Memory in die Kalkulation des Oracle-Speicherverbrauchs mit einzubeziehen. Für weitere Informationen beachten Sie Hinweis 789011.

usw..... weiter geht es im HW 825653

Der Oracle Alertlog in einem SAP Umfeld

- Wo finde ich das Oracle-Alertlog?

Du findest das Alertlog im R/3-Umfeld im Verzeichnis:

UNIX: $SAPDATA_HOME/saptrace/background

Der Dateiname ist alert_. log, alrt.log oder ähnlich.

- Wieso werden manche Oracle-Fehler nicht im Alertlog protokolliert?

Oracle protokolliert nur "kritische" Fehler im Alertlog. Die Mehrheit der Oracle-Fehlercodes (darunter leider auch wirklich kritische) wird nicht geloggt. Es ist daher normal, dass Du in der Oracle-Anwendung Fehler finden, die im Alertlog nicht zu sehen sind.

- Wie kann ich vermeiden, dass das Alertlog sehr groß wird?

Hinweis 786032 beschreibt, wie die Größe des Alertlogs in Grenzen gehalten werden kann, indem das File regelmäßig umbenannt wird.

Oracle bugfixes - welche sind bereits installiert?

Sie haben ein Problem mit der Datenbank und finden im Marketplace einen Hinweis das dieser Bug mit einen Oracle Patch erledigt ist. Nun fragt man sich aber ob man nicht vielleicht den Patch schon installiert hat bzw. welche Patches sind in einer Oracle Datenbank bereits installiert?!

Seit 7.00 kann man die Patches auch mit dem brconnect abfragen:

brconnect -F lsinv

bzw wenn man genau eine Patchnummer checken möchte dann:

brconnect -F lsinv | grep NUMMER



Oracle Parameter Empfehlung für ein SAP System

Es gibt von der SAP den Hinweis 1171650 mit dem ein Script ausgeliefert wird zur Überprüfung
der Oracle Parameter eines SAP Systems.

Dabei werden die aktuellen Empfehlungen des relevanten Parameterhinweises (abhängig vom Oracle Release, Patchset und/oder Systemtyp) mit den konkreten DB Parametern verglichen.

Wichtig ist bevor man ein System auf deren Parameter überprüft immer den HW 1171650 zu checken ob es nicht ein Update vom Script gibt!


Buch: SAP NetWeaver AS Java – Systemadministration

zum Thema AS Java gibt es ein neues Buch - besonders ab 7.10 ändert sich die Architektur im Java Umfeld massiv!

SAP PRESS
527 S., 2009, geb.
69,90 Euro, ISBN 978-3-8362-1293-9
Ab Lager lieferbar Sofort lieferbar


  • Das Standardwerk zu den Releases 7.0 und 7.1
  • Architektur, Konfiguration, Softwarelogistik, Monitoring, Backup & Recovery u. v. m.
  • Hintergrundwissen, Handlungsanleitungen und Praxistipps

Portal, Planungs- oder Collaboration-Szenarien: Kaum ein SAP-Kunde kommt noch um den Betrieb eines AS Java herum. Und mit diesem Kompendium erhalten Administratoren endlich auch einen umfassenden Leitfaden zum Systemmanagement.

Die Autoren vermitteln Ihnen in diesem Handbuch Hintergrund- und Praxiswissen zu allen Fragen des täglichen Betriebs: Sie lernen alle Konzepte des AS Java, Releases 7.0 und 7.1, kennen, die für die Administration wichtig sind, erfahren, welches die regelmäßig auszuführenden Administrationsaufgaben sind, und wie Sie sie ausführen. Angefangen bei Architektur, Grundlagen der Verarbeitung und Installation über die Einrichtung der Softwarelogistik und der wichtigsten Entwicklertools bis hin zu Instanz- und Benutzerverwaltung, Monitoring und Troubleshooting sowie Backup und Recovery werden alle Themen ausführlich besprochen.

Welche Userexits sind in einem SAP System aktiv

Es gibt manchmal die Anforderung das man herausfinden soll welche Userexits in einem SAP System in welchen Projekt aktiv sind!
Es gibt dazu den Report RCEXITCHECK - diesen kann man für eine Enwticklungsklasse starten - oder man lässt dieses Feld leer und dann bekommt man alle aktiven Userexits!
Besonders interresant für eine Upgrade - man kann sich vor den Upgrade ein Liste aller aktiven Exits erstellen und muss diese nach dem Upgrade wieder vergleichen - es passiert nämlich das bei einem Upgrade Extis deaktiviert werden.

Freitag, 24. Juli 2009

Printing Assistant for Landscape (PAL)

Seit 7.00 gibt es einen neue Transaktion mit dem Namen PAL!

SAP versteht darunter Printing Assistant for Landscape - man könnte dazu auch Zentrale Druckerverwaltung sagen.

Gerade in grösseren Systemlandschaften ist diese Funktion extrem hilfreich und erspart sehr viel Arbeit.

Wie bei der Zentralen Uservewaltung wird hier der Drucker nur noch einmal auf dem
Zentralen System (z.B. Solution Manager) angelegt und dann einfach auf die anderen System verteilt!

Zur Einrichtung der PAL muss man nur RFC Verbindungen zu jedem System anlegen - deshalb
bietet sich der Solution Manager dafür am besten an da es dort diese RFC Verbindungen ja schon bereits gibt!

Worflow Inbox von einem User auslesen

Es kann schon einmal passieren das ein User in den Urlaub geht und vergisst eine Weiterleitung
im Workflow zu definieren - oder jemand wird plötzlich Krank und derem Workitems müssen
an seinen Vertreter weitergeleitet werden.

Mit dem Funktionsbaustein RH_LOCAL_INBOX_GET kann man die Workflowinbox von einem
User auslesen und die Workitems dann mit der Transaktion SWIA weiterleiten.

RH_LOCAL_INBOX_GET mit der SE37 starten - User und Sprache eingeben und ausführen!

Donnerstag, 23. Juli 2009

Job E2E_HK_CONTROLLER - Solution Manager EHP 01

Nach dem Upgrade auf den Solution Manager Release EHP 01 (SP 19) gibt es einen neuen Job mit dem Namen E2E_HK_CONTROLLER (Report SAPLE2E_EFWK_HOUSEKEEPING) - dieser läuft relativ lange und erzeugt immer zwei Kurzdumps mit dem Namen:

CALL_FUNCTION_REMOTE_ERROR
TIME_OUT

- das passiert nur dann wenn der Parameter rdisp/max_wprun_time noch auf den SAP Standard Wert 600 ist - man muss diesen erhöhen damit der Dialog Prozess (komischer Weise ruft dieser Batchjob gleichzeitg noch einen Dialogprozess auf) nicht nach 600 Sekunden abbricht und somit
auch der Batchjob abgebrochen wird.

Transaktion SE16N und seine gefahren

Ich glaube schön langsam kennt jeder im SAP Umfeld die Transaktion SE16N und seine gefahren!

Mit einem einfachen &sap_edit im Transaktionsfeld werden Tabellen änderbar die normal
nur für die Anzeige gedacht sind - bzw. normal über andere Wege gepflegt werden.

Auf der anderen Seite kann das gerade im Supportfall sehr hilfreich sein - auf der anderen Seite muss man diese Transaktion gerade auf einem Produktivsystem sehr genau einschränken.

Meines erachten darf kein User auf einem Produktivsystem diese Transaktion mit Änderungsberechtigung haben.

Wie kann man das nun sauber einschränken?!

Der User braucht folgende Berechtigungsobjekte damit er die SE16N ausführen kann und damit auch was zu ändern:

S_TCODE mit SE16N
S_DEVELOP mit der Aktität 02 und dem OBJTYPE=DEBUG

Somit einfach auf dem PROD System kein S_DEVELOP mit 01 bzw. 02 vergeben - dann hat man auch mit der SE16N kein Problem.

Ob jemand die Transkation bereits verwendet und damit Daten verändert hat kann man in den
Tabellen

SE16N_CD_DATA
SE16N_CD_KEY

prüfen -

Nachtrag 2013 - die SAP hat die Zusatzfunktion &SAP_EDIT mit einem Sicherheitshinweis deaktiviert - der Kunde muss nun selbst entscheiden ob diese Funktion in seinem System noch funktioniert oder nicht.

Es gibt dazu den Report RKSE16N_EDIT - damit kann man die Funktion aus und einschalten.

Mittwoch, 22. Juli 2009

Variante des Programms ist veraltet

Nach einem Upgrade bzw. ein Report wurde um ein Selektionsfeld geändert kommt es zu der Fehlermeldung "DB634" "Variante & des Programms & ist veraltet".

Es gibt dazu den Report RSVARDOC_610 (höher 6.00) bzw. RSVARDOC_46X (für kleiner 6.00) - mit diesem Report kann man die alten Varianten wieder herstellen.

SE38 starten - Report RSVARDOC_610 eingeben und ausführen - Programmname angeben und beim Feld S_VARI die Variante oder * eingeben - beim Feld SYSVAR das X entfernen

danach sollten sie die Variante wieder verwenden können - bzw. um das neue Feld anpassen.

Dienstag, 21. Juli 2009

Kennwort vom Datenbank User ändern

Es gibt aus Securitygründen immer wieder die Anfrage das der SAP User einer Datenbank geändert werden muss. Im SAP Umfeld lässt sich das sehr leicht mit den brtools bewerkständigen!

BRTOOLS -> 8 – Additional functions -> 4 – Change password of database user -> continue

und einfach das neue Kennwort vergeben - das war's auch schon!

Weiters kann man das auch in einer Zeile eingeben:

brconnect [-u system/] –f chpass –u

oder direkt im SQL

sqlplus “/as sysdba
alter userusernameidentified bypassword’;

Mittwoch, 15. Juli 2009

Online Reorg von einzelnen Tabellen

Es kommt immer wieder vor das man z.B. vergisst einen Trace zu deaktivieren und dadurch wird eine Tabelle unnötig aufgeblasen und der Platz in der Datenbank verschwendet.

Hat man nun den Inhalt der Tabelle wieder geleert möchte man gerne den Platz in der Datenbank zu der leeren Tabelle wieder freibekommen - das geht nun wie folgt:

Zuerst prüfen wir ob auf unserem SAP System die neuesten brtools installiert sind -
dann meldet wir uns mit putty (oder einem anderen ssh produkt) am Server als sidadm an
führen den Befehl

brspace -f tbreorg -t tabelname

aus - weiters folgen wir einfach den nächsten Schritten mit c (continue)

das wars auch schon - die Tabelle wurde online reorganisiert

wichtig - das geht nicht mit Tabellen die LANG RAWS haben - diese müssen vorher in LOBS migriert werden - aber auch das geht mit brspace :

brpspace -f tbreorg -a
long2lob -t tabelname