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

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'sp_refreshsqlmodule'.


pkarklin
Предлагаю договорится о следующем: Если особо не оговаривается, то речь будет вестись о 2005 версии сиквел сервера. Ок?
7 ноя 07, 13:29    [4884702]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

Yo.! wrote:
> pkarklin & locky зачем морочить мне голову, если скриптик простенький,
> ну выложите, в чем проблема ?? я не вижу как из этих полуфабрикатов

create procedure InvalidProc
as begin
  print 'IsValid'
end
go

--testing - no smoke
exec InvalidProc

--patch started
set transaction isolation level serializable
go
begin tran
go
--altering InvalidProc to invalid state
alter procedure InvalidProc
as
  select * from nonexistingtable
go

--doing smoke test
declare @rc int
exec @rc = sp_executesql N'exec InvalidProc'
if @rc = 0 commit
else rollback
go

--exec after patch - InvalidProc is in prev state
exec InvalidProc

Posted via ActualForum NNTP Server 1.4

7 ноя 07, 13:31    [4884720]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
да, mssql2005, единственно у меня без всех сервис паков (сервер клиента, трогать низя)
7 ноя 07, 13:31    [4884725]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
2 Yo.!

Вопрос про "механизм" инвалидации в Oraclе. А что, случится, если в цепочке инвалидации попадется непрямой рекурсивный вызов хп?
7 ноя 07, 13:31    [4884728]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
locky
Member

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

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

А кто вам сказал - что ВСЕГДА происходит именно так?
Странный вы какой-то :)

Posted via ActualForum NNTP Server 1.4

7 ноя 07, 13:32    [4884730]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

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


Да она и без сервиспаков должна быть, судя по дате создания.

SELECT * FROM sys.all_objects WHERE name = 'sp_refreshsqlmodule'
7 ноя 07, 13:40    [4884796]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
2 Yo.!

Вопрос про "механизм" инвалидации в Oraclе. А что, случится, если в цепочке инвалидации попадется непрямой рекурсивный вызов хп?


Рекурсивные вызовы на уровне объектов безопасности невозможны. Рекурсия может быть только для процедур и функций внутри пакета (в том числе и косвенная), именно потому что она не затрагивает цепочек зависимостей. Это одна из тех самых малоактуальных для MS SQL фич пакетов - возможность рекурсивных вызовов.
Что действительно может дать головняков, так это динамический SQL
7 ноя 07, 13:46    [4884854]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin
2 Yo.!

Вопрос про "механизм" инвалидации в Oraclе. А что, случится, если в цепочке инвалидации попадется непрямой рекурсивный вызов хп?

не прямой, это как ?

по sp_refreshsqlmodule у меня нету такого:
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

2locky
если юзерам ни что не запрещает запустить эти 2 хп, то они когда нибудь запустят, если у вас политика позволяет рискнуть не выгоняя, я не возражаю, мне проще всех выгнать на пару минут в воскресенье и накатить как полагается.
по скриптику ... это стоит делать QA и на тестовом сервере, мы тут отслеживание зависимостей обсуждаем.
7 ноя 07, 13:46    [4884857]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
не прямой, это как ?


Хп1 вызывает хп2, которая в свою очередь вызывает хп1.
7 ноя 07, 13:52    [4884893]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
по sp_refreshsqlmodule у меня нету такого:
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 1)


К сожалению, я не могу этого проверить, ибо нет под рукой RTM серверов.
7 ноя 07, 13:54    [4884902]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Yo.!
Guest
pkarklin

Хп1 вызывает хп2, которая в свою очередь вызывает хп1.

думаю дубово хп1 вызовет инвалидность хп2 и все будут счастливы.

pkarklin
К сожалению, я не могу этого проверить, ибо нет под рукой RTM серверов.

wtf RTM ?
7 ноя 07, 14:06    [4885000]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
wtf RTM ?


SELECT SERVERPROPERTY('ProductLevel')

Returns:
'RTM' = shipping version.
'SPn' = service pack version
'Bn', = beta version.
7 ноя 07, 14:12    [4885044]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
Yo.!
не прямой, это как ?


Хп1 вызывает хп2, которая в свою очередь вызывает хп1.


Вы только меня игнорируете или вообще ничьих кроме Yo постов не читаете???
7 ноя 07, 14:22    [4885117]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
pkarklin
Yo.!
не прямой, это как ?


Хп1 вызывает хп2, которая в свою очередь вызывает хп1.


Вы только меня игнорируете или вообще ничьих кроме Yo постов не читаете???


Нет. Не игнорирую. Я прочитал Ваш пост, сделав вывод, что хп вне пакетов (и хп из разных пакетов) не могут быть рекурсивными. Правильно я понял?

