Ansicht
Dokumentation

< ( INFO1051 )

< ( INFO1051 )

ABAP Short Reference   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ORA1547 Tablespace-Ueberlauf

Kurztext: ORA1547 Tablespace-Ueberlauf

Hinweis-Nr. 1051

Symptom

ORA1547 failed to allocate extent of size ... in tablespace ...

Ursache

Normales Wachstum der Datenbank. Bei einer Tabelle wird versucht, ein neues Extent anzulegen. Dabei wird festgestellt, dass der Platz in dem Tablespace, in dem die Tabelle liegt, nicht ausreicht.

Lösung

Erweitern (Zuordnen eines weiteren BS-Files) des Tablespaces durch den DBA.
(Ab ca. Oktober 1992 toolunterstuetzt.)

SAP-Konventionen

----------------

Regel 1: Die Datenfiles der Datenbank liegen jeweils in einem eigenen subdirectory. Der Name des subdirectories und der Name des Datenfiles leiten sich eindeutig aus dem Namen des Tablespaces ab.
Beispiel:
Der Tablespace PSAPSTABD besitzt zwei Datenfiles:

/usr/ora/C11/sapdata1/stabd_1/stabd.data1

/usr/ora/C11/sapdata1/stabd_2/stabd.data2
Die Verzeichnisse "sapdata" sind mount-Punkte. Sie bilden die vorhandenen Filesysteme der Datenbank ab.

Beim Anhaengen eines neuen Datenfiles an den Tablespace PSAPSTABD sollte des neue File moeglichst in dem gleichen Filesystem wie die schon vorhandenen liegen. Fuer das neue File muss ein neues subdirectory angelegt werden:

cd sapdata1

mkdir stabd_3
Anlegen des neuen Datenfiles "stabd.data3" (s. u.)

Ist dies aus Platzgruenden nicht moeglich, so sollte zuerst versucht werden, ein neues Filesystem auf sapdata zu mounten (Blocksize 8K! s. unten) und die neuen Datenfiles/subdirectories hier hinzulegen.

mkdir sapdata
mounten des neuen Filesystems, Blocksize ueberpruefen

cd sapdata

mkdir stabd_3
Anlegen des neuen Datenfiles "stabd.data3"

Steht kein neues Filsystem zur Verfuegung, kann auch ueber softlinks (symbolic links) der Restplatz von vorhandenen, weiteren Filesystemen genutzt werden.

Regel 2: Vermeiden Sie nach Moeglichkeit symbolic links!
Versuchen Sie moeglichst, die Datenbankfiles in eigene, auf sapdata gemountete Filesysteme zu legen.

Anlegen des softlinks:

Der symbolic link wird unter dem gleichen Namen angelegt, wie das in der obigen Konvention entsprechende subdirectory:

Beispiel: unter #/sapdata1 soll ein symbolic "stabd_3" auf das filesystem "/usr/ora/newspace1/C11" angelegt werden:

cd /usr/ora/newspace1/C11

mkdir stabd_3

cd /usr/ora/C11/sapdata1

ln -s /usr/ora/newspace1/C11/stabd_3 stabd_3

Anlegen des neuen Datenfiles:

/usr/ora/C11/sapdata1/stabd_3
/usr/ora/C11/newspace1/stabd_3/stabd.data3

Regel 3: Nie die Datenfiles linken sondern immer das zugehoerige subdirectory

Regel 4: Linken Sie nicht in beliebige teilweise freie Filesysteme!
Die gelinkten Datenfiles sollen moeglichst in einem gemeinsamen Filesystem gesammelt werden (z.B. /usr/ora/newspace1).

Erweitern des Tablespace

------------------------

  1. Feststellen des uebergelaufenen Tablespaces

-----------------------------------------------

aus dem syslog

aus dem file /usr/ora/C11/sapcheck/extents.today
(Protokoll aller Objekte, die mit einem/zwei Extents einen Tablespace zum Ueberlauf bringen).

Die Fuellgrade der Tablespaces werden taeglich in /usr/ora/C11/sapcheck/check.today protokolliert.

  1. Anzeige der bisher schon angelegten Datenfiles des Tablespaces

-----------------------------------------------------------------

sqlplus sapr3/sap SQL> select file_name, bytes from dba_data_files where tablespace_name = 'PSAP...';

  1. Festlegen der Groesse des neuen Datenfiles

---------------------------------------------

Versuchen Sie das zukuenftige Datenaufkommen fuer diesen Tablespace abzuschaetzen (z.B. auch vor dem Einspielen von Massendaten).
Beachten Sie bitte, dass ORACLE nur 62 Datenfiles (einschlieslich der 4 redo-log-Dateien) unter UNIX verwaltet. Legen Sie Ihre Datenfiles daher nicht zu klein an. (Bei 62 Datenfiles ist eine umfangreiche Reorganisation notwendig!)

  1. Festlegen des Dateinamens des neuen Datenfiles

-------------------------------------------------

s. oben, Konventionen

  1. Anlegen des subdirectories bzw. des symbolic links

-----------------------------------------------------

Ueberpruefen Sie, ob in dem gemounteten Filesystem noch genuegend Platz fuer das neue Datenfile ist:

cd sapdata

df .
oder: bdf . (fuer HP)

Legen Sie entsprechend ein Unterverzeichnis oder einen symbolic link an (s. Beispiel oben).

Falls Sie ueber ein symbolic link auf ein neues Filesystem gehen, muss ueberprueft werden, ob die Blockgroesse des Filesystems mit der Blockgroesse der Datenbank (8 k) uebereinstimmt. Starten Sie hierzu als superuser das Script "/usr/ora/C11/sapscripts/admin/blocksize.csh".

  1. Anhaengen des Datenfiles

---------------------------

sqlplus system/manager
SQL> Alter Tablespace add datafile
'' size ... M;

Beispiel:
ALTER TABLESPACE PSAPSTABD ADD DATAFILE
'/usr/ora/C11/sapdata1/stabd_3/stabd.data3' SIZE 200 M;

(Bei diesem Kommando ist es gleichgueltig, ob "stabd_3" ein subdirectory oder ein symbolic link ist!)

  1. Online Sicherung des Tablespaces

-----------------------------------

Um recoveryfaehig zu bleiben muss sich jetzt eine online-Sicherung des betroffenen tablespaces anschliessen:

brbackup -d disk -t online -m -u system/

Die Datenfiles des Tablespaces werden komprimiert auf Platte gesichert.
Die Sicherung steht in dem Verzeichnis, das in dem brbackup-profile ?/dbs/initC11.sap mit dem Parameter "backup_root_dir" definiert wurde.






Vendor Master (General Section)   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6351 Date: 20240426 Time: 145005     sap01-206 ( 70 ms )