Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 9 [10] 11   вперед  Ctrl      все
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Alexander Ryndin
Для отката дропа и транкейта нужно чтобы вся таблица свалилась в лог?

Да нет. Если не ставить задачу "откатить после коммита", то хватит, чтобы свалились модифицированные заголовки, всё равно пока нет коммита, на таблице эксклюзивная блокировка и никто не испортит данных в ней.
23 мар 12, 12:31    [12301043]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
locky
Alexander Ryndin
Но лично я не встречал таких безмозглых разработчиков, которые бы дали ненакатывающийся патч.

А в моем уютном мире живут пони. Они кушают бабочек.
где вы ЭТО купили? )))
23 мар 12, 12:32    [12301048]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
а за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково.


The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log.

Alexander Ryndin
А если я таблицу дропну она тоже вся в журнал свалится? Дорогое удовольствие


А как же иначе, если Вы хотите восстановиться на момент "до DROP". М.б. будет интересно: Dropping and Rebuilding Large Objects
23 мар 12, 12:34    [12301066]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
SQL Bigot
Member

Откуда:
Сообщений: 841
Dimitry Sibiryakov
DROP TABLE...


Заодно подумай, как то же самое сделает бэкапный скрипт :) и что мешает заставить триггер "бэкапить" то же самое, что и в скрипте.

PS:Речь, напомню, изначально шла о flashback'e пакетов, функций, триггеров.
23 мар 12, 12:43    [12301147]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
softwarer
Alexander Ryndin
Для отката дропа и транкейта нужно чтобы вся таблица свалилась в лог?

Да нет. Если не ставить задачу "откатить после коммита", то хватит, чтобы свалились модифицированные заголовки, всё равно пока нет коммита, на таблице эксклюзивная блокировка и никто не испортит данных в ней.
О. Это мне понятно.
23 мар 12, 12:47    [12301179]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
а за счет чего тогда delete генерит больше лога чем truncate? Судя по вашему описанию они работают одинаково.
The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log.
Че-то вы себе противоречите
pkarklin
Alexander Ryndin
А где в MSSQL хранятся данные между TRUNCATE и COMMIT?
Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.
Думаю, что объяснение softwarer наиболее логично: данные между TRUNCATE и COMMIT продолжают храниться в таблице данных. По крайней мере это логично.
23 мар 12, 12:51    [12301214]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Alexander Ryndin
locky
пропущено...

А в моем уютном мире живут пони. Они кушают бабочек.
где вы ЭТО купили? )))

В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючат
23 мар 12, 12:53    [12301232]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Alexander Ryndin
pkarklin
пропущено...
The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log.
Че-то вы себе противоречите
pkarklin
пропущено...
Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE.
Думаю, что объяснение softwarer наиболее логично: данные между TRUNCATE и COMMIT продолжают храниться в таблице данных. По крайней мере это логично.

Брррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
23 мар 12, 12:56    [12301251]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
locky
Alexander Ryndin
пропущено...
где вы ЭТО купили? )))

В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючат
Девелоперы делают ошибки, но DDL операции это то, что должно быть оттестировано тщательнейшим образом.
А то ведь так они и DROP TABLE ORDERS засунут и никто им не помешает в конце COMMIT сказать.
23 мар 12, 12:57    [12301257]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Alexander Ryndin
locky
пропущено...

В том же магазине, где вы покупаете девелоперов, которые не делают ошибок и системы, которые не глючат
Девелоперы делают ошибки, но DDL операции это то, что должно быть оттестировано тщательнейшим образом.
А то ведь так они и DROP TABLE ORDERS засунут и никто им не помешает в конце COMMIT сказать.


Любые операции в/с БД должны быть оттестированы тщательнейшим образом. И ошибок не должно возникать
Однако почему-то rollback есть во всех "не децких" СУБД. Почему так?
23 мар 12, 12:58    [12301264]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Че-то вы себе противоречите...


Интересно, в чем Вы нашли противоречие?
23 мар 12, 13:03    [12301302]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
locky
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?

Тем, что первое не даёт никакого ответа на вопрос "как при этом обеспечивается корректность при различных сценариях", а второе содержит отвечающие на него гипотезы.
23 мар 12, 13:05    [12301331]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
locky
Брррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
- Я спросил: делаю TRUNCATE. Где после этого лежат данные, которые нужны мне для ROLLBACK.
- pkarklin сказал: Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE..
- а потом он же говорит: TRUNCATE TABLE... records only the page deallocations in the transaction log.
23 мар 12, 13:06    [12301333]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

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

М.б. следующее пройлет свет. Так Покритикуйте Оракл 10г в лог пишутся СUD операции. При TRUNCATE в лог будут записаны "копии" страниц данных (по 8к на страницу), а не детальная информация о каждой удаленной записи. Где будет меньше информации?
23 мар 12, 13:07    [12301346]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Alexander Ryndin
locky
Брррр..... где противоречия? :)
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?
- Я спросил: делаю TRUNCATE. Где после этого лежат данные, которые нужны мне для ROLLBACK.
- pkarklin сказал: Как и для других операций - в логе транзакций, только использует меньше места, чем DELETE..
- а потом он же говорит: TRUNCATE TABLE... records only the page deallocations in the transaction log.

Ну да, а что тут непонятного то?
23 мар 12, 13:08    [12301354]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
locky
и чем первое разъяснение отличается от второго? За исключением того, что первое - более техническое, а второе - более популярное?

Тем, что первое не даёт никакого ответа на вопрос "как при этом обеспечивается корректность при различных сценариях", а второе содержит отвечающие на него гипотезы.

Как по мне, так всё предельно понятно
Другое дело, что я как бы в этой теме разбираюсь чуть лучше, чем "человек со стороны", может поэтому и понятно :)
23 мар 12, 13:09    [12301360]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
pkarklin
При TRUNCATE в лог будут записаны "копии" страниц данных

Это в MSSQL так?

pkarklin
а не детальная информация о каждой удаленной записи. Где будет меньше информации?

Зависит от размера записи. В целом примерно одинаково.
23 мар 12, 13:11    [12301374]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
Это в MSSQL так?


Так. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?

softwarer
В целом примерно одинаково.


М.б. я чуть позже найду время еще раз прибегнуть к помощи DBCC LOG...
23 мар 12, 13:15    [12301414]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
При TRUNCATE в лог будут записаны "копии" страниц данных
Т.е. моя 100 Гб табличка вместе со всеми индексами ухнется целиком в лог? Прелестно.
23 мар 12, 13:18    [12301456]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
pkarklin
Так. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?


Возможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".
23 мар 12, 13:20    [12301478]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
pkarklin
Так. При полной модели восстановления. Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?


Возможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".
а потом что эта информация из лога удаляется?
23 мар 12, 13:22    [12301493]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Т.е. моя 100 Гб табличка вместе со всеми индексами ухнется целиком в лог? Прелестно.


При полной модели восстановления - да. Вы же не зря эту модель выбрали (из трех возможных). А выбирают ее, если необходимо восстановление point in time.

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

ALTER INDEX ... REBUILD


и я могу восстановиться на момент "до ребилда индекса".
23 мар 12, 13:23    [12301509]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Alexander Ryndin
Возможно такой процесс будет понятней: "на момент между двумя TRUNCATE разных таблиц".
а потом что эта информация из лога удаляется?[/quot]пропустите этот коммент - я думал он к другому относится
23 мар 12, 13:23    [12301511]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
а потом что эта информация из лога удаляется?


Потом делается бэкап лога (для последующего восстановления в случае необходимости). При этом то, что попало в бэкап из файла лога удаляется (обращаю внимание, что это объяснение на пальцах). Если кому интересно, могу дать линк на архитектуру лога транзакций MS SQL.
23 мар 12, 13:25    [12301530]     Ответить | Цитировать Сообщить модератору
 Re: Чем MS SQL Server хуже Oracle Database?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
pkarklin
Как в противном случае восстановить бд из бэкапа на момент "до TRUNCATE"?

С другой стороны не очень понятно, зачем нужен такой truncate.
23 мар 12, 13:27    [12301546]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 9 [10] 11   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить