cancel
Showing results for 
Search instead for 
Did you mean: 

Problem adding Data Volume - db_addvolume

Former Member
0 Kudos

Hello all,

My database is in the state 'Admin' due to Data Area Full;

I have tried to add a volume with db_addvolume but for this to work the database needs to be in 'Online' state.

I can turn the db to Offline or Admin; not to Online state.

I then changed the parameter to add an extra db file:

-> param_addvolume 5 DATA '/sapdb/AIO/sapdata/DISKD0005' F 3840000

but when I want to execute it:

-> util_execute ADD DATA VOLUME '/sapdb/AIO/sapdata/DISKD0005' PAGES 3840000 DEVICE 5

the db responds that it cannot have access to the file DISKD0005

I have then created the file manually:

-> touch DISKD0005

and repeated the operation but still no success.

Can you please help me get my db back Alive.

thank you

Youss

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>

> Hello all,

>

> My database is in the state 'Admin' due to Data Area Full;

What version/build you are using ?

>

> I have tried to add a volume with db_addvolume but for this to work the database needs to be in 'Online' state.

>

> I can turn the db to Offline or Admin; not to Online state.

>

in my version (7.6.4.11) db_addvolume works in admin

dbmcli on AB1>db_admin

OK

---

dbmcli on AB1>db_adddevice DATA "DAT_0005" F 4096

OK

--

dbmcli on AB1>db_warm

OK

-> are you getting any errors when running db_addvolume in admin mode ?

please tell provide the errors (from dbm.prt / dbm.utl / knldiag file)

-> why you can not bring db to online ? any errors ? or db crash ? or ?

Regards

Ivan

maybe patching of database can help

Former Member
0 Kudos

Thank you Ivan, your post solved my problem.

I used db_adddevice instead of db_addvolume and it worked.

Thank you; you deserve your points.

bye

Youss

Answers (1)

Answers (1)

JPReyes
Active Contributor
0 Kudos

Use the dbmcli command...

dbmcli -d <database_name> -u <dbm_user>,<password> db_addvolume DATA <volume_name> <volume_type> <volume_size>

Read,

https://www.sdn.sap.com/irj/scn/wiki?path=/display/maxdb/dataareafull

http://maxdb.sap.com/doc/7_6/04/9a3842b23d690de10000000a155106/frameset.htm

Regards

Juan

Former Member
0 Kudos

Ola Juan,

as stated in my original message, I already tried the db_addvolume command in dbmcli (by the way , all commands I do are in dbmcli).

For db_addvolume towork the database needs to be in Online state. As my database is full, it gets in Admin state and not in Online state anymore.

I already read the links you provided.

Any other Idea ?

Youss

lbreddemann
Active Contributor
0 Kudos

Hi Youssef,

the cause of your problem is that you used "param_addvolume".

Where the heck did you get the information that this would be the right command?

Checking the documentation for [param_addvolume|http://maxdb.sap.com/doc/7_6/ea/be1432481611d4aa1100a0c9430730/content.htm] shows that there is a clear warning:

Use the DBM command param_addvolume described here only when creating a database instance, when creating a first mirror volume for a database instance, or in consultation with Support.

Extend an existing database instance using the DBM command for adding volumes (see: db_addvolume). Use the DBM command to create mirror volumes only if the database instance is already mirrored; that is, if mirror volumes already exist.

Inconsistencies in the volume settings can damage the database instance.

Why didn't you just use the DBMGUI/DB Studio?

If you would have done this, you would have been able to add the new volume only (at least if you use a MaxDB release > 7.3) as well as in ADMIN mode.

Besides: the database does not go offline when it's full. It does not even abort any transactions.

Instead it halts and waits for new space to be added.

Well, anyhow. Now you're parameter configuration is messed up.

What you can do now is to try to get your old parameter setup back.

All you've to do for that is to use the command param_restore x where x is the number of parameter version that was active before your current one got active.

So with param_restore 1 you should get your old parameter setup back.

This command should be run when the database is offline.

After that you may bring the database to Online again. Should the DATAAREA FULL situation reoccur then, just use the appropriate db_addvolume command to add a new volume.

Even better - skip fooling around with the command line when you don't know what all those fancy commands really do and stick to the safe and easy DBMGUI.

It's made for it and provides all options you get from DBMCLI.

regards,

Lars

p.s.

Is this a new trend or something?

This week this is the third question I get/read about users that messed up their databases because of using param_addvolume ...

What a waste of time ...