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]

Reply via email to