Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 [10] 11 12 13 14 .. 17   вперед  Ctrl
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
Gluk (Kazan)

объявлять пожалуй не будем, но лично я по этому поводу никогда не комплексовал.
Плохо не то, что в одной СУБД что то так а в другой что то эдак. Плохо то что во всех по разному

нах, нах. я категорически против того порно какое существует в mssql: на IL read commited работает, при IL snapshot не работает, а тут мы рыбу заворачивали и при всем при этом НИКАК от накатывания заведомо кривых патчей.
6 ноя 07, 12:08    [4878882]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> нах, нах. я категорически против того порно какое существует в mssql: на
> IL read commited работает, при IL snapshot не работает, а тут мы рыбу
> заворачивали и при всем при этом НИКАК от накатывания заведомо кривых
> патчей.

То ли дело - орацл: ваще никак не работает! Верно? ;)

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 13:39    [4879598]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky

То ли дело - орацл: ваще никак не работает! Верно? ;)


Странно ... у меня работает
что я делаю не так ???
6 ноя 07, 13:56    [4879722]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
locky

То ли дело - орацл: ваще никак не работает! Верно? ;)
Posted via ActualForum NNTP Server 1.4

не верно, попробую в третий раз по слогам:
оракл не позволит запустить юзеру покареженые патчем процедуры и оповестит ДБА о проблеме. ДБА же в свою очередь имеет тучу инструментов исправить ВОВРЕМЯ ситуацию от rman до flashback с recycle bin.

ДБА mssql же о таких инструментах может только мечтать, т.к. в связи с кривизной архитектуры (в том числе в виде транзакций навешеных на DDL) в ближайшее десятилетие ничего подобного в mssql не предвидится. Прогнав патчик ДБА mssql может только помолится, что они не зацепили сторед процедуры и если зацепили то когда юзер на такую наткнется то в ней не встречалось транзакционно независимых вещей, которые уже невозможно откатить.
6 ноя 07, 14:04    [4879780]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> оповестит ДБА о проблеме. ДБА же в свою очередь имеет тучу инструментов
> исправить ВОВРЕМЯ ситуацию от rman до flashback с recycle bin.
Мне - не надо тучу :)
Мне надо
if @@error <> 0 rollback
куда уж проще?

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 14:18    [4879892]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
zhmur
Был ещё один где сравнивались трудозатраты DBA на исправление различных ситуаций. Но я его сейчас найти не могу. И можно вспомнить такую замечательную ьехнологию как FLASHBACK. А конкретно FLASHBACK DATABASE. Которая позволяет вернуть ВСЮ базу к определённому моменту в прошлом за очень короткое время и является одним из основных средств защиты от фатальных ЛОГИЧЕСКИХ сбоев. У MS есть аналог (не воспрнимайте это как издёвку, я очень плохо знаю MS SQL)?


Database Snapshots -> How Database Snapshots Work
6 ноя 07, 14:38    [4880049]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
locky

Мне - не надо тучу :)
Мне надо
if @@error <> 0 rollback
куда уж проще?
Posted via ActualForum NNTP Server 1.4

простота она как известно хуже вороства. попробуйте все таки сосредоточится: @@error > 0 может оказатся только если этот патч на столько кривой, что там прямо кривой синтаксис (хотя я не представляю какой можно умудрится написать, элементарно IDE синтаксис проверит, и еще меньше представляю как такое может добратся до продакшена).
разжевываю в четвертый раз, для совсем одаренных:

у нас есть такой патчик полученый от девелоперов
create table ...
insert into ...
[еще пара сотен DDL команд]
alter table shitlog rename column total to total_usd
[и еще пара сотен DDL команд]
мы этот патчик прогоням, получаем @@error = 0, т.е. синтасических ошибок нет и смело жмем commit. а на следующий день выясняем, что девелоперы поправили тысячи процедур, но забыли про ночную процедуру которая делает некий перасчет, рассылает спам в виде майлов клиентам и записывает логи в табличку shitlog. так вот расчет прошел, спам разослан, а вот в shitlog записать не удалось (патчик переименовал поле), соответсвенно спам ушел, а весь расчет отвернут назад. в результате счастливые клиенты получили спам не соответствующий действительности.

так вот оракл бы подобной хрени никогда не позволил, будь ДБА хоть трижды идиот. поэтому я например считаю, что административные навороты оракда опережают mssql просто на десятилетия, а простота mssql просто ИЛЮЗИЯ расчитана на кухарку рулящая sql сервером просто по совместительству ....
6 ноя 07, 14:48    [4880133]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> мы этот патчик прогоням, получаем @@error = 0, т.е. синтасических ошибок


