Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 12 13 14 15 16 [17] 18 19 20 21   вперед  Ctrl
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
7) Нужно восстановить данные на момент времени 4). Вот тут нам и понадобится предыдущая версия.


В MS SQL для этого не используется версионное хранилище. Point In Time Restore делается исключительно на основаниии бэкапов (FULL +[DIFF] + LOGs). Соответвтенно, никакие временные объекты из Tempdb, в том числе версии строк в бэкап не попадают.
Ну вот. А кто-то говорил, что MS реализовал аналогичный Oracle механизм транзакций. Т.е. все-таки не аналог и чего-то сделать не смогли (либо не захотели)
13 дек 12, 14:17    [13625699]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
Тогда где хранится старая версия данных между началом транзакции и ее концом?


О каком использовании версии говорим? Мне казалось, я уже достаточно подробно описАл, для чего использутеся версионное хранилище и для чего оно не используется.
Простой вопрос - простой ответ. Есть сервер с 64 Гб оперативки. Есть таблица. Я меняю 200 Гб данных в этой таблице, но пока еще не зафиксировал изменения. Где хранятся старые версии для отката изменений?
13 дек 12, 14:19    [13625721]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
А кто-то говорил, что MS реализовал аналогичный Oracle механизм транзакций. Т.е. все-таки не аналог и чего-то сделать не смогли (либо не захотели)


Мдя... А можно привести всю Вашу цепочку рассуждений, приведших к такому выводу? Транзакции имеют одинаковые поведенческие характеристики (читатели не мешают писателям и наоборот, причем с возможность как использование оного для всей бд, неиспользования для всей бд, использования для конкретной таблицы бд блокировочного режима), а не аналогичную реализацию этого поведения.
13 дек 12, 14:22    [13625760]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
А кто-то говорил, что MS реализовал аналогичный Oracle механизм транзакций. Т.е. все-таки не аналог и чего-то сделать не смогли (либо не захотели)


Мдя... А можно привести всю Вашу цепочку рассуждений, приведших к такому выводу? Транзакции имеют одинаковые поведенческие характеристики (читатели не мешают писателям и наоборот, причем с возможность как использование оного для всей бд, неиспользования для всей бд, использования для конкретной таблицы бд блокировочного режима), а не аналогичную реализацию этого поведения.
Можно какой-то ответ получить на вот это 13625147? Не ради флейма - мне правда интересно.
13 дек 12, 14:26    [13625800]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Простой вопрос - простой ответ. Есть сервер с 64 Гб оперативки. Есть таблица. Я меняю 200 Гб данных в этой таблице, но пока еще не зафиксировал изменения. Где хранятся старые версии для отката изменений?


Вы задаете вопрос в "терминах архитектуры Oracle". Любые изменения (и старые и новые данные) пишуться в лог транзакций. Это неимеет никакого отношения к версиям. Ибо пишущая транзакция не обязана в MS SQL плодить версии в tempdb, если:

1. Не включен режим версионности;
2. Включен режим версионности, но нет читающих транзакций;
3. Нет триггеров, использующих inserted\deleted;
4. Не происходит Online операций с индексами.

С появлением механизма версионности архитектура логгирования изменений в MS SQL не изменилась. Как выглядит информация в логе я уже показывал: Покритикуйте Оракл 10г
13 дек 12, 14:32    [13625852]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Василий Бенедиктович
Guest
pkarklin
Василий Бенедиктович,

Можно поинтересоваться Вашим практическим оптытом использования фич Oracle, для которых Вы просите найти аналдоги?


physical standby,
rac

в продакшне пока еще 10g. специфика - гео сервисы.

ты мне на вопросы ответь выше. я тебе и тынц дал на вопрос.
13 дек 12, 14:42    [13625943]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin,

автор
Ну вот - Вы спец в MSSQL. Расскажите, как происходит неполное восстановление данных из online backup в MSSQL.
Например, в Oracle:
1) Восстанавливаются файлы данных, в т.ч. undo
2) Накатываются логи, в т.ч. на undo
3) СУБД открывается для доступа пользователей
4) Постепенно откатываются незавершенные транзакции, которые начались до момента, на который восстанавливали СУБД, но на этот момент не закончились.

Так вот для 4) нужно undo, поскольку откат транзакций.


1. Рестор полного бэкапа с опцией NORECOVERY;
2. Если такой есть, восстановление разностного бэкапа с опцией NORECOVERY;
3. Востановление всех бэкапов лога, не содержаших и младше нужного момента времени с NORECOVERY;
4. Востаноление бэкапа лога с нужным нам моментом времени с ОПЦИЯМИ RECOVERY и STOPAT.
5. БД открывается для доступа пользователей;
6. Постепенно откатываются незавершенные транзакции, которые начались до момента, на который восстанавливали БД, но на этот момент не закончились.

