|
|
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvladМы не говорили о том, как избежать сбоя. Мы говорили о том, что сбой _уже произошёл_ Прекрасно, произошел сбой и у нас есть живая вадидная копия OnLine REDO В чем проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:08 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Ок, что будет с БД при потере RUJ ? При потере RUJ БД с неоткаченными данными. Я в этом случае беру бэкап и накатываю по журналам до последней закоммиченной транзакции(которые в логе) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:15 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) hvlad2. Это не означает отсутствие сброса не закомиченных данных в БД. Например, при нехватке буферов для чтения очередной порции данных Именно поэтому при восстановлении после креша за накатом всегда следует откат всего незакоммиченного по уже восстановленному UNDOЯ уже потерял нить - о чём речь ? Какой накат\откат, если он-лайн журнала нет ? В базе есть страницы с незакомиченными данными, но инф-ции для отката нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:49 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
landy В лог идут все операции, независимо от коммита и часто гораздо раньше, чем он произойдёт Ну это смотря в какой БД. К примеру в Oracle RDB туда идут только закоммиченные транзакции (суть - только измененные данные). Это не так. redo генерится во время изменения данных и копится в redo buffer,который сбрасывается на диск каждые 3 сек. или при заполнении больше чем на треть (и еще в паре случаев), а по commit в лог сбрасывается маркер окончания транзакции. При этом, лог Оракла содержит так же информацию об откате, т.к. защищает в том числе и данные сегментов отката. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:50 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) hvladМы не говорили о том, как избежать сбоя. Мы говорили о том, что сбой _уже произошёл_ Прекрасно, произошел сбой и у нас есть живая вадидная копия OnLine REDO В чем проблема ?В том, что кто-то невнимательно читает :) Мы обсуждаем случай, когда у нас _нет_ онлайн журнала. В этом и состоит сбой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:52 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad Gluk (Kazan) hvlad2. Это не означает отсутствие сброса не закомиченных данных в БД. Например, при нехватке буферов для чтения очередной порции данных Именно поэтому при восстановлении после креша за накатом всегда следует откат всего незакоммиченного по уже восстановленному UNDOЯ уже потерял нить - о чём речь ? Какой накат\откат, если он-лайн журнала нет ? В базе есть страницы с незакомиченными данными, но инф-ции для отката нет. Возможно я тоже потерял нить :( Если речь шла об Oracle, то информация для отката всегда в UNDO. В процессе восстановления, после наката всех логов (в том числе на UNDO), откатываются все неподтвержденные транзакции. До этого момента никого к грязным данным не пустят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:56 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad Gluk (Kazan) hvladМы не говорили о том, как избежать сбоя. Мы говорили о том, что сбой _уже произошёл_ Прекрасно, произошел сбой и у нас есть живая вадидная копия OnLine REDO В чем проблема ?В том, что кто-то невнимательно читает :) Мы обсуждаем случай, когда у нас _нет_ онлайн журнала. В этом и состоит сбой. В принципе это тоже самое, что и отсутствие инкрементального бэкапа в СУБД беж журнала транзакций. Кстати, у меня все же есть сомнения, что инкрементальный бэкап можно делать столь часто, чтобы он мог конкурировать с журналом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:58 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad Gluk (Kazan) hvladМы не говорили о том, как избежать сбоя. Мы говорили о том, что сбой _уже произошёл_ Прекрасно, произошел сбой и у нас есть живая вадидная копия OnLine REDO В чем проблема ?В том, что кто-то невнимательно читает :) Мы обсуждаем случай, когда у нас _нет_ онлайн журнала. В этом и состоит сбой. Если у нас есть пропуск в журналал на момент краха, выполнить полное восстановление разумеется не удастся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 15:59 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
landy Ок, что будет с БД при потере RUJ ? При потере RUJ БД с неоткаченными данными. Я в этом случае беру бэкап и накатываю по журналам до последней закоммиченной транзакции(которые в логе)Правильно. Т.е. сама база _не_ консистентна и её нужно восстанавливать из бекапов. А теперь вернемся к началу этой беседы : hvlad landyУгу - если мы успеем этот бэкап сделать, а если пока делаем текущий бэкап или сразу после него авария - то все, данных нету. И что прикажете делать?То же, что делают при потере логов тр-ций :)Т.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журнала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:06 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) hvladМы обсуждаем случай, когда у нас _нет_ онлайн журнала. В этом и состоит сбой. Если у нас есть пропуск в журналал на момент краха, выполнить полное восстановление разумеется не удастсяОб этом я и говорю :) Т.е. механизм журналирования сам по себе не даёт 100% гарантии восстановления, как некоторые пытаются тут доказать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:08 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvladТ.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журналапардон, но я так и не понял что подразумевается под крахом: внезапная перегрузка или выход из строя винчестера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:11 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Apex hvladМы обсуждаем случай, когда у нас _нет_ онлайн журнала. В этом и состоит сбой. В принципе это тоже самое, что и отсутствие инкрементального бэкапа в СУБД беж журнала транзакцийДа, конечно ApexКстати, у меня все же есть сомнения, что инкрементальный бэкап можно делать столь часто, чтобы он мог конкурировать с журналом.Это уже практическая сторона вопроса. Инкрементальный бекап, возможно, дольше формируется (т.к. требует чтения БД, не обязательно всей), но содержит, как правило, меньше данных. Так что я бы не стал делать однозначных оценок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:16 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
SergSuper hvladТ.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журналапардон, но я так и не понял что подразумевается под крахом: внезапная перегрузка или выход из строя винчестера?Какая разница ? Ну, пусть будет выход из строя рейд-контроллера с журналами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:17 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad SergSuper hvladТ.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журналапардон, но я так и не понял что подразумевается под крахом: внезапная перегрузка или выход из строя винчестера?Какая разница ? Ну, пусть будет выход из строя рейд-контроллера с журналами :) Т.е. сами винчестеры остались целы? Тогда например для MS SQL сохранятся все завершенные транзакции, т.к. после каждой транзакции идёт запись в журнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:26 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
SergSuperТ.е. сами винчестеры остались целы? Тогда например для MS SQL сохранятся все завершенные транзакции, т.к. после каждой транзакции идёт запись в журналОпять с начала всё начинать ? В базе будут страницы с незакомиченными данными. Откатить их невозможно, ибо журнал погиб. Я приводил даже ссылку на FAQ на этом сайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:49 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad SergSuper hvladТ.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журналапардон, но я так и не понял что подразумевается под крахом: внезапная перегрузка или выход из строя винчестера?Какая разница ? Ну, пусть будет выход из строя рейд-контроллера с журналами :) Расцепляем диски из зеркала и вытаскиваем REDO-логи (все остальное есть) Надеюсь вы не собираетесь писать OnLine REDO на страйп или Боже упаси на RAID 5 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:53 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Кстати, даже если OnLine REDO погибли, можно восстановить БД в консистентном состоянии, просто на более ранний момент времени (в режиме ARCHIVELOG разумеется, архивные логи выносятся на STANDBY-сервер, так что в основной может падать бомба) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:56 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Расцепляем диски из зеркала и вытаскиваем REDO-логи (все остальное есть) Надеюсь вы не собираетесь писать OnLine REDO на страйп или Боже упаси на RAID 5 ?Я не собираюсь описывать каким образом журнал оказался потерян. И я не спрашиваю здесь что делать, если он потерян :) Мы рассмотрели ситуацию, когда возможна потеря данных в журналируемой СУБД. Не нужно мне доказывать, что правильными методами вероятность потери журналов можно свести к 0.00001% - я это не оспариваю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:59 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Привет, Gluk! Ты пишешь: GlukGK> Расцепляем диски из зеркала и вытаскиваем REDO-логи (все остальное есть)щаззз. это если диск рюхнулся, то да. а если контроллер (как было сказано), то шансы того, что данные будут валидны - мизерны. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 16:59 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
AAron да где Вы видите узкое место при последовательной записи в лог? сколько вы МБ/с собираетесь писать? 10? 20? 200? Если OLTP база меняет махом в разных сессиях по 200 МБ данных (условно, конечно), то за это надо голову отрывать разработчикам. Т.е по вашему операции с HDD уже не самое медленное место в компе? И если все меняющие данные потоки лезут к одному файлу лога - то это Вы не считаете узким местом системы? Проблема не в скорости записи на диск, проблема что все процессы борются за один ресурс и это есть потенциально узкое место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 18:02 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
wellx AAron да где Вы видите узкое место при последовательной записи в лог? сколько вы МБ/с собираетесь писать? 10? 20? 200? Если OLTP база меняет махом в разных сессиях по 200 МБ данных (условно, конечно), то за это надо голову отрывать разработчикам. Т.е по вашему операции с HDD уже не самое медленное место в компе? И если все меняющие данные потоки лезут к одному файлу лога - то это Вы не считаете узким местом системы? Проблема не в скорости записи на диск, проблема что все процессы борются за один ресурс и это есть потенциально узкое место. послушайте, когда Вы делаете логирование в многопоточной системе, вы даете каждому потоку право самостоятельно писать в лог? или же создаете отдельный поток, который сам уже занимается записью в лог, соблюдая при этом консистентность передаваемых сообщений? Если первое, то я не удивлюсь, что вы еще и файл открываете/закрываете каждый раз. В любом случае, файл журнала пишется последовательно, данные туда пишутся последовательно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 18:16 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
hvlad SergSuperТ.е. сами винчестеры остались целы? Тогда например для MS SQL сохранятся все завершенные транзакции, т.к. после каждой транзакции идёт запись в журналОпять с начала всё начинать ? В базе будут страницы с незакомиченными данными. Откатить их невозможно, ибо журнал погиб. Я приводил даже ссылку на FAQ на этом сайте Если журнал погиб - то естественно будет потеря информации, точно также как и при потере файла данных. Но это аппаратная проблема, которая решается аппаратно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 23:11 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) hvlad SergSuper hvladТ.е. в обеих системах возможны случаи потери данных : в Firebird - с момента последнего бекапа (инкрементального или полного) в системах с журналированием - с момента последнего архивирования журналапардон, но я так и не понял что подразумевается под крахом: внезапная перегрузка или выход из строя винчестера?Какая разница ? Ну, пусть будет выход из строя рейд-контроллера с журналами :) Расцепляем диски из зеркала и вытаскиваем REDO-логи (все остальное есть) Надеюсь вы не собираетесь писать OnLine REDO на страйп или Боже упаси на RAID 5 ? Я приводил встреченный мной на практике, крайне редкий и крайне неприятный расклад, при котором "поехала крыша" у RAID-контроллера в результате firmware ugrade. В данном случае имеем вот что: 1. Все данные введенные в систему после того как накрылся RAID-контроллер безвозвратно потеряны. Нет redo logs - нет point in time recovery. Тут hvlad прав. 2. Поскольку логи пишутся последовательно, а у грамотных DBA они еще и неспеша пишутся на ленту или на дешевенький массивчик ATA-дисков, то все старые логи до злополучного firmware ugrade с большой долей вероятности удастся спасти. Соответственно удастся восстановится на момент непосредственно перед злополучным апгрейдом. В случае же когда система пишет версии в блоки данных, то восстановление возможно по состоянию "на момент крайнего бэкапа" который мог быть дня 3 тому назад. Предположим что система "накрылась" через полчаса после злополучного апгрейда. В принципе абсолютно реальный сценарий. Оракл например очень не любит когда в блоках котрольные суммы не совпадают. Данные за эти полчаса "нарылись". Но! Мы делаем сильный ход, достав бэкап трехдневнрй давности, и накатив на него логи. Э вуаля, как говорят французы, база восттановалена на момент непосредственно перед апгрейдом. В системе же где логов нету, накрылись все данные за три дня, с момента крайнего бэкапа. Правда грамотные админы прежде чем трогать железяку обычно делают полный бэкап. От греха. В общем логи - штука удобная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 06:16 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Привет, Gluk! Ты пишешь: GlukGK> Расцепляем диски из зеркала и вытаскиваем REDO-логи (все остальное есть)щаззз. это если диск рюхнулся, то да. а если контроллер (как было сказано), то шансы того, что данные будут валидны - мизерны. Я же сказал, кроме зеркала в этом месте ничего использовать нельзя. Помимо этого есть возможность софтварного зеркалирования REDO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 08:32 |
|
||
|
PostgreSQL 8.2: сравнения с Oracle и MS SQL
|
|||
|---|---|---|---|
|
#18+
Зл0й1. Все данные введенные в систему после того как накрылся RAID-контроллер безвозвратно потеряны. Нет redo logs - нет point in time recovery. Тут hvlad прав. Нет OnLine REDO - ЕСТЬ point in time recovery НЕТ полного восстановления ЕСТЬ потерянные ТРАНЗАКЦИИ база в КОНСИСТЕНТНОМ состоянии RAID какого уровня накрылся ? Зеркало ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 08:35 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34207817&tid=1552961]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 373ms |

| 0 / 0 |
