|
Home > Archive > SQL Anywhere database > September 2005 > DB Integrity - Critical data and Corruption detection - How are you handling it?
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
DB Integrity - Critical data and Corruption detection - How are you handling it?
|
|
| Mike Niemann 2005-09-13, 9:23 am |
| We have developed a Clinical application that is classified as a Medical
Device.
We are trying to provide the highest level of data integrity possible, and
are considering using CRC's (either at the row, or column level) to enable
us to detect integrity errors in the database. Has anyone used such an
approach? Any recommendations?
At the level higher than column contents, we are also concerned with "index
corruption" and "orphaned records"... both of which we have encountered over
time [fortunately not very often... but more often than we would like]. We
plan to use DBValid to check, but it doesn't claim to be a full integrity
validator. Any good ideas about how to at least detect integrity errors as
soon as possible, and as thoroughly as possible?
Regards, Mike Niemann, PBBrowser Author
| |
| Breck Carter [TeamSybase] 2005-09-13, 9:23 am |
| Database page checksums were added in 9.0.1; see dbinit -s in the
Help, as well as dbvalid.
Breck
On 13 Sep 2005 06:32:43 -0700, "Mike Niemann" <mniemann@oowidgets.com>
wrote:
>We have developed a Clinical application that is classified as a Medical
>Device.
>
>We are trying to provide the highest level of data integrity possible, and
>are considering using CRC's (either at the row, or column level) to enable
>us to detect integrity errors in the database. Has anyone used such an
>approach? Any recommendations?
>
>At the level higher than column contents, we are also concerned with "index
>corruption" and "orphaned records"... both of which we have encountered over
>time [fortunately not very often... but more often than we would like]. We
>plan to use DBValid to check, but it doesn't claim to be a full integrity
>validator. Any good ideas about how to at least detect integrity errors as
>soon as possible, and as thoroughly as possible?
>
>Regards, Mike Niemann, PBBrowser Author
>
--
SQL Anywhere Studio 9 Developer's Guide
Buy the book: http://www.amazon.com/exec/obidos/A...7/risingroad-20
bcarter@risingroad.com
RisingRoad SQL Anywhere and MobiLink Professional Services
www.risingroad.com
| |
| Glenn Paulley 2005-09-13, 9:23 am |
| "Mike Niemann" <mniemann@oowidgets.com> wrote in
news:4326d4e4$1@foru
ms-2-dub:
> We have developed a Clinical application that is classified as a
> Medical Device.
>
> We are trying to provide the highest level of data integrity possible,
> and are considering using CRC's (either at the row, or column level)
> to enable us to detect integrity errors in the database. Has anyone
> used such an approach? Any recommendations?
>
> At the level higher than column contents, we are also concerned with
> "index corruption" and "orphaned records"... both of which we have
> encountered over time [fortunately not very often... but more often
> than we would like]. We plan to use DBValid to check, but it doesn't
> claim to be a full integrity validator. Any good ideas about how to at
> least detect integrity errors as soon as possible, and as thoroughly
> as possible?
>
> Regards, Mike Niemann, PBBrowser Author
>
>
>
ASA 9.0.1 releases (and up) support page-level CRC's as a database
option. From the help:
Database page checksums
Database page checksums are used to detect whether a database page has
been modified on disk. When a database is created with checksums enabled,
a checksum is calculated for each page before it is written to disk. When
a page is read from disk, its checksum is calculated again and compared
to the stored checksum. If the values are different, the page has been
modified or otherwise corrupted while on disk. Existing databases must be
unloaded and reloaded into a database with checksums enabled to use this
feature. You can check whether checksums are enabled for a database using
the Checksum property.
For more information about creating databases with checksums, see CREATE
DATABASE statement, The Initialization utility, and Database-level
properties.
Checksums can also be used to validate a database.
For more information, see dbvalid, The Validation utility, and
sa_validate system procedure.
--
Glenn Paulley
Research and Development Manager, Query Processing
iAnywhere Solutions Engineering
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
| |
| Mike Niemann 2005-09-13, 11:23 am |
|
"Glenn Paulley" <paulley@ianywhere.com> wrote in message
news:Xns96D0694A35A3
5paulleyianywherecom
@10.22.241.106...
> "Mike Niemann" <mniemann@oowidgets.com> wrote in
> news:4326d4e4$1@foru
ms-2-dub:
>
>
> ASA 9.0.1 releases (and up) support page-level CRC's as a database
> option. From the help:
>
> Database page checksums
>
> Database page checksums are used to detect whether a database page has
> been modified on disk. When a database is created with checksums enabled,
> a checksum is calculated for each page before it is written to disk. When
> a page is read from disk, its checksum is calculated again and compared
> to the stored checksum. If the values are different, the page has been
> modified or otherwise corrupted while on disk. Existing databases must be
> unloaded and reloaded into a database with checksums enabled to use this
> feature. You can check whether checksums are enabled for a database using
> the Checksum property.
>
> For more information about creating databases with checksums, see CREATE
> DATABASE statement, The Initialization utility, and Database-level
> properties.
>
> Checksums can also be used to validate a database.
>
> For more information, see dbvalid, The Validation utility, and
> sa_validate system procedure.
>
>
>
> --
> Glenn Paulley
> Research and Development Manager, Query Processing
> iAnywhere Solutions Engineering
>
> EBF's and Patches: http://downloads.sybase.com
> choose SQL Anywhere Studio >> change 'time frame' to all
>
> To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
>
> SQL Anywhere Studio Supported Platforms and Support Status
> http://my.sybase.com/detail?id=1002288
Glenn,
Thanks for the quick response. BTW, I was in one of your sessions in San
Diego...
The page CRC's sound good. I'm not sure if it will suffice though... because
we are concerned with the data at a patient level, but it is much better
than not having CRC's at all within the DB. Do they apply to index pages as
well? Is there any special "detection" to catch index corruption within the
database?
Regards, Mike Niemann
| |
| Mike Niemann 2005-09-13, 11:23 am |
| Breck,
Thanks for the quick response.
Although I have 8.0.3 installed, the Help file is for 8.0.2 [which I've
never installed]...
and there is no -s switch for dbinit. However, the 9.0.1 Help shows it is
for checksums.
Thanks again.
Regards, Mike Niemann
"Breck Carter [TeamSybase]" < NOSPAM__bcarter@risi
ngroad.com> wrote in
message news:78ndi1dnr5gjsvs
ghsn8hsrtv8i3u1uap1@
4ax.com...
> Database page checksums were added in 9.0.1; see dbinit -s in the
> Help, as well as dbvalid.
>
> Breck
>
> On 13 Sep 2005 06:32:43 -0700, "Mike Niemann" <mniemann@oowidgets.com>
> wrote:
>
and[color=darkred]
enable[color=darkred
]
" index[color=darkred]
over[color=darkred]
We[color=darkred]
as[color=darkred]
>
> --
> SQL Anywhere Studio 9 Developer's Guide
> Buy the book:
http://www.amazon.com/exec/obidos/A...7/risingroad-20
> bcarter@risingroad.com
> RisingRoad SQL Anywhere and MobiLink Professional Services
> www.risingroad.com
| |
| Glenn Paulley 2005-09-13, 11:23 am |
| "Mike Niemann" <mniemann@oowidgets.com> wrote in
news:4326f21d$1@foru
ms-2-dub:
>
> "Glenn Paulley" <paulley@ianywhere.com> wrote in message
> news:Xns96D0694A35A3
5paulleyianywherecom
@10.22.241.106...
>
> Glenn,
>
> Thanks for the quick response. BTW, I was in one of your sessions in
> San Diego...
>
> The page CRC's sound good. I'm not sure if it will suffice though...
> because we are concerned with the data at a patient level, but it is
> much better than not having CRC's at all within the DB. Do they apply
> to index pages as well? Is there any special "detection" to catch
> index corruption within the database?
>
> Regards, Mike Niemann
>
>
>
CRC's are applied to every page in the entire database. Detection of a
corrupt page is made immediately after the page is read from disk into
the buffer pool.
--
Glenn Paulley
Research and Development Manager, Query Processing
iAnywhere Solutions Engineering
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
| |
| Mike Niemann 2005-09-28, 11:23 am |
|
"Glenn Paulley" <paulley@ianywhere.com> wrote in message
news:Xns96D07B7026BE
8paulleyianywherecom
@10.22.241.106...
> "Mike Niemann" <mniemann@oowidgets.com> wrote in
> news:4326f21d$1@foru
ms-2-dub:
>
>
> CRC's are applied to every page in the entire database. Detection of a
> corrupt page is made immediately after the page is read from disk into
> the buffer pool.
>
> --
> Glenn Paulley
> Research and Development Manager, Query Processing
> iAnywhere Solutions Engineering
>
> EBF's and Patches: http://downloads.sybase.com
> choose SQL Anywhere Studio >> change 'time frame' to all
>
> To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
>
> SQL Anywhere Studio Supported Platforms and Support Status
> http://my.sybase.com/detail?id=1002288
Glenn,
Sorry for the delay... vacation you know! <g>
Since I don't see an SQLCODE/SQLSTATE message, I assume that if the server
detects a checksum problem... it would "assert" and error and shutdown. Is
that true?
Regards, Mike Niemann
| |
| Glenn Paulley 2005-09-29, 3:23 am |
| "Mike Niemann" <mniemann@oowidgets.com> wrote in
news:433ababd@forums
-2-dub:
>
> "Glenn Paulley" <paulley@ianywhere.com> wrote in message
> news:Xns96D07B7026BE
8paulleyianywherecom
@10.22.241.106...
>
> Glenn,
>
> Sorry for the delay... vacation you know! <g>
>
> Since I don't see an SQLCODE/SQLSTATE message, I assume that if the
> server detects a checksum problem... it would "assert" and error and
> shutdown. Is that true?
>
> Regards, Mike Niemann
>
>
>
Yes.
--
Glenn Paulley
Research and Development Manager, Query Processing
iAnywhere Solutions Engineering
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
|
|
|
|
|