А пакеты, в которых используются рекурсивные хп инвалидируются целиком. Жестоко!!!
7 ноя 07, 14:34    [4885207]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
Я прочитал Ваш пост, сделав вывод, что хп вне пакетов (и хп из разных пакетов) не могут быть рекурсивными. Правильно я понял?


Да. Голые ХП не могут быть рекурсивными.

pkarklin

А пакеты, в которых используются рекурсивные хп инвалидируются целиком. Жестоко!!!


Нет. ХП в пакетах не являются единицами безопасности и не входят в цепочки зависимостей. В них входят только пакеты что их содержат. Тело пакета (не интерфейс) инвалидируется при изменении объектов от которых оно зависит вне зависимости используется ли рекурсия или нет. Фишка в том, что рекурсивные ХП не являются такими объектами.
7 ноя 07, 15:55    [4885837]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Попробую пояснить. Если в пакете A определен рекурсивный факториал, используемый в пакете B, то изменение в его реализации НЕ ИНВАЛИДИРУЕТ пакет B при условии, что не изменен интерфейс пакета A. Интерфейс пакета и его реализация - различные объекты, что позволяет разрывать цепочки зависимостей. Это ГЛАВНАЯ (на мой взгляд) фича пакетов. Возможность рекурсии - лишь побочный эффект
7 ноя 07, 16:02    [4885927]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Если в пакете A определен рекурсивный факториал, используемый в пакете B, то изменение в его реализации НЕ ИНВАЛИДИРУЕТ пакет B при условии, что не изменен интерфейс пакета A.


Согласитесь, что Ваш пример ни капельки не похож на indirect recursion?!
7 ноя 07, 16:09    [4886010]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
Gluk (Kazan)
Если в пакете A определен рекурсивный факториал, используемый в пакете B, то изменение в его реализации НЕ ИНВАЛИДИРУЕТ пакет B при условии, что не изменен интерфейс пакета A.


Согласитесь, что Ваш пример ни капельки не похож на indirect recursion?!


Согласитесь, что какая бы то ни было recursion не имеет отношения к цепочкам зависимостей Oracle
7 ноя 07, 16:31    [4886249]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Согласитесь, что какая бы то ни было recursion не имеет отношения к цепочкам зависимостей Oracle


Во всяком случие, в MS SQL, имеет. ;)

У меня вот какой вопрос назрел. Есть ли в Oracle возможность вызвать хп без динамического SQL по имени в переменной, например так:

DECLARE @procname sysname

SET @procname = Some Calculation...

EXEC @procname @Param1 = ...

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

Откуда:
Сообщений: 9365
pkarklin
Gluk (Kazan)
Согласитесь, что какая бы то ни было recursion не имеет отношения к цепочкам зависимостей Oracle


Во всяком случие, в MS SQL, имеет. ;)

У меня вот какой вопрос назрел. Есть ли в Oracle возможность вызвать хп без динамического SQL по имени в переменной, например так:

DECLARE @procname sysname

SET @procname = Some Calculation...

EXEC @procname @Param1 = ...

?


Нет, но NDS не намного менее лаконичен
и имеет те-же проблемы в плане хрупкости кода (зависимости временени исполнения)
7 ноя 07, 16:55    [4886507]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
и имеет те-же проблемы в плане хрупкости кода (зависимости временени исполнения)


А в плане секьюрности?
7 ноя 07, 17:00    [4886564]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
Gluk (Kazan)
и имеет те-же проблемы в плане хрупкости кода (зависимости временени исполнения)


А в плане секьюрности?


нет, в плане того что вместо инвалидации объекта будет ошибка времени исполнения
про Injection разумеется тоже давно все сказано, но в NDS есть привязка переменных - непользуешься ССЗБ
7 ноя 07, 17:10    [4886666]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
до завтра
7 ноя 07, 17:12    [4886689]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
qwerty666
Member

Откуда:
Сообщений: 85
Долго работал на MS SQL и Oracle....у меня есть только один вывод:Оракл круче MS SQL и будет им оставаться, потому что он не допускает эскалации блокировок и при начале выполнения транзакции он работает с закомиченными данными, пока такого не будет в MS SQL(DATABASE SNAPHOT-ёще та хрень....), сравнивать эти 2 СУБД-всё равно, что Феррари с Ладой Калиной.....
13 ноя 07, 17:52    [4911363]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft задавит Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
qwerty666
Долго работал на MS SQL


И, видимо, давно. :)

qwerty666
потому что он не допускает эскалации блокировок


Сиквел сервер позволяет управлять процессом эскалации, т.е. допускать его или нет.

qwerty666
и при начале выполнения транзакции он работает с закомиченными данными, пока такого не будет в MS SQL


Так же как и MS SQL при уровне изоляции SNAPHOT (транзакционная консистентность). И не стоит забывать, что имеется READ COMMITED в режиме версионности (статементная консистентность).

qwerty666
DATABASE SNAPHOT-ёще та хрень....),


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