|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
Здравствуйте. Помогите, пожалуйста, разобраться с ошибкой. Можно ли узнать, блобы каких именно таблиц повреждены, чтобы переписать их заново? (Informix 9.2) > oncheck -ce Validating BLOBSpace 'tppblobs' ... ERROR: Chunk: 4 /opt/informix/chunks/tppblobs ERROR:BLOB map page 125 contains reference to invalid tblspace 0x10103a ERROR:BLOB map page 897 contains reference to invalid tblspace 0x10117a ERROR:BLOB map page 910 contains reference to invalid tblspace 0x10118a ERROR:BLOB map page 987 contains reference to invalid tblspace 0x10028b 4 /opt/informix/chunks/tppblobs 250000 249890 110 10 /opt/informix/chunks/tppblobs2 250000 36202 213798 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 17:50 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwaЗдравствуйте. Помогите, пожалуйста, разобраться с ошибкой. Можно ли узнать, блобы каких именно таблиц повреждены, чтобы переписать их заново? (Informix 9.2) > oncheck -ce Validating BLOBSpace 'tppblobs' ... ERROR: Chunk: 4 /opt/informix/chunks/tppblobs ERROR:BLOB map page 125 contains reference to invalid tblspace 0x10103a ERROR:BLOB map page 897 contains reference to invalid tblspace 0x10117a ERROR:BLOB map page 910 contains reference to invalid tblspace 0x10118a ERROR:BLOB map page 987 contains reference to invalid tblspace 0x10028b 4 /opt/informix/chunks/tppblobs 250000 249890 110 10 /opt/informix/chunks/tppblobs2 250000 36202 213798 базу знаете ? Попробуйте oncheck -cDy <имя_БД> (или -cDIy для проверки с индексами) и вывод результата в файл. По порядку вывода таблиц и ошибок можно сориентироватся. Если это не подходит по каким либо причинам, то определите все таблицы, где есть блобы (обычно их не очень много) и проверьте каждую таблицу в отдельности. Найти таблицы с блобами можно просканировав схему БД на предмет наличия соответствующих типов данных или имени Blobspace. Можно воспользоваться нижеприведенным запросом для определения всех blob-ов в БД (правда, писался он 5 лет назад и за его правдивость не ручаюсь :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 12:15 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, благодарю вас за совет. Я запустила oncheck -cDIy для двух баз, содержащих таблицы с блобами, но команда оба раза не выдала ошибок. Сообщения, которые были в файлах вывода, довольно больших, свелись к трем типам: 1) WARNING: index check requires a s-lock on tables whose lock level is page. 2) TBLspace data check for armtest:informix.sysaggregates 3) Validating indexes for armtest:armtst.temp_stdwarn... Index 190_244 Index fragment in DBspace armtestdbs Index ix_stdwarn_date Index fragment in DBspace armtestdbs ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2009, 17:03 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwa ERROR:BLOB map page 125 contains reference to invalid tblspace 0x10103a ERROR:BLOB map page 897 contains reference to invalid tblspace 0x10117a ERROR:BLOB map page 910 contains reference to invalid tblspace 0x10118a ERROR:BLOB map page 987 contains reference to invalid tblspace 0x10028b Тогда попробуйте напрямую определить таблицу по ее TBLSNUM, который выдается в сообщении, используя следующий запрос (заменить в последней строке вместо коммента): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2009, 18:02 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, я попробую выполнить запрос завтра же. dbexport обрабатывает базы без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2009, 18:34 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, я выполнила запрос для sysmaster: select partnum, hex(partnum), dbsname, owner, tabname, collate from systabnames; В точности таких чисел, которые указаны в сообщении об ошибке, я не нашла. Вот ближайшие к ним, до и после. Но меня смущает, что там нет блобов. к 0x10028b (= 0x0010028b): partnum 1049173 (expression) 0x00100255 dbsname sandbox owner armtst tabname 173_186 collate ru_RU.1251 partnum 1049314 (expression) 0x001002E2 dbsname sandbox owner coma tabname routing collate ru_RU.1251 к 0x10103a, 0x10117a, 0x10118a (= 0x0010103a, 0x0010117a, 0x0010118a): partnum 1049778 (expression) 0x001004B2 dbsname sandbox owner oliver tabname 268_1216 collate ru_RU.1251 partnum 2097153 (expression) 0x00200001 dbsname armtestdbs owner informix tabname TBLSpace collate На всякий случай я сделала oncheck -cDIy для sandbox, вот строки, содержащие указанные имена таблиц (я опиралась на верхнюю границу): Validating indexes for sandbox:armtst.strucdemand... Index 173_186 Index fragment in DBspace rootdbs Validating indexes for sandbox:oliver.struc... Index 268_470 Index fragment in DBspace rootdbs Index 268_1216 Index fragment in DBspace rootdbs ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 11:30 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
Мне кажется, что если вы еще раз выполните oncheck -ce то ошибки уже не будет. Если они все таки остались, то желательно перезагрузить базу (сделать экспорт-импорт). Я правильно понял, что это некая тестовая БД (не продакшен) ? Т.е. она не большая ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 12:01 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, я делала проверку oncheck -ce, но все по-прежнему. Базы данных на самом деле большие, sandbox поменьше, чем armtest, которая не один гигабайт. И они рабочие, просто на другой машине созданы их копии, где я пытаюсь избавиться от ошибки. dbexport делается без ошибок, но когда я пытаюсь сделать dbimport, не получается. Для sandbox получила ошибку: 569 - Cannot reference an external database with logging (при попытке построить синоним к другой базе). А для armtest, которая с блобами и на которую я думала вначале: No free disk space. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 12:40 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
судя по всему таблиці/блобі/строки ушли а блопі чето остались oncheck -cDI <dbname> ошібкі в таком случае не даст Есть ли в талицах, которіе ві вібрали с помощью Васиного запроса блобі? Хотя даже и при наличии таковіх - возможна потеря. Возможно єто баг, какая у вас версия информикс? Скорее всего вам нужно либо: 1. смириться с ошибкой 2. переинициализировать весь сервер (нужно пересоздать пространство, а оно не удалится если в нем что-то есть) 3. обратиться в поддержку, думаю для таких ситуаций есть средства для чистки По поводу Для sandbox получила ошибку: 569 - Cannot reference an external database with logging (при попытке построить синоним к другой базе). А для armtest, которая с блобами и на которую я думала вначале: No free disk space. Все єто прогнозируемо В первом случае - синонимі нужно создать после включения логгирования на импортируемой БД.(перед загрузкой убрать операторі создания єтих синонимов) Во втором - увеличить место. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 13:13 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
zaiets, спасибо за помощь. В таблицах, выбранных с помощью запроса, полей-блобов вообще нет. А версия Informix 9.2. Думаю, если я ничего не смогу поделать, действительно придется обратиться в поддержку. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 13:34 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwaВ таблицах, выбранных с помощью запроса, полей-блобов вообще нет. Упс-с. Это как ? Как вы это определяли ? Приведите пример выполнения запроса (по поиску блоб-полей в таблицах) и вывод dbschema для пары таблиц из этого списка. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 18:25 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwa И они рабочие, просто на другой машине созданы их копии, где я пытаюсь избавиться от ошибки. Ошибка при oncheck -ce где ? На каком сервере ? Основном или вашем, тестовом ? Если на тестовом, то сделайте как советует zaiets - просто переинициализируйте (заново создайте) сервер и создайте заново все необходимые ДБ-пространства. Надеюсь, что скрипт у вас от основного сервера есть. Затем выгрузите (экспорт) нужные БД на основном сервере и загрузите (импорт) на тестовом. Причем не забывайте про то , что БД имеют ссылки, а значит нужно снова понять совет zaiets - или убрать на время импорта второй БД ссылки на создание синонимов, а затем их добавить после включения транзакционного режима, или во время загрузки 2-й БД импортировать ее с включенным транзакционным режимом (что чревато "длинной" транзакцией). Вы вообще ранее занимались администрированием Информикс ? Вам все понятно из советов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 18:35 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, я совсем недавно начала работать с Informix. Но если мне что-то будет непонятно из советов, я переспрошу. И ошибка, к сожалению, не на тестовом сервере, а на основном. На тестовый сервер базы были скопированы уже с ней. Так, о таблицах. Я написала выше, каким образом вышла именно на них по systabnames и вашему запросу. Оказалось, это вообще не таблицы сами по себе, а индексы к таблицам strucdemand и struc. То, что в strucdemand и struc нет блобов, я определила, когда использовала dbschema, а потом поискала в них название tppblobs (dbspace, где у нас хранятся блобы). DBSCHEMA -t strucdemand -d sandbox strucdemand.sql { TABLE "armtst".strucdemand row size = 13 number of columns = 4 index size = 24 } create table "armtst".strucdemand ( peak_id integer not null constraint "armtst".n425_887, object_id integer not null constraint "armtst".n425_888, object_type nchar(1) not null constraint "armtst".n425_889, demand_id integer not null constraint "armtst".n425_890, primary key (peak_id,object_id,demand_id) constraint "armtst".pr_strucdemand ); revoke all on "armtst".strucdemand from "public"; Информация из DBACCESS об индексах strucdemand: Index_name Owner Type/Clstr Access_Method Columns 173_186 armtst unique/No btree peak_id object_id demand_id DBSCHEMA -t struc -d sandbox struc.sql { TABLE "oliver".struc row size = 63 number of columns = 19 index size = 159 } create table "oliver".struc ( peak_id integer not null constraint "oliver".n450_1518, parent_id integer not null constraint "oliver".n450_1519, child_id integer not null constraint "oliver".n450_1520, parent_type nchar(1) not null constraint "oliver".n450_1521, child_type nchar(1) not null constraint "oliver".n450_1522, quantity float, on_branch float, order integer, level smallint, unit_id integer, mzk_flag nchar(1) default 'F' not null constraint "oliver".n450_1523, legacy_walk integer, current_branch smallint, advance_normal smallint, cycle_normal smallint, advance_fast smallint, cycle_fast smallint, parent_order integer, child_count integer, check (((((parent_type = 'х' ) AND (child_type IN ('я' ,'д' )) ) OR ((parent_type = 'я' ) AND (child_type IN ('я' ,'д' ,'о' ,'л' ,'г' )) ) ) OR ((parent_type = 'д' ) AND (child_type IN ('я' ,'д' ,'о' ,'л' ,'г' )) ) ) OR ((parent_type = 'о' ) AND (child_type = 'л' ) ) ) constraint "ufff".c450_13450, primary key (peak_id,order) constraint "oliver".u450_1517 ); revoke all on "oliver".struc from "public"; create index "ufff".idx_33435664 on "oliver".struc (peak_id,parent_order) using btree ; create index "ufff".idx_34343434 on "oliver".struc (peak_id,level) using btree ; create index "oliver".ix_struc_edge1 on "oliver".struc (parent_id, child_id) using btree ; create index "ufff".ix_struc_edge77 on "oliver".struc (parent_id, parent_order) using btree ; create index "sergey".ix_struc_edge78 on "oliver".struc (peak_id, parent_id) using btree ; create index "sergey".ix_struc_edge79 on "oliver".struc (peak_id, child_id) using btree ; create index "sergey".ix_struc_edge80 on "oliver".struc (peak_id, parent_id,child_id) using btree ; alter table "oliver".struc add constraint (foreign key (peak_id) references "armtst".structop on delete cascade constraint "oliver".r450_1526); Информация из DBACCESS об индексах struc: Index_name Owner Type/Clstr Access_Method Columns 268_470 oliver unique/No btree peak_id order idx_33435664 ufff dupls/No btree peak_id parent_order idx_34343434 ufff dupls/No btree peak_id level ix_struc_edge1 oliver dupls/No btree parent_id child_id ix_struc_edge77 ufff dupls/No btree parent_id parent_order ix_struc_edge78 sergey dupls/No btree peak_id parent_id ix_struc_edge79 sergey dupls/No btree peak_id child_id ix_struc_edge80 sergey dupls/No btree peak_id parent_id child_id 268_1216 oliver dupls/No btree peak_id ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 09:39 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwaИ ошибка, к сожалению, не на тестовом сервере, а на основном. На тестовый сервер базы были скопированы уже с ней. Боюсь, что мы запутаемся в двух серверах :) Давайте условимся так, вы даете информацию (результаты запросов) только с _одного_ сервера, но не с двух. Каким образом базы были скопированы ? oncheck -ce на каком сервере выполнялся ? А повторно ? А запросы по поиску таблиц вы где делали ? Не думайте, что два сервера у вас полностью идентичны, вплоть до ошибок во внутренних структурах. P.S. Я на неделю ухожу в отпуск, т.ч. в ближайшее время форум читать не смогу.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 19:39 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
vasilis, Базы скопированы с помощью ontape. oncheck -ce многократно выполнялся на обоих серверах, с одинаковым итогом. Запросы по поиску таблиц делались на тестовом. Все результаты с тестового сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2009, 21:42 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
heiwavasilis, я выполнила запрос для sysmaster: select partnum, hex(partnum), dbsname, owner, tabname, collate from systabnames; В точности таких чисел, которые указаны в сообщении об ошибке, я не нашла. Вот ближайшие к ним, до и после. Но меня смущает, что там нет блобов. Ближайшие до и после - это совсем другие таблицы. Пусть вас не смущает, что там нет блобов. Раз вы не нашли тех чисел, которые в сообщении, значит нет уже тех таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 08:58 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
Тан, Спасибо. Вот как! Значит, таблиц нет, а пространство все равно плохое. Тогда я даже не знаю, как его исправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 14:53 |
|
Ошибка oncheck -ce
|
|||
---|---|---|---|
#18+
zaiets вам нужно либо: 1. смириться с ошибкой 2. переинициализировать весь сервер (нужно пересоздать пространство, а оно не удалится если в нем что-то есть) 3. обратиться в поддержку, думаю для таких ситуаций есть средства для чистки н-да, как всегда - не дочитал, что вы выбрали не те партнумы а рядом стоящие :) но, действия теже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 17:00 |
|
|
start [/forum/topic.php?fid=44&tid=1607845]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
194ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 338ms |
total: | 632ms |
0 / 0 |