maxdb

122
SAP® MaxDB™ Error Diagnosis Version 7.7 Heike Gursch

Transcript of maxdb

Page 1: maxdb

SAP® MaxDB™

Error Diagnosis

Version 7.7

Heike Gursch

Page 2: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 2

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 2

Overview

Types of errors / classification of errors

Errors during installation

Log files / traces / dumps

Check table / check backup

Analysis examples

Connection problems

DB full / log full situations

Hanger situations

Backup/restore problems

Analyzing system errors -9028 / -9026

Extracting pages (x_diagnose)

Page 3: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 3

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 3

Types of errors

Installation problems

Connect problems

Crash situations

Hanger situations

System errors (-10000 < error number <= -9000)

with or without crash; reproducible ?

SQL errors (e.g. wrong result sets)

reproducible effect ?

Save / restore errors

valid backup ?

Page 4: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 4

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 4

Installation - sdbsetup

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 4

Page 5: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 5

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 5

Installation

Call: sdbinst/sdbupd

Option –help lists valuable options.

Installation logs are written in <indepdatapath>/wrk.

Deinstallation of MaxDB software: sdbuninst or SDBSETUP

No deletion with operating system!

As of version 7.6, the tool SDBSETUP with GUI interface is available for all supported platforms

Page 6: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 6

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 6

Errors during the Installation

Examples (look for STDERR):

The option - -force_extract also substitutes files being in use.

Page 7: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 7

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 7

sdbverify

...

Page 8: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 8

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 8

xinstinfo, inst_enum, db_enum

Page 9: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 9

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 9

Overview (Diagnostic and Trace Files)

System log (SM21)

ABAP Short Dump (ST22)

dev logs

SQL Trace (ST05)

Precompiler Trace

SQLDBC

appldiag

xserver_<hostname>.prt

dbm.prt, dbm.utl, dbm.knl, dbm.ebp, dbm.ebl

KnlMsg (knldiag)

Event Viewer

knltrace

knldump

rtedump

Page 10: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 10

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 10

Application

WebAS

Runtime environ.

MaxDB kernel knldump

Diagnostic Files

Global

memory

SQL Trace Precompiler Trace

Short

Dump

dev Trace

SQLDBC

knltrace

KnlMsg

rtedump

xserver*.prt

appldiag

dbm.*

Page 11: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 11

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 11

SM21 – System Log

Page 12: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 12

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 12

ABAP – Short Dump

Page 13: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 13

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 13

Dev Logs (1)

Page 14: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 14

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 14

Dev Logs (2)

Page 15: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 15

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 15

ST05

Order Interface

MaxDB Kernel

SQL - Trace 2

SQL - Trace 1

SQL Trace

Page 16: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 16

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 16

ST05 – SQL Trace

Page 17: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 17

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 17

ST05 – SQL Trace (2)

Page 18: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 18

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 18

Precompiler Trace (1)

SQL – Trace of the order interface:

Profile parameter

dbs/ada/sql_trace = 0 no trace

1 short trace

2 long trace

Environment variable

SQLOPT = -F file name

-T short trace

-X long trace

-Y statement count

Irtrace

irtrace –p all –t <trace type>

irtrace –p <prozess-id> -t <trace type>

Page 19: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 19

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 19

PRODUCT : liveCache C/C++ Precompiler Runtime

VERSION : 7.1.4

BUILD : 032-000-055-840

version :P_1, P_2

SQL STATEMENT : FROM MODULE : dbslada AT LINE : 4186

OUTPUT : LZU : NT/INTEL 7.1.4 Build 032-000-055-840

OUTPUT : PCR : C-PreComp 7.1.4 Build 032-000-055-840

START : DATE : 2001-07-13 TIME : 0013:01:01

END : DATE : 2001-07-13 TIME : 0013:01:01

SESSION : 1;

SQLMODE : SAPR3 AT DATABASE : DB_000

SERVERDB : S10

SERVERNODE:

OPTION-CONNECT :

CONNECT "SAPR3 " IDENTIFIED BY :A SQLMODE SAPR3 ISOLATION LEVEL 0

TIMEOUT 0

SQL STATEMENT : FROM MODULE : dbslada AT LINE : 6390

START : DATE : 2001-07-13 TIME : 0013:01:01

END : DATE : 2001-07-13 TIME : 0013:01:01

Precompiler Trace (2)

Page 20: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 20

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 20

SQLDBC

Runtime library libSQLDBC for the development of database applications and

interfaces

Version-independent runtime library libSQLDBC.dll or libSQLDBC.so

Version-dependent, e.g. libSQLDBC76.dll

Runtime library libSQLDBC_C.dll for the support of native C applications

Stored in directory <indep_program_path>/pgm

Software Development Kit SQLBDC SDK

Header file SQLDBC.h for C++

Header file SQLDBC_C.h for C

Static and dynamic link libraries for C and C++

Stored in directory <indep_program_path>/sdk/sqldbc

sqldbc_cons

Creation and control of traces

Page 21: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 21

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 21

sqldbc_cons

Configuration and creation of traces for the SQLDBC interface

Properties of the traces:

sqldbctrace_<pid>.prt

The trace files are overwritten cyclically.

Traces storage in the following directories:

<user_home>\Application Data\sdb (Windows)

<user_home>/.sdb (UNIX, Linux)

Trace types:

SQL: SQL statements (sufficient for most analyses)

Short: method calls

Long: method calls with call parameters (most comprehensive trace)

Packet: communication packages

Syntax: sqldbc_cons [<command>] [<option>]

Page 22: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 22

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 22

SQLDBC Trace

Page 23: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 23

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 23

appldiag

process ID

Example 1: 06.01 12:53:46 18286 -11205 sqlexec: system error, not enough space

06.01 12:58:25 18286 -11205 sqlexec: system error, not enough space

06.01 18:46:23 19025 -11109 database ‘S10’ is not running

07.01 11:47:37 10959 -11987 sql33_con_msl: task limit

07.01 11:47:59 12031 -11987 sql33_request: connection broken, kernel

cleared

08.02 13:11:07 18899 -11987 connection closed by communication partner

08.29 13:13:13 11199 -11987 comseg given away, assuming timeout

Example 2: 2008-01-25 10:28:55 8323 ERR -11987 COMMUNIC kernel aborted connection!

2008-01-25 10:28:55 8325 ERR -11987 COMMUNIC kernel aborted connection!

2008-02-18 10:03:13 18474 ERR -11608 COMMUNIC sql03_request: wrong connection st

ate, state is 'requested'

2008-03-17 16:00:07 26429 ERR -11987 COMMUNIC semid 206602379 disappeared!

2008-03-17 16:00:13 9231 ERR -11987 COMMUNIC semctl (setval 1084391433) error: Invalid argument

2008-03-17 16:00:13 9232 ERR -11987 COMMUNIC semctl (setval 1084391433) error: Invalid argument

2008-03-17 16:01:55 9237 ERR -11987 COMMUNIC semctl (setval 1084391433) error:

Identifier removed

2008-04-11 08:00:43 16194 ERR -11608 COMMUNIC sql03_request: wrong connection st

ate, state is 'requested'

2008-06-06 19:00:34 5216 ERR -11608 COMMUNIC sql03_request: wrong connection st

ate, state is 'requested'

Page 24: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 24

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 24

xserver_<hostname>.prt

Page 25: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 25

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 25

dbm.prt

Page 26: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 26

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 26

dbm.utl

Page 27: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 27

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 27

dbm.knl

Two examples of complete lines:

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

|LOG_00000|SAVE WARM|? ? |? ? |2003-06-12 17:22:40|2003-06-12 17:25:15| -1| -1| |

| 0| 0| -123|

3F3337BB0007|DAT_00007|SAVE WARM|2003-08-08 07:40:12|2003-08-08 07:40:12|2003-08-08 07:40:14|2003-08-08 07:41:35| 549971| |NO |Data

| 0| 0| -903|Could not open dev

Page 28: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 28

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 28

DB12 - Overview

Page 29: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 29

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 29

DB12 – Overview

Page 30: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 30

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 30

DB13

Page 31: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 31

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 31

dbm.ebp

External Backup Protocol (dbm.ebp)

Is created by each action using a supported backup tool.

Is overwritten with every start of the DBM server, if it communicates with an external backup

tool.

Contents

Configuration values

Commands of the database kernel

