Checkliste: Datenbankanalyse

 

  Die Datenbankanalyse sollte vom Kunden jedes Quartal geschickt werden.
Zu kontrollieren ist eigentlich nur der Tablespace und ob Tabellen/Indizes explosionsartig angewachsen sind.

 

Es gibt für die Kontrolle ein eigenes Excel-Sheet unter \\filesrv2\le_salaire\intern\Support\Datenbankanalyse.xlsx

Hier müssen die Werte eingetragen werden, damit ein Überblick über alle Erweiterungen geschaffen wird.

 

Kontrolle freier Tablespace (in der Regel TS_LOHN, TS_PLAN (bei Budgetierung) , TS_ZEIT (bei Zeit) und TS_WEB (bei SelfService)) interessant. Beim Kunden Weyland Carl Steiner muss auch der Tablespace "Consens" kontrolliert werden.

Richtwert: Wenn Tablespace < 300000000 (ca. 300 MB), dann muss dieser erweitert werden.

 

===============================================================================

Free Space on Disc per Tablespace

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

TS_NAME                           BYTES_FREE                                   

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

DRSYS                             10,813,440                                   

INDX                              26,148,864                                   

SYSTEM                             9,109,504                                   

TOOLS                              4,980,736                                   

TS_LOHN                            9,568,256                                   

TS_PLAN                           19,070,976                                   

UNDOTBS1                         424,607,744                                   

USERS                             26,148,864                                   

XDB                                  262,144                                   

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

sum                              530,710,528                                   

 

Free Space on Disc per Tablespace - Diese Beträge geben an, wie viel Speicher gesamt noch frei sind

 

Space Allocation per Tablespace - Diese Beträge geben an, wie viel Speicher bereits belegt ist

 

Wie lange rechnet dieses Unternehmen bereits ab bzw. wie lange ist dieses Modul bereits in Verwendung?

Im Softwaremanager unter Kunden "Modul".

Der Erwerb des LHR Lohn's ist unter \\filesrv2\le_salaire\intern\Support\Datenbankanalyse.docx zu finden. Vorallem bei längeren Kunden ist darauf zu achten.

 

Rechnen:

Betrag von TS_LOHN (Space Allocation per Tablespace) : Jahre

Betrag von TS_PLAN (Space Allocation per Tablespace) : Jahre usw.

--> diese Werte müssen kleiner als der jeweilige Free Space on Disc sein.

 

Der Wert zeigt den durchschnittlichen Speicherbedarf des Kunden pro Jahr an. Sollte der Wert größer als der Free Space on Disc sein, so wird der Speicher mit ziemlicher Sicherheit innerhalb des nächsten Jahres überlaufen --> Datenbank erweitern!!!

 

Zum Schluss: Segment Extension Map (70 extents threshold)

 

Datenbank erweitern

Um die Datenbank zu erweitern gibt es zwei Möglichkeiten:

  1. Unter Explorer/Oracle/oradate wird eine neue Zeile mit Gigabyte angelegt, mit folgendem SQL Befehl:
    Connect sys as sysdba

    ALTER TABLESPACE TS_LOHN ADD DATAFILE 'C:\Oracle\oradata\lsal\TSLOHN27.DBF' SIZE 2 G;
    Tablespace Name:       TS_LOHN (könnte auch TS_PLAN, usw sein)
    Ordner des Datafiles:   'C:\Oracle\oradata\lsal\TSLOHN27.DBF' (kann bei jedem Kunden unterschiedlich sein - Nummer sollte fortlaufend sein)
    Größe:                            Size 2 G (kann je Kunden variieren. Größe der bereits bestehenden kontrollieren und Größe übernehmen)

    Select um den Pfad zu finden:
    select substr(name,1,80) NAME from v$datafile  (nur die Zeile reicht fast immer, sonst weiter)
    where name like ‚%UNNAMED%‘
    Order by name;
  2. Im Enterprise Manager Datenbank den Tablespace erweitern.
    1. Dazu muss die OracleDBConsoleLSAL in den Diensten gestartet werden.
    2. Dann mit dem Aufruf für den Enterprise Manager https://ora11g-x64.eurofunk.com:1158/em einsteigen.
    3. Wenn die Console geöffnet wurde, dann wechselt ihr in den Reiter "Server" und wählt die Speicherung "Tablespace" aus.
    4. In der Übersicht der Tablespaces den vollen Speicher auswählen und draufklicken. Dann öffnet sich ein neues Fenster in dem die einzelnen Speicher-Dateien angeführt werden.
    5. Um hier eine neue Datein hinzuzufügen geht ihr im unteren Bereich bei "Aktionen" auf Datendatei hinzufügen und dann auf weiter.
    6. Danach öffnet sich erneut ein Fenster. Hier trägt ihr den neuen Dateinamen (in diesem Fall TS_LOHN04.DBF) ein. Der Dateipfad wird automatisch vorgeschlagen.
      Bei der Dateigröße richtet ihr euch wieder an die vorhergehenden Dateien. (1024 MB sind 1 GB)
      Wenn alles ausgefüllt wurde geht ihr auf OK und der Tablespace wurde erweitert.  
    7. Danach den Dienst OracleDBConsoleLSAL wieder beenden.

 

 

SQL-Scripts, wenn kein Enterprise Manager zur Verfügung steht:

 

Folgendes Script in ein *.sql-File kopieren bzw. liegt unter \\filesrv2\le_salaire\intern\Support\Handbuch Support\Datenbank_tablespace_kontrollieren.sql

 

COL Bytes FOR 999G999G999G990

COL MBytes FOR 999G999G999G990

SET LINESIZE 1000

 

DEFINE TBSP = '&1'

BREAK ON REPORT

COMPUTE SUM OF BYTES ON REPORT

COMPUTE SUM OF MBYTES ON REPORT

 

SELECT 'Frei' Art, sum(bytes) Bytes, round(sum(bytes)/1024/1024,0) MBytes

FROM   sys.dba_free_space

WHERE  tablespace_name='&TBSP'

UNION

SELECT 'Belegt' Art, sum(bytes) Bytes, round(sum(bytes)/1024/1024,0) MBytes

FROM   sys.dba_segments

WHERE  tablespace_name='&TBSP'

ORDER BY Art

/

 

Mit „start <sql-file> TS_LOHN“ (bzw. TS_PLAN) aufrufen und freien Speicher kontrollieren.

 

Ältere Kontroll-Version - wird nicht mehr verwendet:

Wenn „EXT“ zwischen 115 und 121, dann max-extents der Tabelle/des Index pruefen und gegebenenfalls erweitern (siehe SQL-Script unten):

 

Beispiel Tabelle:

 

TYPE     TS_NAME    OWNER   SEGMENT_NAME      SEG    EXT   BLOCKS         BYTES

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

TABLE    TS_LOHN    LOHN    SVBEM_ABGABE        1     17      256     2,097,152

                            SV_MELDUNGEN        1      8     1024     8,388,608

                            SV_SUMMENART        1     16      128     1,048,576

                            SV_ZUORDNUNG        1     11       88       720,896

                            WOCHENSTUNDE        1     16      128     1,048,576

                            BEW_HAT_OPTIK       1     16      128     1,048,576

                            BEW_UEBTE_AUS       1     16      128     1,048,576

                            FIRMENLOHNART       1      6       48       393,216

                            GNKKONTIERUNG       1      4       32       262,144

                            ISTKENNZIFFER       1      8     1024     8,388,608

                            NACHRICHT_WEG       1      8      124     8,388,608

 

Beispiel Index:

 

TYPE     TS_NAME    OWNER   SEGMENT_NAME      SEG    EXT   BLOCKS         BYTES

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

                            TION2                                              

                                                                               

INDEX    TS_LOHN    LOHN    I_LADNLFD_FIBU      1     18      384     3,145,728

                            KONTO                                              

                                                                               

                            I_LADNLFD_SVPF      1     16      126     1,048,576

                            LKOPF                                              

                                                                               

                            PK_ANSPRUCH_LA      1      8     1024     8,388,608

                            UFEND                                              

 

 

Kontrolle Extents:

 

   select max_extents

   from dba_tables

   where owner='LOHN'

   and table_name='SV_GRUPPEN'

 

MAX_EXTENTS

-----------

 2147483645

 

Wenn dieser Wert erscheint, ist die Tabelle bereits auf „unlimited“ gestellt, wenn zB „115“ erscheint, muss dies gegebenenfalls geändert werden mit:

 

„ALTER TABLE <Tabellenname> STORAGE (MAXEXTENTS UNLIMITED)

bei “ORA-25150: ALTERING of extent parameters not permitted” ist die Tabelle schon auf “unlimited” gesetzt.