Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
Представим ситуацию (на самом деле вот только что и произошла :( ) Есть база, живая и здоровая. И тут на винте появляется bad-sector. Постгрес на это дело реагирует просто, сообщает весело о ошибке чтения какого-то отношения с веселым коментарием "Input/output error." "Поднять" базу из "вчерашнего" дампа - не всегда выход. Во первых умера всего одна таблица, а во вторых "вчерашний" может быть слишком давно. Соответсвенно стоит вопрос "Что делать?". ЗЫ Я сделал просто - "fsck -Cc /dev/hdc1" после чего файла с таблицей не оказалаось в живых, затем "DROP TABLE / CREATE TABLE". Благо данные были неважные. Но, что делать если данные для пользователя важны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:28 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
А что Вы делаете если на bad block'е оказался важный файл Excel? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:36 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
mozheyko_dА что Вы делаете если на bad block'е оказался важный файл Excel? У меня таких нет, они лежат в репозитории. :) Но вопрос не является претензией к СУБД, и тем более к конкретной СУБД. Для битых файлов/сидуков и т.д. есть утилиты которые вытаскивают максимально возможное количество информации на основе оставшихся данных, с естественным предупреждение что "ой, все плохо". Может быть есть похожие методологии для юниха/постгреса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:37 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
Для умирающих дисков обычно делают dd -if... -of... на какой-нить диск. Дальше монтируют имидж и смотрят - что осталось. Наверно, что-то в этом роде. У Постгреса таблицы - файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:50 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
дампится чаще, репликации и т.д. в восьмерке куча всяких вкусностей на эту тему(дампы всякие). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 19:03 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
Я и имел ввиду что методы стандартные, как для любой файловой системы. Насчет "предохранения" от такой ситуации: зеркало, если винт один Solaris ZFS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 22:12 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron"Поднять" базу из "вчерашнего" дампа - не всегда выход. Во первых умера всего одна таблица, а во вторых "вчерашний" может быть слишком давно. Соответсвенно стоит вопрос "Что делать?". Но, что делать если данные для пользователя важны? Постгрес какой версии? Взять во-первых не ниже 8-ки Во-вторых, это стандартная задача для всех БД. Решается обычно 'правильным' размещением структур БД на дисках. Файлы с данными БД - на отдельном диске(ах), журналы транзакций(WAL в постгрес) - тоже на отдельном диске, не совпадающем с файлами данных, ну и ежедневный бэкап(тоже на отдельный диск). Т е как минимум нужны 3 диска. В *х такое размещение не проблема для постгрес(linkи), а вот в форточках WAL вынести на отдельный диск наверное не такая уж простая задача. читать тут как накатывать по журналам БД на момент возникновения проблем с таблицей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 08:07 |
|
||
|
Что делать если таблица умера физически?
|
|||
|---|---|---|---|
|
#18+
Что-то большинство советов дают ответ "нужно было предохраняться", что является ответом на несколько другой вопрос. И так. Есть бекапы, есть WAL, есть еще куча всего. Это все хорошо. Если настроено заранее. Но вопрос на "Что делать, если посыпалась таблица?" они не отвечают. Попробую просуммировать топик: 1. Если есть настроенный Continuous Archiving , то все просто все данные есть в WAL и следуя инструкции все восстановится. 2. Если его нет - то токмо восстановление БД из последнего бекапа, и все новые данные - в топку. Из своих предложений - попробовать вытащить новые записи из таблицы с помощью SELECT ... LIMIT OFFSET в другую таблицу, ну а проблемы ссылочной или другой целостности - это уж от структуры БД зависит. Ну и естественно "для избежания... настоятельно... крайне необходимо... " и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 19:26 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=53&tid=2005841]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 456ms |

| 0 / 0 |