> так вот оракл бы подобной хрени никогда не позволил, будь ДБА хоть
> трижды идиот. поэтому я например считаю, что административные навороты

Согласен - оракл никогда бы не позволил :)
Потому что @@error = 0 и ошибок - не было.

А давайте вы мне всё-таки расскажете про тот случай, который конкретно
меня интересует, а? Когда @@error <> 0?

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 14:50    [4880150]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Хотя про последовательность действий - не понял...
Сначала ушел спам - а потом был произведен расчет?
И тогда, простите - какая хрен разница?
Если расчет свалился ПОСЛЕ того, как ушел спам?
А если у вас спам уходит даже в том случае, если расчет свалился - это,
извините, ручки надо править.

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 14:53    [4880167]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
locky

А давайте вы мне всё-таки расскажете про тот случай, который конкретно
меня интересует, а? Когда @@error <> 0?
Posted via ActualForum NNTP Server 1.4

в оракле ?
жмете "FLASHBACK DATABASE TO TIMESTAMP (SYSDATE-1/24);", берете биту и со спокойно идете бить девелоперов ...
6 ноя 07, 14:55    [4880191]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> в оракле ?
> жмете "FLASHBACK DATABASE TO TIMESTAMP (SYSDATE-1/24);", берете биту и
> со спокойно идете бить девелоперов ...
Простите, а все прочие патчи (правильные), а равно - изменения данных,
внесённые юзерами - тоже откатятся на час назад?

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 14:59    [4880220]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
в оракле ?
жмете "FLASHBACK DATABASE TO TIMESTAMP (SYSDATE-1/24);", берете биту и со спокойно идете бить девелоперов ...


В MS SQL:

RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT = <database_snapshot_name>
6 ноя 07, 15:01    [4880242]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
locky

Простите, а все прочие патчи (правильные), а равно - изменения данных,

а что в майкрософте можно тоже кусочек сервис пака накатить ? наверно потому оркалойды и стоят дороже, что им не приходит в голову накатывать кусочек сервис пака ;)

locky

внесённые юзерами - тоже откатятся на час назад?

какие юзеры во время накатывания патча, особливо в mssql где обычный индекс перестороить нужно всех из базы выгнать ? время указывает ДБА

2pkarklin
это снапшот, ее стоит сравнивать с технологией снапшотов в оракле середины девяностых и на flashback это совсем не похоже...
6 ноя 07, 16:14    [4880783]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
это снапшот, ее стоит сравнивать с технологией снапшотов в оракле середины девяностых и на flashback это совсем не похоже...


А я и не пытался сравнивать ее с flashback. Но предложенные Вами и zhmur задачи Database Snapshots решают.
6 ноя 07, 16:17    [4880804]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
особливо в mssql где обычный индекс перестороить нужно всех из базы выгнать ?


Это тоже баян... ;) В 2005 (EE) построение, перестройка и удаление индекса может выполняться OnLine.
6 ноя 07, 16:20    [4880832]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin

А я и не пытался сравнивать ее с flashback. Но предложенные Вами и zhmur задачи Database Snapshots решают.

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

locky

Хотя про последовательность действий - не понял...
Сначала ушел спам - а потом был произведен расчет?
И тогда, простите - какая хрен разница?
Если расчет свалился ПОСЛЕ того, как ушел спам?
А если у вас спам уходит даже в том случае, если расчет свалился - это,
извините, ручки надо править.
Posted via ActualForum NNTP Server 1.4

да какая разница какая последовательность ? речь о том что в транзакциях могут встречатся транзакционно независимые вещи, которые уже не откатятся. а от того, что ручки нада править вендору, ДБА легче не становится. если бы код был идеальный то и патчи накатывать не требовалось бы.

из-за того что субд не способна отследить зависимость хп от таблиц, субд устроит тучу гемороя ДБА, которого развели пустой болтовней о простоте администрирования mssql, который в плане администрирования только рюшками EM и отличается от оракла середины девяностых.
6 ноя 07, 16:29    [4880900]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
да к стате на счет последовательности: майкрософт на полном серьезе рекомендует разбивать длинные транзакции на несколько покороче, чтоб длинная транзакция не мешала остальным. не вижу ничего сверьестественого в том, что недалекий вендор начитавшись таких рекомендаций разобьет длинную транзакцию ночного расчета со всеми вытекающими из патчика последствиями ...
6 ноя 07, 16:34    [4880939]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
нету у мс никаких инструментов отследить зависимость хп от поля в таблички


Не будьте столь категоричны. Есть поддержка зависимостей sys.sql_dependencies. И ничего не мешает разработчикам\админам ее анализировать. Более того - переименование колонки - это выполнение sp_rename (нет приведенного Вами ALTER TABLE ... RENAME ...), которая так же генерит соответствующий варнинг (который можно\нужно обработать). Если Вы упомяните Deffered Name Resolution, то замечу, что создание хп, которая ссылается на отсутствующую табличку (создать хп ссылающуюся на отсутствующую колонку в сущестующей таблице невозможно) не проходит бесследдно -и тут генерится соответсвующий варнинг (который можно\нужно обработать), и задача админа - адектватно на него атреагировать. Точно так же как оракловский админ должен отреагировать на инвалидные объекты. Если они оба проигнорировали это, то какая разница - какую ошибку получит пользователь - инвалидность объекта или отсутствие необходимой колонки?

Yo.!
потому тогда когда вы обнаружите кривые хп востанавливать всю бд будет уже позно,


Восстанавливать бд из флашбэка предложили Вы (в качестве "альтернативы" транзакционности DDL в MS SQL), а не я. Я лишь привел некое соответствие функционала из MS SQL. Так что давайте не будем "с больной головы на здоровую".

Yo.!
ну и не совсем понял в чем отличие востанавливатся из бэкапа или снапшота


В том, что:

1. Вы без дополнительных телодвижений получаете бд на момент создания снапшота.
2. Эта операция гараздо быстрее (восстановятся только страницы, которые менялись с момента создания снапшота), чем подъем бэкапа.

Yo.!
да к стате на счет последовательности: майкрософт на полном серьезе рекомендует разбивать длинные транзакции на несколько покороче, чтоб длинная транзакция не мешала остальным. не вижу ничего сверьестественого в том, что недалекий вендор начитавшись таких рекомендаций разобьет длинную транзакцию ночного расчета со всеми вытекающими из патчика последствиями ...


Ну, сами значете, что с дуру можно сломать. Да и "не мешает" счас уже никто. ;)
6 ноя 07, 17:11    [4881172]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin

Более того - переименование колонки - это выполнение sp_rename (нет приведенного Вами ALTER TABLE ... RENAME ...), которая так же генерит соответствующий варнинг (который можно\нужно обработать).

а можно с этого места поподробней ? запустил sp_rename, получил офигенно информативный варнинг:

Caution: Changing any part of an object name could break scripts and stored procedures.

причем даже на таблички которые в хп не участвуют.
про sys.sql_dependencies почитаю, наверника появятся вопросы.

pkarklin
Если они оба проигнорировали это, то какая разница - какую ошибку получит пользователь - инвалидность объекта или отсутствие необходимой колонки?

громадная разница: инвалидную хп оракл не позволит запустить, а mssql с легкостью запустит и она будет работать пока не нарвется на неверных стейтмент и не факт, что все что наделал процедура можно будет отвернуть.
6 ноя 07, 17:33    [4881312]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
а можно с этого места поподробней ? запустил sp_rename, получил офигенно информативный варнинг:

Caution: Changing any part of an object name could break scripts and stored procedures.


Этот варнинг Вы получите в любом случие, даже если в зависимостях нет записей. Если же они там будут, то Вы получите:

Ошибку 15337:

Caution: sysdepends shows that other objects (views, procedures and so on) are referencing this object by its old name. These objects will become invalid, and should be dropped and re-created promptly.

Ваша правда - имя объекта не будет указано. Но по двойному клику на ошибке получить в QA строку бача, которая ее вызвала - не проблема.

Yo.!
громадная разница: инвалидную хп оракл не позволит запустить, а mssql с легкостью запустит и она будет работать пока не нарвется на неверных стейтмент и не факт, что все что наделал процедура можно будет отвернуть.


Вы не правы. Не запустит.

CREATE TABLE Table1(col1 int, col2 int)
GO
INSERT Table1 VALUES(1, 1)
GO
CREATE PROC TestProc
AS
    INSERT Table1 VALUES(2, 2)   
    UPDATE Table1
    SET col2 = 2
    WHERE col1 = 1
GO

EXEC sp_rename 'dbo.Table1.col2', 'col3', 'COLUMN'
GO

EXEC TestProc
GO

SELECT * FROM Table1
GO

DROP PROC TestProc
GO
DROP TABLE Table1


Caution: Changing any part of an object name could break scripts and stored procedures.
Server: Msg 207, Level 16, State 1, Procedure TestProc, Line 0
Invalid column name 'col2'.
col1        col3        
----------- ----------- 
1           1
6 ноя 07, 17:50    [4881413]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
c sys.sql_dependencies тоже ничерта не понял:

