Alte Statistiken für Oracle-Tabellen wiederherstellen

Seit Oracle 10g wird bei einer Analyse einer Tabelle die alte Statistik nicht gelöscht, sondern gesichert. Um eine alte Statistik wiederherzustellen gibt es folgendes Kommando:

EXEC DBMS_STATS.RESTORE_TABLE_STATS
         ('SCHEMA', 'TABELLE', systimestamp-10);

bei diesem Kommando wird die Statistik von vor 10 Tagen wieder hergestellt.

Oracle Tabellen-Statistiken sperren/entsperren

Wenn unter Oracle für eine Tabelle eine Statistik gesperrt ist, aber unbedingt eine Analyse der Tabelle durchgeführt werden muss, gibt es das Statement

EXEC DBMS_STATS.UNLOCK_TABLE_STATS('SCHEMA', 'TABELLE');

um die Tabelle wieder zu sperren, gibt es folgendes Kommando:

EXEC DBMS_STATS.LOCK_TABLE_STATS('SCHEMA', 'TABELLE');

Middelwarestau mit SQL-Mitteln lösen

Wenn sich die Middleware verschluckt hat, und einfach nichts mehr tut, gibt es die Möglichkeit über SQL-Mittel einzugreifen und den Queue-Status zu verändern. Dazu nimmt man das Kommando

UPDATE TRFCQOUT
   SET qstate = 'READY'
 WHERE qname LIKE 'R3AUBUPA%';

und ändert es entsprechend seiner Vorstellungen ab.

Die verschiedenen Stati kann man hier nachlesen. Zum verbuchen relevant ist der Status „READY“. Dadurch werden die Queues erneut gestartet.

Abschließend muss man noch in die Transaktion SMQS gehen und über das Menü „Bearbeiten->Scheduler aktivieren“ die Verarbeitung starten.

Report zum löschen der Userdaten in der ZBV

Mit dem Report RSDELCUA können verschiedene Daten aus der ZBV gelöscht werden. Wichtig ist hierbei, dass die Daten nicht in den Tochtersystemen sondern ausschließlich in der ZBV gelöscht werden. Um die Daten der User eines Tochtersystems wieder zurück in die ZBV zu holen, bietet sich die Transaktion SCUG an.

Middleware deaktivieren

Die Middleware kann pro Businessobjekt in Transaktion SMW3_00 deaktiviert werden. Dazu wählt man den BDOC-Typ mit einem doppelklick aus

und kann in den Einstellungen die Übertragung deaktivieren.

Neue Datafiles mit brtools erstellen

Oracle administriert man im SAP-Umfeld am besten mit den brtools. Um ein Datafile anzulegen gibt es das Kommando brspace. Dieses nutzt man indem man sich als Oracleuser auf dem System anmeldet und folgendes Kommando ausführt:

brspace -f tsextend

Im darauf folgenden Dialog kann man die einzelnen Parameter anpassen.

Archivelog-Modus aktivieren/deaktivieren

Damit der Archivelog-Mode geändert werden kann, ist es notwendig, dass die Datenbank nur gemounted ist. Dazu meldet man sich am besten als sysdba an der Datenbank an „sqlplus / as sysdba“. Dann fährt man die DB geordnet herunter „shutdown immediate“ und öffnet sie dann anschließend gemounted mit „startup mount“. Jetzt kann man mit dem Befehl „alter database archivelog“ bzw. „alter database noarchivelog“ den Log-Modus ändern. Zum Schluß fährt man dann die Datenbank wieder an mit „alter database open“.

Tipp: Wenn man sich anzeigen lassen möchte, in welchem Zustand sich die Datenbank aktuell befindet, dann kann man das mit folgendem SQL-Statement tun: „select log_mode from v$database;“

Größe eines SAP-Mandanten anzeigen

Um die Größe eines SAP-Mandanten zu sehen, gibt es einen Report: RSSPACECHECK
Dieser Report wird mit Hilfe der Transaktion SE38 ausgeführt. Als Parameter können u.a. einzelne Tabellennamen aufgeführt werden (zur Mandantenmessung beim Tabellennamen ein * eintragen). Leider habe ich noch nicht herausgefunden, was mit den Optionen ‚Keine Klasse L Tabellen‘ und ‚Keine Klasse A Tabellen‘ gemeint ist. Bei der Eingabe welche Tabellenarten ausgeschlossen werden sollen, kann man auch gut die Selektion entfernen (siehe Kommentar vom Florenz). Bei einer Mandantenkopie werden wohl die temporären Tabellen nicht mitkopiert.
Parametereingabe:

Hier ein Beispiel der Ausgabe:

TableSpace um ein DataFile erweitern

Wenn ein Tablespace um ein Datafile erweitert werden soll, kann folgender Befehl abgesetzt werden:

ALTER TABLESPACE TS_DATEN
  ADD DATAFILE 'daten_2'
  SIZE 2000M
  AUTOEXTEND OFF;

Hierbei wird ein neues DataFile (data_2) an den TableSpace TS_DATEN mit 2000 MB Größe angehängt.

DataFile vergrößern

Immer wieder passiert es, dass ein Tablespace droht voll zu laufen. Am besten man schaut sich dann die Tabellen des Tablespace an und löscht überflüssige Daten… Da das leider nicht immer geht, gibt es natürlich die Möglichkeit ein Datafile zu vergrößern:

ALTER DATABASE
DATAFILE '/home/oracle/datenbanken/DB/TS_DATEN/daten_1.dbf'
RESIZE 2000M;