Call of the backup tools

Returncodes of the backup tools and of the database kernel

Output of the backup tools

Page 32: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 32

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 32

dbm.ebl (1)

External Backup Log

Contains a summary of the last <n> dbm.ebp files.

The number is configurable.

Page 33: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 33

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 33

dbm.ebl (2)

Page 34: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 34

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 34

KnlMsg

Page 35: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 35

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 35

KnlMsg 2

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 35

Page 36: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 36

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 36

KnlMsg 3

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 36

Page 37: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 37

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 37

KnlMsg 4 - protconv

protconv

–t KNLMSG

Examples:

protconv –d A1S –t KNLMSGARCHIVE –o KnlMsgArchive.prt

protconv –p /sapdb/data/wrk/A1S –t KNLMSGOLD

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 37

Page 38: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 38

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 38

Stack Backtrace in knldiag

Page 39: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 39

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 39

Event Viewer

Under WINDOWS important messages are additionally written to the event log.

Example:

Page 40: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 40

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 40

knltrace (1)

Data Access Manager

Communication Base Layer (KB)

SQL Manager (AK)

Data Access Manager

Base Data Layer (BD)

Ke

rne

l

knltrace trace_prot

<DBNAME>.prt

VTRACE ON

VTRACE FLUSH

ABKMNSTX A = AK vtrace

B = BD vtrace

K = KB vtrace

M = Message buffer

N = Net vtrace

S = Strategy

T = Time vtrace

X = SWITCH output

Page 41: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 41

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 41

knltrace (2) - Procedure

1. Switch on the VTRACE (if required for a specified session)

2. Execute database action

3. VTRACE FLUSH

4. Switch off the VTRACE

5. Convert the file to ASCII format

Page 42: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 42

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 42

DBMGUI Kernel Trace (1)

Page 43: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 43

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 43

Kernel Trace (2)

Page 44: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 44

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 44

Kernel Trace (3)

Page 45: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 45

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 45

Kernel Trace (4)

Page 46: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 46

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 46

DB50: Problem Analysis – Kernel Trace (1)

Page 47: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 47

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 47

DB50: Problem Analysis – Kernel Trace (2)

Page 48: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 48

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 48

DB50: Problem Analysis – Kernel Trace (3)

Page 49: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 49

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 49

DB50: Problemanalyse – Kernel Trace (4)

Page 50: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 50

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 50

knldump

Contains the global memory, e.g.:

Lock lists, data cache, catalog cache, ...

Administration structures of these caches

The file is created in the following ways:

DIAGNOSE: by a user with DBA rights

dbmcli: db_stop –dump

when the database crashes

The file ‘knldump’ might become very huge. It contains binary data which can be

transferred to a readable form with DIAGNOSE.

Page 51: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 51

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 51

rtedump (1)

Status of the runtime environment in case of crash

x_cons <SID> show all

helps to identify previously active tasks

detailed information about the individual tasks

region statuses, suspend reasons, counter statistics

Additional analysis for KnlMsg output

No formatting necessary (legible file)

Storage in run directory

Page 52: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 52

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 52

rtedump (2)

Identification of the active

task (status "Running")

Detailed information

about this task

Identification of the

affected application server

If necessary, additional

information in the system

log as well as in the dev log

tell you more about the

triggering command.

Example:

Page 53: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 53

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 53

*.bad, *.cor

Dump of corrupt pages

Checksum error: *.bad

Problem with page content identified: *.cor

Storage in run directory

Formatting done with x_diagnose

Page 54: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 54

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 54

Database Studio – Access to Diagnosis Files

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 54

Page 55: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 55

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 55

DB50 – Access to Diagnosis Files

Page 56: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 56

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 56

DBACockpit – DBA Planning Calendar

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 56

Page 57: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 57

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 57

dbmcli

Page 58: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 58

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 58

dbmcli

help

Page 59: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 59

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 59

dbmcli - Examples

Page 60: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 60

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 60

dbmgetf

dbmgetf -d A1S -u control,control –k KNLMSG

dbmgetf -n p34777 -d E30 -u control,control -k DBMPRT

Page 61: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 61

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 61

DIAG_HISTORY

Page 62: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 62

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 62

CHECK DATA / CHECK TABLE

