Hi Torsten,

This worked perfectly! Thanks for all the help.

Regards,
Mark

Strahl, Torsten wrote:

Hi Mark,
I can confirm your observation. I get the same error when I try to add new data devspace/volume
in the way I described you. My knldiag contains the following entries:
2004-04-20 11:17:33 0x534 19615 VOLUMEIO Attaching volume 'DATADEV3'
2004-04-20 11:17:33 0x76C ERR 18159 VOLUMEIO Could not open volume 'DATADEV3', rc = 2
2004-04-20 11:17:33 0x534 ERR 13 IOMan Attach error on Data volume 3: could not open volume
To avoid this error you should execute the following dbmcli command's
- remove the new devspace/volume from the configuration file
- db_admin
- util_execute ADD DATA DEVSPACE 'd:\NetVoyant\db\nms2\datadev02' PAGES 200 DEVICE 2
- if Okay then param_addvolume 2 DATA d:\NetVoyant\db\nms2\datadev02 F 200
Of course the best way to add a data volme is db_addvolume!


Regards,
Torsten

SAP DB, SAP Labs Berlin




-----Original Message----- From: Mark Johnson [mailto:[EMAIL PROTECTED] Sent: Dienstag, 20. April 2004 02:08 To: Strahl, Torsten Cc: Open Source List Subject: Re: Adding Dev Space after Database Full

Hi Torsten,

I am using 7.4 - still having problems. Here's a transcript from my last attempt. The database was recently installed and NOT out of space, but I thought the procedure should still work:


C:\>dbmcli -d nms2 -u control,control dbmcli on nms2>db_offline OK

---
dbmcli on nms2>param_getvolsall
OK
LOG_MIRRORED       NO
MAXARCHIVELOGS     2
MAXDATADEVSPACES   5
ARCHIVE_LOG_001    12800      F  d:\NETVOY~1\db\nms2\translog
DATADEV_0001       128000     F  d:\NETVOY~1\db\nms2\datadev01

---
dbmcli on nms2>param_addvolume 2 DATA d:\NetVoyant\db\nms2\datadev02 F 200
OK

---
dbmcli on nms2>param_getvolsall
OK
LOG_MIRRORED       NO
MAXARCHIVELOGS     2
MAXDATADEVSPACES   5
ARCHIVE_LOG_001    12800      F  d:\NETVOY~1\db\nms2\translog
DATADEV_0001       128000     F  d:\NETVOY~1\db\nms2\datadev01
DATADEV_0002       200        F  d:\NetVoyant\db\nms2\datadev02

---
---
dbmcli on nms2>db_admin
OK

---
dbmcli on nms2>util_execute ADD DATA DEVSPACE 'd:\NetVoyant\db\nms2\datadev02' PAGES 200 DEVICE 2
ERR
-24988,ERR_SQL: sql error
-914,Message not available


dbmcli on nms2>version
OK
version,os,dbroot,logon,code,swap
"7.4.3","WIN32","D:\NETVOYANT\SAPDB\DEPEND",True,ASCII,2


Also, is there some documentation on the util commands?


Thanks for all your help and persistence on this!
Mark



Strahl, Torsten wrote:

Hi Mark,
sorry it was my fault, because I thought you are using release 7.5 but now
I suppose you are using 7.4.03. (Do you?)
In 7.4.03 you have to call
util_execute ADD DATA DEVSPACE 'd:\NetVoyant\db\nms2\datadev02' PAGES 100 DEVICE 2
instead of
util_execute ADD DATA VOLUME 'd:\NetVoyant\db\nms2\datadev02' PAGES 100 DEVICE 2
Regards,
Torsten


SAP DB, SAP Labs Berlin

-----Original Message-----
From: Mark Johnson [mailto:[EMAIL PROTECTED]
Sent: Sonntag, 18. April 2004 21:05
To: Maxdb List
Cc: Strahl, Torsten
Subject: Re: Adding Dev Space after Database Full

I'm still having problems with this command. Here's the output:

(did this a couple of days ago:)
param_addvolume 2 DATA d:\NetVoyant\db\nms2\datadev02 F 100

Here's the rest:

---
dbmcli on nms2>db_state
OK
State
OFFLINE

---
dbmcli on nms2>param_getvolsall
OK
LOG_MIRRORED       NO
MAXARCHIVELOGS     2
MAXDATADEVSPACES   5
ARCHIVE_LOG_001    12800      F  d:\NETVOY~1\db\nms2\translog
DATADEV_0001       128000     F  d:\NETVOY~1\db\nms2\datadev01
DATADEV_0002       100        F  d:\NetVoyant\db\nms2\datadev02

---
dbmcli on nms2>db_admin
OK

---
dbmcli on nms2>util_execute ADD DATA VOLUME 'd:\NetVoyant\db\nms2\datadev02' PAGES 100 DEVICE 2
ERR
-24988,ERR_SQL: sql error
-3008,Message not available


---
dbmcli on nms2>


Thanks again for all the help - It looks like I'm close. Mark

Strahl, Torsten wrote:

Hi Mark,

in your case you should use the following command:

util_execute ADD DATA VOLUME 'D:\...\datadev02' PAGES 128000 DEVICE 2

Pay attention that the given data volume name has to be absolute identically with

the volume name given at the param_addvolume command.

Regards, Torsten

SAP DB, SAP Labs Berlin



-----Original Message-----
From: Mark Johnson [mailto:[EMAIL PROTECTED] Sent: Samstag, 17. April 2004 00:45
To: Maxdb List
Cc: Strahl, Torsten; 'John L. Singleton'
Subject: Re: Adding Dev Space after Database Full



Thanks for all the help. This makes sense, except the one step below where the ADD VOLUME is sent. I have looked for the utility commands and can't find the correct syntax. Here's what I tried:


dbmcli...
db_offline
param_addvolume 2 DATA D:\....\datadev02 F 128000
(the new volume appeared in the paramter file)
db_admin
util_execute  ADD VOLUME ??? - couldn't get this to work.

What's the correct syntax for the ADD VOLUME?

Thanks again for all the help!
Mark

Strahl, Torsten wrote:


Hi Mark, hi John,


yes, as a rule you should avoid using param_addvolume, because

this command will change the configuration file ONLY! NO action

takes place in the db kernel! The correct way to add a volume

is the db_addvolume command. This will change the configuration file

and additional the db kernel will be informed about the new volume.

You can see the db_addvolume(obsolete db_adddevice) in the dbm.prt

file and the corresponding kernel command "ADD DATA VOLUME ..." in

the dbm.utl file!



Note that each volume has a magic header page called IOMan_InfoPage.

This page contains among other informations the logical predecessor

and successor of a volume. If you change the configuration by hand

without informing the kernel about the new volume, the next restart

will fail!



Sometimes in the past we had problems if the configuration file (often

called param file) was CHANGED and somebody wants to add a data volume,

because the database could not start caused by a db full situation.

In this situation the db_addvolume command fails with something like:



"param file is dirty - add volume not possible;

first bring database in state online then add the new data volume"



But this isn't possible if the restart fails with db full! So we have

a workaround:



- do not use db_addvolume! (break the general rule)

- bring the database in state offline

- add the new volume with param_addvolume to the configuration

- bring the database in state admin

- send the command util_execute ADD DATAVOLUME 'volumeName' PAGES <pageCount>

DEVICE <logicalVolumeNumberWithinConfigurationFile>



- restart database



This workaround is obsolete with the new releases. See the following

bug reports:



http://www.sapdb.org/webpts?wptsdetail=yes <http://www.sapdb.org/webpts?wptsdetail=yes&ErrorType=1&ErrorID=1128555> &ErrorType=1&ErrorID=1128555

http://www.sapdb.org/webpts?wptsdetail=yes <http://www.sapdb.org/webpts?wptsdetail=yes&ErrorType=1&ErrorID=1128553> &ErrorType=1&ErrorID=1128553

http://www.sapdb.org/webpts?wptsdetail=yes <http://www.sapdb.org/webpts?wptsdetail=yes&ErrorType=1&ErrorID=1128552> &ErrorType=1&ErrorID=1128552



I hope this clarifies the joyless "add data volume - db full - restart"

situation.



BTW:

If the log area is your problem you should use the autosave log feature.

You should be VERY careful with the "SET LOG AUTO OVERWRITE ON" because

this interruptes your log backup history!!!



Regards,

Torsten



SAP DB, SAP Labs Berlin





-----Original Message-----

From: John L. Singleton [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ]

Sent: Freitag, 16. April 2004 04:44

To: Mark Johnson

Cc: Maxdb List

Subject: Re: Adding Dev Space after Database Full





Mark,



Try the command, db_addvolume. As a general rule, you should avoid

useing param_addvolume after you install the instance. Use

param_addvolume to add a mirrored log volume, for example, but not a

data volume.



For example: (in admin operational state)



#dbmcli -d <dbname> -u <dbmuser,dbmpass>

#db_addvolume DATA DAT_000X F <size in pages>



By default, when your logs become full, you must back them up. This will

"clean" the transaction log as you say.



You might consider setting your database logs to "Auto Overwrite" ---

this will make it impossible for the log to overflow.

Do this with the command: (in dbmcli)

#dbmcli -d <dbname> -u <dbmuser,dbmpass>

# db_admin

# util_connect

# util_execute SET LOG AUTO OVERWRITE ON

# util_release



Hope this helps,

JLS



Mark Johnson wrote:





I have had this problem before and received a few suggestions, but

have not solved this problem yet. Our database fills and, in

addition, there are many transactions in the transaction log. This

prevents the database from comming up into warm mode (it halts while

moving transactions to from the transaction log to the database I think).



I can get the database to admin mode, but the utilities will not allow

me to add a dev space while the database is in admin mode. So, I

either need a way to add a dev space in admin (or cold mode), or be

able to flush the transaction log and make all the records in the

database appear "clean" again.



Thanks in advance for any help.

Mark

















-- Mark A. Johnson RedPoint Network Systems, Inc. 60 E. Marie Ave Suite 204 West St. Paul, MN 55118 Office: (01) 651.552.2111

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
http://www.redpt.com <http://www.redpt.com/>


--
Mark A. Johnson
RedPoint Network Systems, Inc.
60 E. Marie Ave
Suite 204
West St. Paul, MN 55118
Office: (01) 651.552.2111

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
http://www.redpt.com <http://www.redpt.com/>


--
Mark A. Johnson
RedPoint Network Systems, Inc.
60 E. Marie Ave
Suite 204
West St. Paul, MN 55118
Office: (01) 651.552.2111

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
http://www.redpt.com <http://www.redpt.com/>

Reply via email to