Если интересующий момент времени еще не забэкаплен и находится в логе, а не в бэкапе, то пунктом 0 сделать BACKUP LOGа. Причем при этом сама бд может быть повреждена и недоступна.
13 дек 12, 14:42    [13625953]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
Простой вопрос - простой ответ. Есть сервер с 64 Гб оперативки. Есть таблица. Я меняю 200 Гб данных в этой таблице, но пока еще не зафиксировал изменения. Где хранятся старые версии для отката изменений?


Вы задаете вопрос в "терминах архитектуры Oracle". Любые изменения (и старые и новые данные) пишуться в лог транзакций.

---поскипал не относящееся к делу-----
Вот мы и выяснили, что длинный транзакции являются катастрофой для MSSQL.
1) Наш лог не будет очищаться, поскольку в нем есть 1 строка, измененная транзакцией, начавшейся 1 день назад.
2) При восстановлении из резервной копии нам нужно восстановить резервную копию, а затем вычитать все журналы на 1 день в прошло, поскольку там была эта 1 строка
13 дек 12, 14:43    [13625967]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Василий Бенедиктович
ты мне на вопросы ответь выше. я тебе и тынц дал на вопрос.


По приведенному тынцу нет вопроса. Есть только

Василий Бенедиктович
прекрати троллить. почитай концепции, потом про стримсы и т. п..
13 дек 12, 14:44    [13625975]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
1. Рестор полного бэкапа с опцией NORECOVERY;
2. Если такой есть, восстановление разностного бэкапа с опцией NORECOVERY;
3. Востановление всех бэкапов лога, не содержаших и младше нужного момента времени с NORECOVERY;
4. Востаноление бэкапа лога с нужным нам моментом времени с ОПЦИЯМИ RECOVERY и STOPAT.
5. БД открывается для доступа пользователей;
6. Постепенно откатываются незавершенные транзакции, которые начались до момента, на который восстанавливали БД, но на этот момент не закончились.
Как вы будете откатывать транзакцию, если старая копия строки лежит в журнале, который вы не восстановили?
13 дек 12, 14:47    [13626011]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Давайте еще раз на пальцах
Время 1) Началась транзакция, изменила строку, старую версию записала в лог
Время 2) Сделали BACKUP LOG1
Время 3) Сделали BACKUP LOG2
Время 4) Сделали BACKUP DATABASE
Время 5) Сделали BACKUP LOG3
Время 6) Точка восстановления
Время 7) Сделали BACKUP LOG4
Время 8) Сделали BACKUP LOG5

Я утверждаю:
Что для восстановления на (Время 6) нам, в лучшем случаем, потребуется BACKUP LOG1.
13 дек 12, 14:58    [13626128]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
Alexander Ryndin,

Вам же пишут лог транзакции не используется для версионности и наоборот.
Это разные взгляды на похожие вещи.

В принципе (абстрагируясь от MS и Oracle) можно хоть две версии строки рядом держать, одну под грязные данные другую под чистые и по commit/rollback копировать одну в другую.
13 дек 12, 15:01    [13626168]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
pkarklin
1. Рестор полного бэкапа с опцией NORECOVERY;
2. Если такой есть, восстановление разностного бэкапа с опцией NORECOVERY;
3. Востановление всех бэкапов лога, не содержаших и младше нужного момента времени с NORECOVERY;
4. Востаноление бэкапа лога с нужным нам моментом времени с ОПЦИЯМИ RECOVERY и STOPAT.
5. БД открывается для доступа пользователей;
6. Постепенно откатываются незавершенные транзакции, которые начались до момента, на который восстанавливали БД, но на этот момент не закончились.
Как вы будете откатывать транзакцию, если старая копия строки лежит в журнале, который вы не восстановили?


Вопрос асболютно бессмысленен без указания момента модификации записи. Давате сделаем так. Есть база со следующей моделью резервного копирования:

1. Раз в неделю (0 часов воскресенья) полный бэкап;
2. Каждый день (0 часов кроме воскресенья) разностный бэкап;
3. Бэкап лога каждый час.

Укажите когда была открыта транзакция, модифицирующая запись, и на какой момент времени нужно восстановить, а я попытаюсь описАть как это происходит.
13 дек 12, 15:06    [13626224]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Давайте еще раз на пальцах
Время 1) Началась транзакция, изменила строку, старую версию записала в лог
Время 2) Сделали BACKUP LOG1
Время 3) Сделали BACKUP LOG2
Время 4) Сделали BACKUP DATABASE
Время 5) Сделали BACKUP LOG3
Время 6) Точка восстановления
Время 7) Сделали BACKUP LOG4
Время 8) Сделали BACKUP LOG5

Я утверждаю:
Что для восстановления на (Время 6) нам, в лучшем случаем, потребуется BACKUP LOG1.


Нет. Нам будет нужно

4) BACKUP DATABASE
7) BACKUP LOG4

