|
Ошибка базы. HELP.Could not read block 26637 of relation base/50468/3305609: inv | ☑ | ||
---|---|---|---|---|
0
ExRq
22.03.12
✎
06:39
|
Добрый день.
Случилась беда с базой Конф: v8 УТ 10.3.6.8 база на PostgreSQL 8.4.3-3.1C При тестировании и исправлении вылетает ошибка Ошибка СУБД Error: Could not read block 26637 of relation base/50468/3305609: invalid argument В конфигураторе останавливается на надписи: Проверка логической целостности. Регистры накопления. Продажи. - 15% Дамп базы не делается ни средствами 1с ни PostgreSQL. База работает. Сбоев нет. Кто сталкивался? Что делать? |
|||
1
DMLangepas
22.03.12
✎
06:44
|
прогони копию базы, её же штатной проверкой, в папке 1cv82/../bin/chdbfl.exe
как вариант попробуй |
|||
2
ExRq
22.03.12
✎
06:50
|
Не уследил в какой момент перестали создаваться копии. И уже все затерлись ((..Есть совсем старые но там нет ошибок.
|
|||
3
DMLangepas
22.03.12
✎
07:09
|
(2) а новую копию создать нельзя??
|
|||
4
ExRq
22.03.12
✎
07:15
|
В том то и дело, не могу сделать резервную копию вылетает с ошибкой. Думаю связано как раз что то с этим блоком.
|
|||
5
zva
22.03.12
✎
07:16
|
Ну пробуй через XML в чистую базу выгрузить, возможно частями
|
|||
6
ExRq
22.03.12
✎
07:21
|
Хотелось бы конечно выгрузить базу штатными средствами и потом уже сменить PostgreSQL или дело не в нем ведь?
|
|||
7
DMLangepas
22.03.12
✎
07:34
|
(6) я просто не знаю, в SQL вообще не скопировать базу как в файловых??? там ведь есть путь к базе?
|
|||
8
ЧеловекДуши
22.03.12
✎
07:34
|
Поди БД файловая :)
|
|||
9
vde69
22.03.12
✎
07:36
|
можно вообще очистить этот регистр в субд, только потом востанавливать тяжело будет.
судя по ошибке у тебя сама посгрей посыпалась |
|||
10
ExRq
22.03.12
✎
07:37
|
Я ведь написал БД на PostgreSQL, Резервная копия не делается ни средствами 1с ни средствами Postgre
|
|||
11
Мыш
22.03.12
✎
07:37
|
(8) Написано же, "база на PostgreSQL 8.4.3-3.1C "
|
|||
12
ExRq
22.03.12
✎
07:40
|
(9) Отчеты строятся по любым периодам, ошибок не бывает..или это не связано?
|
|||
13
Мыш
22.03.12
✎
07:40
|
А по теме, "Продажи" - регистр оборотный, перепроведением восстановится. Так что грохнуть таблицу регистра, загрузить конфигурацию, реструктуризацию запустить, потом перепровести.
|
|||
14
ExRq
22.03.12
✎
07:43
|
(13) Опасно конечно заниматься этим без резервной копии..может есть ещё варианты?
|
|||
15
vde69
22.03.12
✎
07:48
|
(14) а копию сделать кто мешает?
останавливаешь службу и копируешь файлы :) |
|||
16
Мыш
22.03.12
✎
07:50
|
(14) Образ винчестера сделай. :)
|
|||
17
ExRq
22.03.12
✎
07:50
|
(14)А постгри потом стартанет если заменить базу на старую?
|
|||
18
ExRq
22.03.12
✎
07:51
|
(16) :)
|
|||
19
zva
22.03.12
✎
07:56
|
(17) Без танцев с бубном точно нет, но зато файлы останутся...
"Продажи" - первый поломатый регистр, на котором спотыкается ТиИ. Их может быть 100500... |
|||
20
ExRq
22.03.12
✎
08:01
|
(19) Плохо дело чувствую
|
|||
21
ExRq
22.03.12
✎
08:05
|
Кстати, идея. Недавно делал РБД с этого узла и она создалась без сбоев. Там конечно обрезанный узел но нужно попробовать на полном плане. А с файловой уже проще.
|
|||
22
vde69
22.03.12
✎
08:16
|
сделай так:
1. создай новую пустую базу с этой конфигурацией 2. экспортом гони таблицы из поломатой в новую 3. составляешь список таблиц которые не удалось копирнуть 4. принимаешь решение чего дальше способ безопасный, геморный, но понятный |
|||
23
Kraft
22.03.12
✎
08:20
|
(22) +1 за такой подход
|
|||
24
ExRq
22.03.12
✎
08:27
|
(22) Спасибо попробую.
Один вопрос Экспорт - это ты имеешь ввиду средство 1с или Postgre? Ни разу не сталкивался. |
|||
25
vde69
22.03.12
✎
08:31
|
(24) средстави СУБД, я с пости не работал, я только со скулем, зато так например востанавливал базу 7.7 примерно 60 гигов после краха винта и скульного рековера, там черти что было :)
|
|||
26
ExRq
22.03.12
✎
08:39
|
(25) Понял Спасибо. Буду пробовать. Отпишусь.
|
|||
27
Jofa
22.03.12
✎
08:42
|
Беда случилась уже давно когда Выбирали СУБД на учёбу забыли денег выделить ..)
|
|||
28
ExRq
22.03.12
✎
08:55
|
))
|
|||
29
ExRq
23.03.12
✎
07:26
|
Нашел таблицу которая дает ошибку.
accumreg7721 ERROR: could not read block 26637 of relation base/50468/3305609: Invalid argument Кто знает что за таблица? |
|||
30
vde69
23.03.12
✎
08:03
|
(29) регист...
теперь тупо в новой базе сделай ТиИс и потом полное перепроведение, и все будет рабочее. |
|||
31
DMLangepas
23.03.12
✎
08:03
|
(29) ERROR: could not read block 26637 of relation base/50468/3305609: Invalid argument
судя по последним словам, может это по больничным листам?))))))) |
|||
32
vde69
23.03.12
✎
08:08
|
(30) хотя лучше не перепроведение, а что-то более правильное, на сколько я понял у тебя один регист "продажы" крякнул, подумай как его заполнить без перепроведения :)
|
|||
33
ExRq
23.03.12
✎
08:10
|
(29) Объясни что такое ТиИс?
И как в новой? - я не могу её залить в новую базу. (30) Да конечно лучше как то заполнить ) |
|||
34
Мыш
23.03.12
✎
08:14
|
(33) Тестирование и Исправление.
|
|||
35
ExRq
23.03.12
✎
08:17
|
Тоесть перенести все таблицы в новую базу кроме этой и уже например средствами 1с её заполнить..? дошло
|
|||
36
ExRq
23.03.12
✎
08:27
|
А можно как то посмотреть что это за блок такой 26637?
|
|||
37
vde69
23.03.12
✎
08:28
|
(36) никак, это к 1с не имеет отношение, это номер страницы в файле субд
|
|||
38
vde69
23.03.12
✎
08:30
|
а вообще если такая ошибка появилась - это ОЧЕНЬ серьезный звонок админу, вариантов масса, от начала рассыпания дисков, до серьезных проблемм с софтом.
нет никакой гарантии что на этом сервере сабж не повторится но уже в КРУПНЫХ МАСШТАБАХ |
|||
39
ExRq
23.03.12
✎
10:23
|
Спасибо за помощь vde69
|
|||
40
Вяйнемейнен
23.03.12
✎
10:58
|
В Postgre подобные ошибки случаются с завидным постоянством, и, что самое плохое, - нет штатных утилит по лечению тип DBCC в MSSQL, поэтому главное правило - регулярные архивы.
Схема лечения такой ошибки следующая. В pgadmin нужно запустить переиндексацию с перебором всех таблиц, например, подобным скриптом: CREATE OR REPLACE FUNCTION _Reindex_Base( schema_name in name, result out bigint ) LANGUAGE plpgsql as $BODY$ DECLARE table_name name; BEGIN FOR table_name IN ( SELECT t.table_name FROM information_schema.tables t WHERE t.table_schema = schema_name AND t.table_type = 'BASE TABLE' -- AND t.table_name > '_reference84' ORDER BY t.table_name ) LOOP raise info 'reindex %s', table_name; EXECUTE 'REINDEX TABLE ' ||quote_ident(schema_name)||'.'||quote_ident(table_name); END LOOP; RETURN; END; $BODY$; SELECT result FROM _Reindex_Base('public'); Нормальные таблицы будут переиндексироваться, на битых будет спотыкаться. Битые таблицы потом нужно идентифицировать, каким объектам базы они соответствуют - благо обработок по представлению структуре базы везде валяется немеряно. Далее битые таблицы придется удалить и пересоздать - проще всего автогенерируемым CREATE скриптом в том же pgadmin. После этого восстанавливать данные, исходя из важности потерянных таблиц и имеющихся архивов. Служебные данные, типа итогов регистров - переформировать; движения регистров - можно восстанавливать, можно заново получить перепроведением. Справочники, документы, перечисления, независимые регистры сведений - только восстанавливать из бэкапов - либо тянуть в виде таблиц Postgre, либо разворачиать архивные базы полностью и выгружать-загружать средствами 1С. |
|||
41
vde69
23.03.12
✎
11:01
|
(40) вот по этому я и сижу на скуле :) а пости извени это пРости какое-то
|
|||
42
ExRq
23.03.12
✎
11:48
|
(40) Спасибо большое, сейчас пробую.
|
|||
43
Господин ПЖ
23.03.12
✎
11:52
|
не гонялся бы ты поп за дешевизной...
|
|||
44
ExRq
23.03.12
✎
12:49
|
Да уже тоже сижу думаю об этом..)
|
|||
45
Мыш
23.03.12
✎
13:39
|
Бесплатность линуксов нивелируется стоимостью поддержки.
|
|||
46
ansh15
23.03.12
✎
14:03
|
Это всего лишь стоимость несделанного вовремя бэкапа(ОС, СУБД и все остальное, практически, не имеет значения). Ключевая фраза в (3) - "Не уследил..."
|
|||
47
ansh15
23.03.12
✎
14:05
|
Извините, в (2)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |