|
|
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
всем привет! Недавно dbcc проверка нашла hard faults на таблице. Fault report выдал: Table Name___Index Type___Code___Description___________Page Number Bad_table____0____________100002_page free offset error___83498991 мануал по ошибкам ASE выдал: ошибка 100002 подобна ошибке 2505 по 2505 вот что раскопал: Table Corrupt: Free offset in page header is not reasonable; free offset should be >= %d and <= %d; check this page and offset (page#=%ld freeoffset on the page header=%ld) Explanation: There may be possible corruption in a database or a database object. Take any corrective action indicated by the message. Consult the Adaptive Server System Administration Guide and the Troubleshooting Guide. Пытался выгрузить bcp - не получилось. В процессе выгрузки есть несколько строк ругни: CTLIB Message: - L4/O1/S5/N28/5/0: ct_fetch(): protocol specific layer: external error: There is a tds protocol error. An illegal token was received. CTLIB Message: - L4/O2/S6/N36/6/0: ct_fetch(): protocol specific layer: internal Client Library error: There is a tds state machine error. An illegal tds token sequence was received. Несмотря на это выгрузка продолжается, доходит почти до конца, но затем вылетает виндовое окно с ошибкой: "Инструкция по адресу "0x7c911689" обратилась к памяти по адресу "0x07ac3030". Память не может быть "read". dbcc checktable (Bad_table) выдает: Checking Bad_table Table Corrupt: Free offset in page header is not reasonable; free offset should be >= 32 and <= 2048; check this page and offset (page#=83498991 freeoffset on the page header=2111) Table Corrupt: Free offset in page header is not reasonable; free offset should be >= 32 and <= 2048; check this page and offset (page#=97769615 freeoffset on the page header=2286) Table Corrupt: Free offset in page header is not reasonable; free offset should be >= 32 and <= 2048; check this page and offset (page#=97859175 freeoffset on the page header=2202) The total number of data pages in this table is 767028. Table has 4624532 data rows. Could not retrieve row from logical page 3 via RID because the entry in the offset table for that RID is less than or equal to 0. DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. Каким способом можно починить таблицу? Что если запустить селект по всей таблице с формированием скрипта по вставке, а потом на новой табл. выполнить скрипт по инсертам? Просто сама таблица большая - 4,5 млн. строк, получится ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2010, 17:48 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
trakober, пробуйте вылить данные bcp с указанием -F & -L ключей, обходя проблемные записи выясните командой dbcc page информацию про страницы 83498991, 97769615, 97859175 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2010, 19:32 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
к сожалению, с ключами -F -L та же картина :( dbcc page выдала вот что (но что полезного отсюда можно взять?): ------------------------ Execute ------------------------ Page not found in cache default data cache. Read from disk. BUFFER: Buffer header for buffer 0x1F03C000 (Mass head) page=0x1F03C800 bdnew=0x00000000 bdold=0x00000000 bhash=0x00000000 bmass_next=0x00000000 bmass_prev=0x00000000 bvirtpg=1561763823 bdbid=6 bmass_head=0x1F03C000 bmass_tail=0x1F03C000 bcache_desc=0x0558CEB0 bpool_desc=0x00000000 bdbtable=0x00000000 Mass bkeep=0 Mass bpawaited=0 Mass btripsleft=0 Mass btripsleft_orig=0 bsize=2048 (2K pool) bunref_cnt=0 bmass_stat=0x0800 (0x00000800 (MASS_NOTHASHED)) bbuf_stat=0x0 (0x00000000) Buffer bpageno=83498991 Mass bpageno=83498991 (Buffer slot #: 0) bxls_pin=0x00000000 bxls_next=0x00000000 bxls_flushseq=0 bxls_pinseq=0 bcurrxdes=0x00000000 Latch and the wait queue: Latch (address: 0x1f03c020) Latch wait queue: PAGE HEADER: Page header for page 0x1f03c800 pageno=83498991 nextpg=83499608 prevpg=83498990 objid=2025526745 timestamp=3337 b11b6feb nextrno=7 level=0 indid=0 freeoff=2111 minlen=103 page status bits: 0x1 (0x0001 (PG_DATA)) DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. Page not found in cache default data cache. Read from disk. BUFFER: Buffer header for buffer 0x1F03C000 (Mass head) page=0x1F03C800 bdnew=0x00000000 bdold=0x00000000 bhash=0x00000000 bmass_next=0x00000000 bmass_prev=0x00000000 bvirtpg=1610637455 bdbid=6 bmass_head=0x1F03C000 bmass_tail=0x1F03C000 bcache_desc=0x0558CEB0 bpool_desc=0x00000000 bdbtable=0x00000000 Mass bkeep=0 Mass bpawaited=0 Mass btripsleft=0 Mass btripsleft_orig=0 bsize=2048 (2K pool) bunref_cnt=0 bmass_stat=0x0800 (0x00000800 (MASS_NOTHASHED)) bbuf_stat=0x0 (0x00000000) Buffer bpageno=97769615 Mass bpageno=97769615 (Buffer slot #: 0) bxls_pin=0x00000000 bxls_next=0x00000000 bxls_flushseq=0 bxls_pinseq=0 bcurrxdes=0x00000000 Latch and the wait queue: Latch (address: 0x1f03c020) Latch wait queue: PAGE HEADER: Page header for page 0x1f03c800 pageno=97769615 nextpg=97769632 prevpg=97769614 objid=2025526745 timestamp=3337 b119af79 nextrno=7 level=0 indid=0 freeoff=2286 minlen=103 page status bits: 0x1 (0x0001 (PG_DATA)) DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. Page not found in cache default data cache. Read from disk. BUFFER: Buffer header for buffer 0x1F03C000 (Mass head) page=0x1F03C800 bdnew=0x00000000 bdold=0x00000000 bhash=0x00000000 bmass_next=0x00000000 bmass_prev=0x00000000 bvirtpg=1610727015 bdbid=6 bmass_head=0x1F03C000 bmass_tail=0x1F03C000 bcache_desc=0x0558CEB0 bpool_desc=0x00000000 bdbtable=0x00000000 Mass bkeep=0 Mass bpawaited=0 Mass btripsleft=0 Mass btripsleft_orig=0 bsize=2048 (2K pool) bunref_cnt=0 bmass_stat=0x0800 (0x00000800 (MASS_NOTHASHED)) bbuf_stat=0x0 (0x00000000) Buffer bpageno=97859175 Mass bpageno=97859175 (Buffer slot #: 0) bxls_pin=0x00000000 bxls_next=0x00000000 bxls_flushseq=0 bxls_pinseq=0 bcurrxdes=0x00000000 Latch and the wait queue: Latch (address: 0x1f03c020) Latch wait queue: PAGE HEADER: Page header for page 0x1f03c800 pageno=97859175 nextpg=97859160 prevpg=97859174 objid=2025526745 timestamp=3337 b119e43c nextrno=7 level=0 indid=0 freeoff=2202 minlen=103 page status bits: 0x1 (0x0001 (PG_DATA)) DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. ------------------------- Done -------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2010, 16:23 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
trakoberк сожалению, с ключами -F -L та же картина :( dbcc page выдала вот что (но что полезного отсюда можно взять?): а можно глянуть на "ту же картину" ? вот так пробовал? Код: plaintext 1. 2. 3. 4. 5. 6. таким образом выяснить какие записи битые (уменьшая кол-во записей на "битых" диапазонах) про page - да так, для проверки что это именно таблица, а не индекс... кстати, а что вернет это Код: plaintext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2010, 17:25 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
а Вы не пробовали создать на том же сервере новую БД и перегнать данные из таблицы в новую БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 11:23 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
M_Olgaа Вы не пробовали создать на том же сервере новую БД и перегнать данные из таблицы в новую БД? но это не избавляет от попытки достать данные из этой таблицы, правда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 12:26 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
M_Olga, для этого отдельная база не нужна. Я просто сделал select * into new_table from bad_table, после этого select count по обеим таблицам выдает одинаковое количество строк, но... Я так думаю, что подсчет в запорченной табл. идет за исключением плохих строк. На это меня натолкнул тот факт, что в Sybase Central есть расхождение по размеру таблицы старой и новой на 2 КБайта. Кто как думает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 16:39 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
komrad, вот именно, нужно как-то достать запорченные данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 16:54 |
|
||
|
ASE 11.9.2 запорчена таблица
|
|||
|---|---|---|---|
|
#18+
komrad, команда sp_helpindex CardCheck выдала: index_name | index_description | index_keys | index_max_rows_per_page | index_fillfactor | index_reservepagegap XPKBad_table | clustered, unique located on nod_data | Bad_table_ID | 0 | 0 | 0 XBad_table_CardNumber | nonclustered located on indexes | Bad_table_CardNumber | 0 | 0 | 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36581318&tid=2010669]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 264ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...