Ибо BACKUP LOG4 будут содержать все транзакции начиная с момента Время 1, ибо открытая транзакция не дает возможности усечения лога.
13 дек 12, 15:16    [13626329]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Вот мы и выяснили, что длинный транзакции являются катастрофой для MSSQL.


Отнюдь, если над всем этим настроен мониторинг, который шлет оповещения при приближении свободного места в файле лога к концу (даже если настроено автоприращение) и\или автоматически выполняет предопределенные дейтсвия.

Поднимите руку, у кого Prod окуржение не моинторится тем или иным способом и\или не имеет предопределенных реакций на алерты?
13 дек 12, 15:32    [13626478]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Ибо BACKUP LOG4 будут содержать все транзакции начиная с момента Время 1, ибо открытая транзакция не дает возможности усечения лога.
Ну вот. Хоть к чему-то пришли. Получается LOG у вас не только при репликации не чистится, но и длинной транзакции. Плохо это.
13 дек 12, 15:52    [13626671]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
Давайте еще раз на пальцах
Время 1) Началась транзакция, изменила строку, старую версию записала в лог
Время 2) Сделали BACKUP LOG1
Время 3) Сделали BACKUP LOG2
Время 4) Сделали BACKUP DATABASE
Время 5) Сделали BACKUP LOG3
Время 6) Точка восстановления
Время 7) Сделали BACKUP LOG4
Время 8) Сделали BACKUP LOG5

Я утверждаю:
Что для восстановления на (Время 6) нам, в лучшем случаем, потребуется BACKUP LOG1.


Нет. Нам будет нужно

4) BACKUP DATABASE
7) BACKUP LOG4

Ибо BACKUP LOG4 будут содержать все транзакции начиная с момента Время 1, ибо открытая транзакция не дает возможности усечения лога.
Ну и, кстати, это приведет к той же проблеме, что я описал. Получается, что вы будете иметь огромный LOG4, который сначала очень долго бэкапить, а потом ну очень-очень долго восстанавливаться, ибо его придется при восстановлении прочитать последовательно весь.
13 дек 12, 15:55    [13626713]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Ну вот. Хоть к чему-то пришли. Получается LOG у вас не только при репликации не чистится, но и длинной транзакции. Плохо это.


Не вижу ничего в этом плохого настройка правила в SCOM на sys.dm_tran_database_transactions (поле database_transaction_begin_time + анализ других полей database_transaction_type и database_transaction_state) и отсылка уведомления и \ или выполнение скрипта на отстрел.
13 дек 12, 15:57    [13626745]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Ну и, кстати, это приведет к той же проблеме, что я описал. Получается, что вы будете иметь огромный LOG4, который сначала очень долго бэкапить, а потом ну очень-очень долго восстанавливаться, ибо его придется при восстановлении прочитать последовательно весь.


Если любую проблему пустить на самотек, то результат всегда будет плачевным. Сбербанк тому пример.
13 дек 12, 16:04    [13626821]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
pkarklin

Не вижу ничего в этом плохого настройка правила в SCOM на sys.dm_tran_database_transactions (поле database_transaction_begin_time + анализ других полей database_transaction_type и database_transaction_state) и отсылка уведомления и \ или выполнение скрипта на отстрел.


Совсем недавно кто-то говорил, что MS SQL Server подкупает своей простотой администрирования, и вдруг столько много непонятных букв и действий.
13 дек 12, 16:07    [13626856]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
FreemanZAV
Совсем недавно кто-то говорил, что MS SQL Server подкупает своей простотой администрирования, и вдруг столько много непонятных букв и действий.


Это говорил я? ;)
13 дек 12, 16:21    [13627020]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
pkarklin
FreemanZAV
Совсем недавно кто-то говорил, что MS SQL Server подкупает своей простотой администрирования, и вдруг столько много непонятных букв и действий.


Это говорил я? ;)


Нет.
13 дек 12, 16:32    [13627156]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1332
pkarklin
отсылка уведомления и \ или выполнение скрипта на отстрел.

Эмм.. То есть Вы безусловно считаете что длительные транзакции - это аномалия, что их нужно отстреливать? А если это требуется бизнес-процессом? Или я Вас неверно понял?
13 дек 12, 16:33    [13627163]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
stil

Эмм.. То есть Вы безусловно считаете что длительные транзакции - это аномалия


Долгие пишущие транзакции да, в какой-то степени.
13 дек 12, 16:35    [13627187]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
stil
То есть Вы безусловно считаете что длительные транзакции - это аномалия, что их нужно отстреливать? А если это требуется бизнес-процессом? Или я Вас неверно понял?


Да, я считаю, что длительная модифицирующа транзакция - это аномалия. Можно пример такого бизнес-процесса?
13 дек 12, 16:43    [13627249]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 12 13 14 15 16 [17] 18 19 20 21   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить