Hello Martin, Provided, that your 7.6 database already exists, I do not see any problems with your script.
Best regards, Tilo Heinrich SAP Labs Berlin -----Original Message----- From: Martin Cordova [mailto:[EMAIL PROTECTED] Sent: Thursday, December 29, 2005 12:48 AM To: Heinrich, Tilo Subject: Re: "Row not found" error when recreating index... Thank you very much. I can't remember very well if I killed the process after the restore, there was a lot of trial and error until I got the right script for restore + init (I did not use DBMGUI), but the alternative of index recreation is fine, I will test it ASAP. Thank you very much for the support. I would be grateful if you could share with me the DBMCLI script to recover + init a SAPDB 7.4 backup into a 7.6 instance. I posted mine to the list a few days ago. Best regards, Martin On 12/28/05, Heinrich, Tilo <[EMAIL PROTECTED]> wrote: > Hello Martin, > > I was able to reproduce the problem, as follows. Create database using > backup from 7.4.3, load system tables, kill kernel process without > further ado. Does this fit into your case? > > As the indexes were created by the load system tables but not yet > manifested on the data volumes by a save point, the next restart marked > the indexes as bad. This is currently a feature of MaxDB to prevent > expensive index recreation during restart. The user has therefore the > privilege to manually recreate those indexes at a time suitable within > his environment. > > Unfortunately, the dbmcli command "sql_recreateindex ..." tries not only > to verify, that the index is marked as bad, but has also to figure out > the columns that were part of the index. Therefore it uses the view > DOMAIN.INDEXCOLUMNS, which unfortunately does not contain information > about any schemas, that start with SYS except schema SYSINFO. Schema > SYSDBFILESYSTEM is obviously excluded from that view. > > To make a long story short, until the sql_recreateindex command is > fixed, you have to either recreate the indexes manually: > > drop index CONTAINER_INDEX > drop index INODE_INDEX_1 > drop index INODE_INDEX_2 > > create unique index CONTAINER_INDEX on SYSDBFILESYSTEM.CONTAINER (INODE) > create unique index INODE_INDEX_1 on SYSDBFILESYSTEM.INODE > (ViewOwner,ParentDirectory, Name) > create unique index INODE_INDEX_2 on SYSDBFILESYSTEM.INODE (Container) > > Or, if the scenario mentioned above is fitting your case, you could also > recreate the database using the backup, load the system tables and avoid > to kill the database, but do a backup instead. > > Best regards, > Tilo Heinrich > SAP Labs Berlin > > -----Original Message----- > From: Martin Cordova [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 27, 2005 9:14 PM > To: maxdb > Subject: Re: "Row not found" error when recreating index... > > Hi Tilo: > > In addition, an attempt to check the database structure ends with this > error message: > > ./dbmcli -d prod -u dbm,dbm > ./dbmcli on prod>db_execute check data > ERR > -24988,ERR_SQL: Sql error > -9041,00000000030000000003 > > Database error file shows this: > > 2005-12-27 15:52:11 24 ERR 53019 CHECK Base error: > index_not_accessib > 2005-12-27 15:52:11 24 ERR 53019 CHECK Root pageNo: 140762 > 2005-12-27 15:52:11 24 ERR 53019 CHECK Base error: > index_not_accessib > 2005-12-27 15:52:11 24 ERR 53019 CHECK Root pageNo: 89427 > 2005-12-27 15:52:11 24 ERR 53019 CHECK Base error: > index_not_accessib > 2005-12-27 15:52:11 24 ERR 53019 CHECK Root pageNo: 106262 > 2005-12-27 16:14:23 24 ERR 53000 CHECK Check data finished > unsuccessfully > > Best regards, > Martin Cordova > -- > Dinamica - RADical J2EE framework > open source, easy and powerful > http://www.martincordova.com > > On 12/27/05, Martin Cordova <[EMAIL PROTECTED]> wrote: > > Hi Tilo, here is the output of the SQL commands, executed from > > SQLStudio, logged as DBA, DBA: > > > > 1) SELECT * FROM SYSDBM.INFO_BAD_INDEXES > > > > SYSDBFILESYSTEM CONTAINER CONTAINER_INDEX > > SYSDBFILESYSTEM INODE INODE_INDEX_1 > > SYSDBFILESYSTEM INODE INODE_INDEX_2 > > > > 2) SELECT * FROM SYSDBM.INFO_BAD_INDEXES WHERE "Schema > > Name"='SYSDBFILESYSTEM' AND "Table Name"='INODE' AND "Index > > Name"='INODE_INDEX_1' > > > > SYSDBFILESYSTEM INODE INODE_INDEX_1 > > > > 3) select BADINDEXES from SYSDD.DBM_STATE > > > > Returns: 3 > > > > 4) select * from SYSDD.BAD_INDEXES > > > > SYSDBFILESYSTEM SYSDBFILESYSTEM CONTAINER CONTAINER_INDEX > > SYSDBFILESYSTEM SYSDBFILESYSTEM INODE INODE_INDEX_1 > > SYSDBFILESYSTEM SYSDBFILESYSTEM INODE INODE_INDEX_2 > > > > How should I log into DBMCLI in order to execute the sql_recreateindex > > command? Maybe that is the source of the problem, since the tables you > > mentioned seem to have the expected information. > > > > Best regards, > > Martin > > > > > > On 12/27/05, Heinrich, Tilo <[EMAIL PROTECTED]> wrote: > > > Hello Martin, > > > > > > DBM command sql_recreateindex tries to determine, whether > > > SYSDBFILESYSTEM.INODE.INODE_INDEX_1 is marked as bad or not. It > > > therefore, executes the following SQL command: > > > > > > SELECT * FROM SYSDBM.INFO_BAD_INDEXES WHERE "Schema > > > Name"='SYSDBFILESYSTEM' AND "Table Name"='INODE' AND "Index > > > Name"='INODE_INDEX_1'" > > > > > > It seems, that no result is returned for the select, hence the > answer > > > "Row not found". Please verify this. > > > > > > Please execute also an "sql_execute select BADINDEXES from > > > SYSDD.DBM_STATE" and a "sql_execute select * from SYSDD.BAD_INDEXES" > and > > > post the result too. > > > > > > Best regards > > > Tilo Heinrich > > > > > > -----Original Message----- > > > From: Martin Cordova [mailto:[EMAIL PROTECTED] > > > Sent: Monday, December 26, 2005 4:37 PM > > > To: maxdb > > > Subject: "Row not found" error when recreating index... > > > > > > After restoring from 7.4 to 7.6, with the database in online mode, > the > > > following indexes are reported BAD by DBMGUI, all from the schema > > > SYSDBFILESYSTEM: > > > > > > INODE.INODE_INDEX1 > > > INODE.INODE_INDEX2 > > > CONTAINER.CONTAINER_INDEX > > > > > > When trying to rebuild any of these indexes an error occurs: > > > > > > ./dbmcli on prod>sql_recreateindex > SYSDBFILESYSTEM.INODE.INODE_INDEX_1 > > > ERR > > > -24988,ERR_SQL: Sql error > > > 100,Row not found > > > > > > A "check extended" reported these problems: > > > > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Base error: > > > index_not_accessib > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Root pageNo: 140762 > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Base error: > > > index_not_accessib > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Root pageNo: 89427 > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Base error: > > > index_not_accessib > > > 2005-12-22 18:44:45 24 ERR 53019 CHECK Root pageNo: 106262 > > > > > > I already updated system tables several times (load_systab), also > > > updated statistics on system tables > (sql_updatestat_per_systemtable). > > > > > > Is there a workaround for this problem? > > > > > > Best regards, > > > Martin > > > -- > > > Dinamica - RADical J2EE framework > > > open source, easy and powerful > > > http://www.martincordova.com > > > > > > -- > > > MaxDB Discussion Mailing List > > > For list archives: http://lists.mysql.com/maxdb > > > To unsubscribe: > > > http://lists.mysql.com/[EMAIL PROTECTED] > > > > > > > > > -- > > > MaxDB Discussion Mailing List > > > For list archives: http://lists.mysql.com/maxdb > > > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > > > > > > > > > > > -- > > Dinamica - RADical J2EE framework > > open source, easy and powerful > > http://www.martincordova.com > > > > -- > MaxDB Discussion Mailing List > For list archives: http://lists.mysql.com/maxdb > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > > -- > MaxDB Discussion Mailing List > For list archives: http://lists.mysql.com/maxdb > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > -- Dinamica - RADical J2EE framework open source, easy and powerful http://www.martincordova.com -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]