See below
> From: Art S. Kagel [mailto:kagel@erols.com]
>
> Keep moving us towards a no-down-time server as much as possible. Such
> as (some mentioned by others):
>
> - Online index build - without locking the table - A dirty read is
> used to build the index then logical log records are replayed to clean
> up keys that were added, rolled back, or deleted during the build.
> During the build the index is marked disabled and is reenabled once
> the build is completed.
>
Dirty read is not enough to build index 'online'.
One can use mechanism similar to what ONTAPE is doing during archiving: one
can keep old copies of data pages in temporary dbspace, and, during index
build, take 'backuped' copies of those pages, which timestamp exceeds the
'index build start' timestamp.
Then, Logical log can really be used to roll forward subsequent changes.
'Online' build should be specified as a special option of 'CREATE INDEX' SQL
statement, line 'CREATE INDEX ... NONBLOCKING'
That would be a really cool feature which is really needed
for 24x7 systems (like mine). I couldn't even dream about it, this is why I
didn't mention it in my proposal.
The other feature highly desirable for 24x7 is:
GET RID OF ERROR 710!!!! (After alter table, build index, etc)
That is, after executing any DDL statement that changes table version all
prepared SQL statements, open cursors and stored procedures related to that
table became invalid, and user session get -710 error.
If these two features (online index build and online alter table) get
implemented in 9.60, IDS will became THE BEST RDBMS FOR 24x7 SYSTEMS!!!
Best regards,
Alexey Sonkin
sending to informix-list
sending to informix-list