Oracle: Unterschied zwischen den Versionen

Aus XccesS Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 6: Zeile 6:


=== Konfiguration ===
=== Konfiguration ===
==== SAP* löschen ====
sqlplus / as sysdba
<syntaxhighlight lang="sql" line="1">
DELETE FROM SAPSR3.USR02 WHERE MANDT = '000' AND BNAME = 'SAP*';
COMMIT;
</syntaxhighlight>
==== Tablespaces und Files anzeigen lassen ====
==== Tablespaces und Files anzeigen lassen ====
<syntaxhighlight lang="sql" line="1">
<syntaxhighlight lang="sql" line="1">
Zeile 12: Zeile 19:
====Tablespace anlegen====
====Tablespace anlegen====
CREATE TABLESPACE PSAPSR3740X DATAFILE '/oracle/PZ0/sapdata1/sr3740x_1' SIZE 10M;
CREATE TABLESPACE PSAPSR3740X DATAFILE '/oracle/PZ0/sapdata1/sr3740x_1' SIZE 10M;
= Erweiterung ohne ASM =
= Erweiterung ohne ASM =



Aktuelle Version vom 1. November 2025, 20:09 Uhr

Beschreibung

Download

Installation

Konfiguration

SAP* löschen

sqlplus / as sysdba

DELETE FROM SAPSR3.USR02 WHERE MANDT = '000' AND BNAME = 'SAP*';
COMMIT;

Tablespaces und Files anzeigen lassen

SELECT file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = 'PSAPSR3' ORDER BY file_name;

Tablespace anlegen

CREATE TABLESPACE PSAPSR3740X DATAFILE '/oracle/PZ0/sapdata1/sr3740x_1' SIZE 10M;

Erweiterung ohne ASM

Tablespace-Belegung ermitteln

Belegung aller Tablespaces in Prozent ermitteln:

with MBYTES as(
  select tablespace_name, 
         SUM(bytes)/1024/1024 as Akt, 
         SUM(decode(maxbytes,0,bytes,maxbytes))/1024/1024 as ZMax 
  from dba_data_files 
  group by tablespace_name
), 
MFREE as(
  select tablespace_name, 
         SUM(bytes)/1024/1024 as Free    
  from dba_free_space 
  group by tablespace_name
) 
select MBYTES.tablespace_name, 
       ROUND((AKT-FREE)/ZMAX*100,2) as BelegtProz  
from MBYTES, MFREE 
where MFREE.tablespace_name = MBYTES.tablespace_name 
order by ROUND((AKT-FREE)/ZMAX*100,2) desc;

Beispiel-Ergebnis:

TABLESPACE_NAME                BELEGTPROZ
------------------------------ ----------
PSAPSR3                             89.43
PSAPSR3702                          33.32
PSAPSR3USR                          20.26
PSAPUNDO                             6.55
SYSTEM                               5.05
SYSAUX                               4.05

Verfügbaren Speicherplatz ermitteln

Im Betriebssystem ermitteln, in welchem data-Laufwerk am meisten Platz für die Erweiterung vorhanden ist:

df -h | grep oracle

Beispiel-Ausgabe:

p11data01/data01      98G    68G    30G    70%    /oracle/P11/data01
p11data02/data02     215G   172G    43G    81%    /oracle/P11/data02
p11data03/data03      98G    51G    47G    52%    /oracle/P11/data03

An der Datenbank anmelden

sqlplus / as sysdba

Ausgabe formatieren

Für eine übersichtlichere Darstellung:

set pages 9999
set lin 180
col file_name for a60

Datafiles anzeigen

Datafiles zum Tablespace anzeigen:

select file_name, bytes/1024/1024 
from dba_data_files 
where tablespace_name = '<TABLESPACE>';

Vorlage:Hinweis

Beispiel-Ausgabe:

FILE_NAME                                                    BYTES/1024/1024
------------------------------------------------------------ ---------------
/oracle/P11/data01/beispiel_data_01.dbf                                20480
/oracle/P11/data02/beispiel_data_02.dbf                                20480
/oracle/P11/data03/beispiel_data_03.dbf                                30720
/oracle/P11/data02/beispiel_data_04.dbf                                20480

Datafile erweitern

Existierendes Datafile vergrößern

Wenn ein Datafile erweitert werden kann:

alter database datafile '/oracle/P11/data02/beispiel_04.dbf' resize 30G;

Vorlage:Hinweis

Überwachung auf OS-Ebene:

du -h <FILENAME>

Kontrolle:

select file_name, bytes/1024/1024 
from dba_data_files 
where tablespace_name = '<TABLESPACE>';

Beispiel nach Erweiterung:

FILE_NAME                                                    BYTES/1024/1024
------------------------------------------------------------ ---------------
/oracle/P11/data01/beispiel_data_01.dbf                                20480
/oracle/P11/data02/beispiel_data_02.dbf                                20480
/oracle/P11/data03/beispiel_data_03.dbf                                30720
/oracle/P11/data02/beispiel_data_04.dbf                                30720

Neues Datafile anlegen

Falls kein existierendes Datafile erweitert werden kann:

alter tablespace BEISPIEL add datafile '/oracle/P11/data03/beispiel.dbf' size 100M;

Vorlage:Hinweis

Überwachung auf OS-Ebene:

du -h <FILENAME>

Kontrolle:

select file_name, bytes/1024/1024 
from dba_data_files 
where tablespace_name = '<TABLESPACE>';

Beispiel nach Anlegen:

FILE_NAME                                                    BYTES/1024/1024
------------------------------------------------------------ ---------------
/oracle/P11/data01/beispiel_data_01.dbf                                20480
/oracle/P11/data02/beispiel_data_02.dbf                                20480
/oracle/P11/data03/beispiel_data_03.dbf                                30720
/oracle/P11/data02/beispiel_data_04.dbf                                20480
/oracle/P11/data03/beispiel_data_05.dbf                                  100

Tempfile erweitern

Tempfiles anzeigen:

select file_name, bytes/1024/1024 
from dba_temp_files;

Tempfile hinzufügen:

alter tablespace <TABLESPACE> add tempfile '+DATA' size 25G;

Tablespace mit neuer Datei erweitern

alter tablespace PSAPSR3740X add datafile '/oracle/PZ0/sapdata1/sr3740x_2' size 30G;

Backupmodus einstellen

Wird benötigt um ggf. die sapdata online kopieren zu können

SQL> ALTER DATABASE BEGIN BACKUP;
To find if database or any tablespace is in backup mode, the status in V$BACKUP is ACTIVE
SQL> select * from v$backup;
SQL> ALTER DATABASE END BACKUP;

SYSTEM Passwort ändern

sqlplus / as sysdba ALTER USER system IDENTIFIED BY "<PASSWORT>";

PSAPUNDO - Undo Tablespace

SELECT file_name,
       tablespace_name,
       autoextensible,
       bytes/1024/1024 AS size_mb,
       maxbytes/1024/1024 AS max_size_mb
FROM dba_data_files
WHERE tablespace_name = 'PSAPUNDO';

ALTER DATABASE DATAFILE '/oracle/R08/sapdata1/undo_1/undo.data1' AUTOEXTEND ON NEXT 100M MAXSIZE 20G;

Update

Test

Freien Speicherplatz anzeigen

select a.tablespace_name, a.free_bytes*100/b.total_bytes as "Free(%)"
from
(select tablespace_name, sum(bytes) free_bytes
from dba_free_space
group by tablespace_name) a,
(select tablespace_name, sum(bytes) total_bytes
from dba_data_files
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;

Codeschnipsel

Nützliche Links