CHECK DATA [Options]

Checks structural consistency of the whole database. If no errors are found, „bad flags“ in the

so-called filedirectory and the root page are reset.

CHECK TABLE <OWNER>.<TABLENAME> [Options]

Checks all pointers within the specified table tree.

Mirroring

If data volumes are mirrored by means of the operating system or by hardware, the database

cannot influence which disk is used for reading pages. CHECK TABLE may not find any

errors.

Errors

If CHECK TABLE delivers an error, hardware problems must be solved and a backup must be

restored.

Page 63: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 63

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 63

CHECK DATA - Options

EXTENDED

Extended check of the key sequence

WITH LONG CHECK (former WITH SHARE LOCK)

Additional check of LONG columns

Share lock is set

EXCEPT INDEX

Indexes are not checked

WITH UPDATE

Execution in DB mode ADMIN

Additional maintenance of the converter: page numbers with no references are removed.

Page 64: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 64

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 64

Consistency Checks (1)

Transactions DBACockpit, db13

dbmcli: db_execute check data

Check Table (f.e. via

transaction db50 -> Tables/Indexes)

Page 65: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 65

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 65

Consistency Checks (2)

Database Studio (context menu):

Check Database Structure

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 65

Page 66: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 66

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 66

Consistency Checks (3)

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 66

Page 67: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 67

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 67

Consistency Checks (4) – Check Success

dbm.prt

2004-11-30 11:11:31 0x000009c0 0 DBM command db_execute CHECK DATA

2004-11-30 11:17:37 0x0000079c 0 DBM command db_execute CHECK TABLE

KnlMsg

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 67

Page 68: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 68

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 68

Consistency Checks (5) – Error Situation

KnlMsg

dbm.prt Popup

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 68

Page 69: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 69

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 69

Consistency Checks – DBMGUI (1)

DBMGUI: Check -> Database Structure

Page 70: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 70

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 70

Consistency Checks - DBMGUI (2)

Different choices:

Extended

Except Index

With Long Check

Catalog

Page 71: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 71

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 71

Check Backup (1)

Backups are checked using a service database.

No data is written to the disks.

Service database merely occupies disk space.

Check of parallel backups is possible.

DBM command: recover_check

Check if the backup

is complete

has valid contents

Page 72: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 72

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 72

Check Backup (2)

Right Click:

Check

Backup

OR: Check Backup in the context menu

of the database

Page 73: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 73

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 73

Check Backup (3)

Page 74: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 74

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 74

Examples of Problem Situations

Connect problems

Log full

DB full

Crash, Emergency Shutdown

System hanger

Restart problem

Backup-/Restore problems

System copy

I/O problems

System errors –9026, -9028

Page 75: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 75

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 75

Connect Problems: Check with R3trans

Page 76: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 76

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 76

Log Full - Identification

Page 77: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 77

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 77

Log Full - Solution

Release the log

full situation:

Perform a log

backup

Page 78: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 78

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 78

DB Full - Identification

Page 79: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 79

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 79

DB Full - Solution

Page 80: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 80

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 80

Crash of the Database: kill

Signal 9: A thread of the database has been

killed with „kill –9“. knldiag

Page 81: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 81

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 81

Emergency Shutdown: Log I/O Error

knldiag Error during write to a log volume

Page 82: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 82

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 82

Identification of a System Hanger

A lot of updates on table ZZTELE occupy the

dialog processes

Active tasks have the status Vwait

(SQL lock)

Page 83: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 83

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 83

System Hanger: Who is the Lock Holder?

Task 48 keeps the lock and belongs to

application process 9008.

It is not known as work process.

Page 84: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 84

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 84

System Hanger: What is Task 48 doing?

Task 48 is not active in the database.

Task 64 works for transaction db50.

Page 85: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 85

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 85

Standstill of the System: Eliminate Cause

Page 86: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 86

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 86

Restart Failed: Lack of Memory

knldiag

xserver*.prt

Page 87: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 87

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 87

Backup / Restore

Overview of backup activities: dbm.knl

Formatted display

in DBMGUI:

Information -> Backup

History

or

in Database Studio:

Administration ->

Backup

Page 88: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 88

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 88

Backup with External Backup Tool