есть табличка и хп котрая селектит поле из нее. запускаю sp_rename переименовываю поле (хп становится кривой), запускаю select * from sys.sql_dependencies.
0	OBJECT_OR_COLUMN_REFERENCE_NON_SCHEMA_BOUND	37575172	0	21575115	2	1	0	0

снова запускаю sp_rename и возвращаю верное название поля (хп снова становится верной), смотрю sys.sql_dependencies

0 OBJECT_OR_COLUMN_REFERENCE_NON_SCHEMA_BOUND 37575172 0 21575115 2 1 0 0
и что тут можно анализировать, я например не вижу разницы ...
6 ноя 07, 17:55    [4881461]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
c sys.sql_dependencies тоже ничерта не понял:


Так понятней:

CREATE TABLE Table1(col1 int, col2 int)
GO
CREATE PROC TestProc
AS
    INSERT Table1 VALUES(2, 2)   
    UPDATE Table1
    SET col2 = 2
    WHERE col1 = 1
GO

SELECT
  OBJECT_NAME(referenced_major_id) AS ObjectName,
  (SELECT name FROM sys.columns WHERE object_id = referenced_major_id AND column_id = d.referenced_minor_id) AS ColumnName
FROM
  sys.sql_dependencies d
WHERE
  d.object_id = OBJECT_ID('TestProc', 'P') AND
  referenced_minor_id <> 0
GO

ObjectName                                                                                                                       ColumnName                                                                                                                       
-------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- 
Table1                                                                                                                           col2
6 ноя 07, 18:12    [4881573]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin

Этот варнинг Вы получите в любом случие, даже если в зависимостях нет записей. Если же они там будут, то Вы получите:

Ошибку 15337:

Caution: sysdepends shows that other objects (views, procedures and so on) are referencing this object by its old name. These objects will become invalid, and should be dropped and re-created promptly.

я не получаю. что я делаю не так ? как я подозреваю я получил бы это сообщение если бы дропнул всю табличку, а не переименовал лишь одно поле.

pkarklin

Вы не правы. Не запустит.

действительно не запускает, ок этот пункт вычеркиваем.


pkarklin

SELECT
OBJECT_NAME(referenced_major_id) AS ObjectName,
(SELECT name FROM sys.columns WHERE object_id = referenced_major_id AND column_id = d.referenced_minor_id) AS ColumnName
FROM
sys.sql_dependencies d
WHERE
d.object_id = OBJECT_ID('TestProc', 'P') AND
referenced_minor_id <> 0
GO

а что толку, отгадать кривая ли хп или нет запросик не поможет. этот запрос показывает название поля которое сейчас в бд, в про то что в хп используется другое (теперь кривое) название - молчит. а название поля, так я его и так могу посмотреть, в чем фишка ?
6 ноя 07, 18:23    [4881672]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin

Этот варнинг Вы получите в любом случие, даже если в зависимостях нет записей. Если же они там будут, то Вы получите:

Ошибку 15337:

Caution: sysdepends shows that other objects (views, procedures and so on) are referencing this object by its old name. These objects will become invalid, and should be dropped and re-created promptly.

переименовал табличку - та же фигня, стандартный варнинг, никаких ошибок.

посмотрел sp_depends, вообще бредятина. походу mssql хранит какой-то ИД таблицы, поэтому sp_depends считает, что моя хп использует переименованую таблицу, а на деле в ней старое кривое название таблицы.
я пока не вижу способа как отгадать кривая ли у меня хп.
6 ноя 07, 18:56    [4881870]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> а что в майкрософте можно тоже кусочек сервис пака накатить ? наверно
> потому оркалойды и стоят дороже, что им не приходит в голову накатывать
> кусочек сервис пака ;)
А давайте отвянем от всех прочих задач (включая накатывания сервис пака
на сервер)- и сосредоточимся на той, что я озвучил, ага? Т.е.
накатывание патча на прикладную задачу - и восстановление в случае сбоя.

> какие юзеры во время накатывания патча, особливо в mssql где обычный
> индекс перестороить нужно всех из базы выгнать ? время указывает ДБА
Обычные юзера.
Сегодня накатывал патч на рабочую базу.
Никого выгонять не пришлось, знаете-ли.
Поелику патч был для прикладной системы, а не для СКЛ Сервера.

Posted via ActualForum NNTP Server 1.4

6 ноя 07, 20:01    [4882060]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 [10] 11 12 13 14 .. 17   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить