cancel
Showing results for 
Search instead for 
Did you mean: 

Maxdb refuses connection

Former Member
0 Kudos

Hi experts,

Yesterday, dababase went down reporting itself as full and 'no connections possible'.

I tried to add x1 datavolume and x1 logvolume to my 7.5 Maxdb on Debian, resulting in a disaster I need to debug and recover in some way.

I checked knldiag as advised, and found:

2010-05-04 17:29:32 15 ERR 15 Admin RestartFilesystem failed

with 'I/O error'

2010-05-04 17:29:32 15 ERR 8 Admin ERROR 'disk_not_accessibl'

CAUSED EMERGENCY SHUTDOWN

2010-05-04 17:29:34 ___ Stopping GMT 2010-05-04

15:29:34 7.5.0 Build 031-123-104-253

2010-05-04 17:50:03 --- Starting GMT 2010-05-04

15:50:03 7.5.0 Build 031-123-104-253

2010-05-04 17:50:09 33 ERR 11000 d0_vatta Cannot open volume, No such

file or directory

2010-05-04 17:50:09 33 ERR 11000 d0_vatta Volume name 'DISKD0007'

2010-05-04 17:50:09 15 ERR 11000 vattach dev0_vattach returned FALSE

2010-05-04 17:50:09 15 ERR 14 IOMan Attach error on Data volume

7: Could not open volume

2010-05-04 17:50:09 15 ERR 15 Admin RestartFilesystem failed

with 'I/O error'

2010-05-04 17:50:09 15 ERR 8 Admin ERROR 'disk_not_accessibl'

CAUSED EMERGENCY SHUTDOWN

so decided to check datafiles. Log:

$ dbmancli -n localhost -d dbname -u dbman,dbman param_getvolsall LOG

OK

LOG_MIRRORED NO

MAXLOGVOLUMES 2

LOG_VOLUME_NAME_001 40960 F /home1/maxdb/dbname/DISKL001

data:

$ dbmancli -n localhost -d dbname -u dbman,dbman param_getvolsall DATA

OK

MAXDATAVOLUMES 10

DATA_VOLUME_NAME_0001 65535 F /home1/maxdb/dbname/DISKD0001

DATA_VOLUME_NAME_0002 65535 F /home1/maxdb/dbname/DISKD0002

DATA_VOLUME_NAME_0003 65535 F /home1/maxdb/dbname/DISKD0003

DATA_VOLUME_NAME_0004 65535 F /home1/maxdb/dbname/DISKD0004

DATA_VOLUME_NAME_0005 65535 F /home1/maxdb/dbname/DISKD0005

DATA_VOLUME_NAME_0006 65535 F /home1/maxdb/dbname/DISKD0006

DATA_VOLUME_NAME_0007 65535 F DISKD0007

I then 'created' /home1/maxdb/dbname/DISKD0007, /home1/maxdb/dbname/DISKL002, and re-checked:

$ dbmancli -n localhost -d dbname -u dbman,dbman param_getvolsall DATA

OK

MAXDATAVOLUMES 10

DATA_VOLUME_NAME_0001 65535 F /home1/maxdb/dbname/DISKD0001

DATA_VOLUME_NAME_0002 65535 F /home1/maxdb/dbname/DISKD0002

DATA_VOLUME_NAME_0003 65535 F /home1/maxdb/dbname/DISKD0003

DATA_VOLUME_NAME_0004 65535 F /home1/maxdb/dbname/DISKD0004

DATA_VOLUME_NAME_0005 65535 F /home1/maxdb/dbname/DISKD0005

DATA_VOLUME_NAME_0006 65535 F /home1/maxdb/dbname/DISKD0006

DATA_VOLUME_NAME_0007 65535 F /home1/maxdb/dbname/DISKD0007

$ dbmancli -n localhost -d dbname -u dbman,dbman param_getvolsall LOG OK

LOG_MIRRORED NO

MAXLOGVOLUMES 3

LOG_VOLUME_NAME_001 40960 F /home1/maxdb/dbname/DISKL001

LOG_VOLUME_NAME_002 40960 F /home1/maxdb/dbname/DISKL002

...this time seemed fine to me - am I wrong? I must be, as db_restart returns

$ dbmancli -n localhost -d dbname -u dbmanan,manpwd db_restart

ERR

-24895,ERR_SHUTDOWN: shutdown of database occured

-71,connection broken server state 6

Could please someone help/advice? I'm missing something.

max

Edited by: MMemory on May 5, 2010 2:07 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hello,

How did u add the new data/log volumes? What do u mean by 'created'??

If u added them correctly, u should see something similar in ur dbm.prt:

DBMSrv Command 'db_adddevice DATA "C:\sapdb\data\MESSY\data\DISKD0002" F 6400' is being executed.

DBMSrv Command 'db_adddevice' has ended with return code 0. <======

From ur postings, it's pretty clear, the config (what is in the param file) is not in sync with the physical volumes. DB is thinking ... I have to attach to DISKD0001 - DISKD0007, DISKL001 - DISKL002 but this is not gonna happen here since DISKD0007, DISKL002 do not physically exist on the file sys level.

Former Member
0 Kudos

Hello, Junco

thank you for the suggestion.

From what I see, i mys-typed the command: wrote 'param_addvolume' instead of 'db_addvolume' - thus, i did NOT add any volume, does this make sense? Now parameters and FAT are not aligned.

Problem is: will it be enuogh adding the volumes (the right way thi time, I mean)? and how? db not being online, its reply to

dbmcli -n localhost -d dbname -u dbman,manpwd db_addvolume LOG /home1/maxdb/dbname/DISKL002 F 40960, etc

is 'ERR -24936, ERR_DBNORUN: database is not running'. I feel soooo ignorant.

former_member229109
Active Contributor
0 Kudos

Hello MMemory,

1) In the case :

A) The database was offline status.

B) You used the dbm command 'param_addvolume' to add the data volume 7 and log volume 2 to the param file

=>

You could run the following steps to fix the problem:

A) Copy the param file u201Cdbnameu201D to u201Cdbname.oldu201D located in the directory < IndepData>/config

You could run u201Cxinstinfou201D or u201Cdbmcli dbm_getpath IndepDataPathu201D,

for example, I run on the local server:

xinstinfo

IndepData : C:\sapdb\data

IndepPrograms : C:\sapdb\programs

to get the IndepData path on your database server.

B) Run the dbm commands:

dbmcli -n localhost -d dbname -u dbman,manpwd param_delvolume 7 DATA

dbmcli -n localhost -d dbname -u dbman,manpwd param_delvolume 2 LOG

< !! DONu2019T use the param_delvolume dbm command to delete the

configuration of the data and log volumes from the param file, if the data and log volumes were created by the database kernel !! >

C) Bring the database to admin status:

dbmcli -n localhost -d dbname -u dbman,manpwd db_admin

Create the databackup. Post the results.

D) You could add the datavolume, when the database is in admin or online status.

E) See the database documentation at

http://maxdb.sap.com/doc/7_6/43/dcb374806a28c1e10000000a155369/content.htm

2) Are you SAP customer?

If you are SAP customer I recommend to create the SAP message on this issue.

Thank you and best regards, Natalia Khlopina

Former Member
0 Kudos

Hello Natalia,

this worked like a breeze - thanks!

> A) The database was offline status.

> B) You used the dbm command 'param_addvolume' to add the data volume 7

> and

yes to both a),b) an more: datavolumes where 98% full, and a hardware-error series of warnings had wasted HD(s) space filling it.

> A) Copy the param file u201Cdbnameu201D to u201Cdbname.oldu201D located in the

ok

> dbmcli -n localhost -d dbname -u dbman,manpwd param_delvolume 7 DATA

> dbmcli -n localhost -d dbname -u dbman,manpwd param_delvolume 2 LOG

ok, and ok and

> C) Bring the database to admin status:

OK again

done! Your lines solved my db problem.

I was then able to backup, empty/recover disk space, add db_volumes, etc etc etc maintenance - bringing dbname online and working again, and in a great shape I'd add.

Thank you Natalia for your help, again.

Best regards,

Max M.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello MMemory,

just two simple questions....

Did you try a

dbmancli -n localhost -d dbname -u dbmanan,manpwd db_offline

dbmancli -n localhost -d dbname -u dbmanan,manpwd db_admin

dbmancli -n localhost -d dbname -u dbmanan,manpwd db_online

? What does the database say to these commands?

Did you check the (unix) permissions for DISKD0007? Are they the same as for the other database files?

Best regards

Christian

Former Member
0 Kudos

Hello Christian,

thanks for the response, and I tried the following:

dbmcli -n localhost -d dbname -u dbman,manpwd db_offline

OK

dbmcli -n localhost -d dbname -u dbman,manpwd db_admin

OK

dbmcli -n localhost -d dbname -u dbman,manpwd db_online

ERR

-24895,ERR_SHUTDOWN: shutdown of database occured

-71,connection broken server state 6

and then I wrote my help msg; I didn't think about permissions and now look - on your suggestion

ooops, got this:

dbman@pimpamplum ~ $ ls -l /home1/maxdb/dbname

total 3476808

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0001

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0002

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0003

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0004

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0005

-rw-rw---- 1 maxdb sdba 536870912 May 4 17:29 DISKD0006

-rw-rw---- 1 maxdb sdba 335552512 May 4 17:29 DISKL001

actually, disks (I 'created': DISD0007, DISKL002) aren't shown/listed at all. What does this mean? It beats me. Do I have to re-create them in some other way, then?

Apologies about my newbyeness! Any suggestions, though?