Page 89: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 89

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 89

Restore with External Backup Tool

Page 90: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 90

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 90

External Backup Identifier

Page 91: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 91

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 91

Example: Backup / Restore (1)

Page 92: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 92

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 92

Example: Backup / Restore (2)

Page 93: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 93

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 93

Example: Backup / Restore (3)

Page 94: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 94

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 94

Example: Faulty Tape Devices

1st attempt: RESTORE DATA was successful

RESTORE LOG fails

2nd attempt: RESTORE DATA fails, but is later successful with the identical

backup

Page 95: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 95

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 95

Error during System Copy

Classical user fault: DB has

been started before Restore!

DB is not „empty“, then.

Page 96: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 96

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 96

I/O Error: Verification of Checksum in Index Page

Page 97: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 97

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 97

DB50: Recreate Index

© SAP 2008 / MaxDB Internals Version 7.7 – Diagnose / Seite 97

Page 98: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 98

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 98

I/O Error: Verification of Checksum in Data Page

Page 99: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 99

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 99

System Error

Diagnosis of severe errors

(-10000 < Error number <= -9000)

Sometimes the database crashes.

1. After a crash, the start procedure copies the diagnosis files to a directory. In the standard,

the parameter DiagnoseHistoryPath is set to <RUNDIRECTORY>/DIAGHISTORY. Only two

versions of these files are kept (parameter DiagnoseHistoryCount)

2. After the crash:

Try to restart the database (with vtrace switched on)

3. Check, if the error can be reproduced (with vtrace switched on)

4. Inform the support group, if the cause could not be identified – open a customer message.

Page 100: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 100

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 100

Analysis Examples

Message -602 in Syslog

How can database problems be analysed using db50?

Example 1: -9026 Bad Data Page

Example 2: -9028 Bad File

How does MaxDB support do an analysis if the database can no longer be

transferred to the Online operational state (DB state Admin)?

Analyze pages

Restart record

Page 101: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 101

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 101

DB50: Problem Analysis -9026 Bad Data Page

Page 102: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 102

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 102

DB50: Error Texts and Codes

Page 103: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 103

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 103

DB50: Problem Analysis - Messages

Page 104: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 104

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 104

DB50: Problem Analysis – Kernel Trace

Page 105: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 105

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 105

Example -9026: Solution

Check, if the affected object is a table.

Examine volume 2, if there are hardware problems.

Remove hardware problem.

Restore of the database

CHECK DATA with transaction db13

Page 106: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 106

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 106

DB50: Problem Analysis -9028 BD BAD FILE

Page 107: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 107

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 107

DB50: Problem Analysis – Messages

Page 108: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 108

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 108

DB50: MaxDB Tools

Page 109: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 109

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 109

Example – Field Types in the view roots

SYS System table (not accessible)

NAMED INDEX named index

TABLE Table

SHORT STRING FILE contains the short LOB COLUMNs

(exists for each table with LOB COLUMNs)

LONG COLUMN contains the long LOBs (OWNER, TABLENAME and

INDEXNAME not specified)

TEMP temporary table

Page 110: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 110

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 110

DB50: CHECK TABLE

Page 111: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 111

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 111

SM37: Job Log Check_table

Page 112: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 112

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 112

x_diagnose

Direct access to database pages (data, converter, log)

Extraction of B* trees

Analysis of knldump

Command:

<instroot>/bin/x_diagnose

< instroot>/bin/x_diagnose

-u <dbm-user>,<dbm-pw> -d <SID>

Page 113: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 113

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 113

Diagnosis: Data Page (1)

Page 114: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 114

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 114

Data Page (2)

Page 115: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 115

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 115

Data Page (3)

Page 116: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 116

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 116

Data Page (4)

Page 117: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 117

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 117

Data Page (5)

Page 118: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 118

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 118

Diagnosis: Restart Record (1)

Page 119: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 119

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 119

Restart Record (2)

Page 120: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 120

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 120

Restart Record (3)

Page 121: maxdb

© SAP 2009 / MaxDB 7.7 Internals – Error Diagnosis/Page 121

© SAP 2007 / MaxDB 7.6 Internals – Error Diagnosis/Page 121

Diagnosis: Loginfo Page

Page 122: maxdb

Any questions?