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

Откуда:
Сообщений: 1570
pkarklin
Вот что хотел спросить. Есть ли в Oracle DDL триггеры?

Можно я, вот столько:

ddl_event 
Specify one or more types of DDL statements that can cause the trigger to fire. You can create triggers for these events on DATABASE or SCHEMA unless otherwise noted. You can create BEFORE and AFTER triggers for these events. Oracle Database fires the trigger in the existing user transaction.

The following ddl_event values are valid:
ALTER Specify ALTER to fire the trigger whenever an ALTER statement modifies a database object in the data dictionary.
ANALYZE Specify ANALYZE to fire the trigger whenever the database collects or deletes statistics or validates the structure of a database object.
ASSOCIATE STATISTICS Specify ASSOCIATE STATISTICS to fire the trigger whenever the database associates a statistics type with a database object.
AUDIT Specify AUDIT to fire the trigger whenever the database tracks the occurrence of a SQL statement or tracks operations on a schema object.
COMMENT Specify COMMENT to fire the trigger whenever a comment on a database object is added to the data dictionary.
CREATE Specify CREATE to fire the trigger whenever a CREATE statement adds a new database object to the data dictionary.
DISASSOCIATE STATISTICS Specify DISASSOCIATE STATISTICS to fire the trigger whenever the database disassociates a statistics type from a database object.
DROP Specify DROP to fire the trigger whenever a DROP statement removes a database object from the data dictionary.
GRANT Specify GRANT to fire the trigger whenever a user grants system privileges or roles or object privileges to another user or to a role.
NOAUDIT Specify NOAUDIT to fire the trigger whenever a NOAUDIT statement instructs the database to stop tracking a SQL statement or operations on a schema object.
RENAME Specify RENAME to fire the trigger whenever a RENAME statement changes the name of a database object.
REVOKE Specify REVOKE to fire the trigger whenever a REVOKE statement removes system privileges or roles or object privileges from a user or role.
TRUNCATE Specify TRUNCATE to fire the trigger whenever a TRUNCATE statement removes the rows from a table or cluster and resets its storage characteristics.
DDL Specify DDL to fire the trigger whenever any of the preceding DDL statements is issued.

database_event
SERVERERROR Specify SERVERERROR to fire the trigger whenever a server error message is logged.
LOGON Specify LOGON to fire the trigger whenever a client application logs onto the database.
LOGOFF Specify LOGOFF to fire the trigger whenever a client application logs off the database.
STARTUP Specify STARTUP to fire the trigger whenever the database is opened.
SHUTDOWN Specify SHUTDOWN to fire the trigger whenever an instance of the database is shut down.
SUSPEND Specify SUSPEND to fire the trigger whenever a server error causes a transaction to be suspended.
DB_ROLE_CHANGE In a Data Guard configuration, specify DB_ROLE_CHANGE to fire the trigger whenever a role change occurs from standby to primary or from primary to standby
25 янв 07, 15:41    [3694258]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67475
Блог
pkarklin
Вот что хотел спросить. Есть ли в Oracle DDL триггеры?

Примерно десять лет как есть.
25 янв 07, 15:47    [3694309]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Yo.!
Guest
pkarklin
Критика статьи. Про версионность.

До 2005 версии основным камнем в огород MS SQL от сторонников Oracle было: "Ну фу... читатели мешают писателям!!!". Сделали в MS SQL READ COMMITED с поддержкой версионности (который включается опцией бд READ_COMMITTED_SNAPSHOT). Опять не так и не то. Обратите внимание - это касается читателей. Все остальное работает как у обычного блокировочника. Причем tempdb используется по минимому (не путать с опцией ALLOW_SNAPSHOT_ISOLATION для поддержки уровня изоляции SNAPSHOT). Причем даже при установленной этой опции можно использовать хинт READCOMMITTEDLOCK который "отключает" версионность для определенной таблицы и заставляет накладывать разделяемые блокировки (стандартное поведение READ COMMITED в MS SQL). Считаю эту фичу довольнотаки гибкой.


что-то вы тут напутали, судя по всему READ_COMMITTED_SNAPSHOT просто для всех транзакций ANSIшный read commited, подменяет на оракловый, который гораздо сильней. Никакой разницы с ALLOW_SNAPSHOT_ISOLATION невижу:

http://msdn2.microsoft.com/en-us/library/ms188277.aspx
When either the READ_COMMITTED_SNAPSHOT or ALLOW_SNAPSHOT_ISOLATION database options are ON, update and delete transactions for a particular database must maintain row versions even when there are no transactions using a row versioning-based isolation level. Constructing a consistent snapshot of data using row versions involves system resources (CPU and memory), and potentially generates I/O activity. Because the record versions are stored in tempdb, performance is better and the number of issued I/Os is lower when more tempdb pages can be stored in memory for row versioning.
25 янв 07, 15:48    [3694317]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
softwarer
Кластер - это физическая структура данных, в которой несколько таблиц сидят на общем индексе.


нет возможности.


Понятно, иногда имеют смысл кластеры из одной таблицы
25 янв 07, 15:50    [3694326]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67475
Блог
Gluk (Kazan)
Понятно, иногда имеют смысл кластеры из одной таблицы

В случае Oracle это скорее "поддерживаемое извращение", нежели что-то еще, поэтому я предпочел не усложнять тему упоминанием этого. Хотя с последними изменениями может и будет что-то интересное....
25 янв 07, 15:53    [3694350]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
softwarer
Хотя с последними изменениями может и будет что-то интересное....


Какая то новая фича ?
25 янв 07, 16:30    [3694658]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67475
Блог
Gluk (Kazan)
Какая то новая фича ?

HASH CLUSTER и параметр SIZE - вроде как недавняя фича. Не очень врубился, что они имеют в виду, но обещают improve time, надо будет как-нибудь повозиться :)
25 янв 07, 16:59    [3694872]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67475
Блог
Пардон, имелось в виду "SORT".
25 янв 07, 17:00    [3694880]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Dan74
Member

Откуда:
Сообщений: 11
Yo.!
ну да, что я и хотел показать - для моих 3х дисков адекватно распределить i/o невыйдет, в оракле же я могу распределить в плоть до отдельных транзакций.

[Off]Блин. У меня ща у самого геморой с дисками. И я понимаю проблемму Ёу - как никак 1 винт на сан сторедж 3000-5000$ стоит, а их 9 - а это уже сопоставимо со стоимостью лицензии на Оракула 40 000$ на ведро(проц в случае со скалярками).[/off]

Так давайте посравниваем стоимость владения фичами. И если говорить, что надо вот по 3 дискам размазать, а не поставить шустрый раид из 12 винтов. То это скорее проблемма кроссплатформенного Оракла (Цены на диски я привел реально выставленые представителем Сана)
Стоит он на сане и фиг теперь железо проапгрейдиш, а SAN storage на 12 дисков стоит при этом 7-8к$ (а RESATA диск 300$) и у МССКЛщиков не возникает поэтому вопрос - как мне поделить на 3 диска нагрузку поровну. Я понимаю, что оракул и под Линя и под Вынь можно посадить, но вот чтото при таких предложениях у сторонников Оракла пропадает все желание о кроссплатформенности говорить.
-Вот на солярке - да Оракл - кулл. А под Вынь - глюкавая система. Линь - да он сырой.
Вопрос - а нафига козе баян, если онана нем играть не умеет?

Сумбурно, но просто времени не хватает.
А на счет "до луны пешком" так это менее амбициозно, чем
автор
Всё чего в оракле нет не нужно и даже вредно.


Ненравится как работает DTS c Oracle? Зато нравится работа с XML - не эксклюзивная фича, нопроизводительность в сравнении с Ораклом значительно выше.
25 янв 07, 19:38    [3695858]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Yo.!
Guest
Dan74

Сумбурно, но просто времени не хватает.

-Кто на ком стоял?...Потрудитесь излагать ваши мысли яснее. (с) нихера не понял.

Dan74

Ненравится как работает DTS c Oracle? Зато нравится работа с XML - не эксклюзивная фича, нопроизводительность в сравнении с Ораклом значительно выше.

мусье любитель тонкого изврата ? в mssql по сути супорта xml и нет, там xml хранится в clob на который навешен индекс
25 янв 07, 20:17    [3695967]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67475
Блог
Dan74
Зато нравится работа с XML - не эксклюзивная фича, нопроизводительность в сравнении с Ораклом значительно выше.

Ээ... у кого? Я мало интересуюсь XML и не знаю, что с ним сделали в 2005-м, а в 2000-м он, если мне не изменяет память, просто не был способен более-менее адекватным образом решить задачу формирования xml заранее заданного формата.
25 янв 07, 20:19    [3695969]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
в 2005 есть тип данных XML. соотвественно, он может быть указан и при создании и таблицы, и при объявлении переменной. К нему можно делать запросы XQuery.
26 янв 07, 01:33    [3696517]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
andy st
Member

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

А как в MSSQL обстоят дела с mutlitable insert?
Приходится имитировать триггерами или есть вменяемый аналог insert all?
Posted via ActualForum NNTP Server 1.3

INSERT, UPDATE, DELETE могут обрабатывать одну единственную таблицу. "Имитирую" в хп.

в 2005 есть Output
хотя, может быть, и не совсем то.
но реализация очереди в виде
DECLARE @Queue TABLE (QueueID int, OrderID int)

DELETE TOP 1 FROM [Queue] ORDER BY QueueID 
OUTPUT deleted.QueueID, deleted.OrderID INTO @Queue

SELECT * FROM @Queue
выглядит приятно
26 янв 07, 06:41    [3696622]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
kennethr
Member

Откуда:
Сообщений: 175
Dan74
у сторонников Оракла пропадает все желание о кроссплатформенности говорить

Адекватно ответить не смогу, так как не админ. Но в последнее время все чаще приходится работать с Oracle работающем на виндовых серверах. Нагрузки достаточно мощные, больше тясячи пользователей, и знаете, кроссплатформенность у Oracle на высоте.
26 янв 07, 06:44    [3696627]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
Никакой разницы с ALLOW_SNAPSHOT_ISOLATION невижу:


Разница все-таки есть:

A new implementation of read committed isolation that uses row versioning when the READ_COMMITTED_SNAPSHOT database option is ON.

A new isolation level, snapshot, that is enabled when the ALLOW_SNAPSHOT_ISOLATION database option is ON.

...

Read committed isolation using row versioning provides statement-level read consistency. As each statement within the transaction executes, a new data snapshot is taken and remains consistent for each statement until the statement finishes execution.


Snapshot isolation provides transaction-level read consistency. A data snapshot is taken when the snapshot transaction starts, and remains consistent for the duration of the transaction.


Я не зря поставил отключать в кавычки. Естественно, что применение хинта не избавляет от поддержки версий в tempdb, зато позволяет накладывать разделяемые блокировки. Это м.б. важно для унаследованных приложений, которые расчитаны на такие блокировки.
26 янв 07, 08:30    [3696762]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
andy st
в 2005 есть Output
хотя, может быть, и не совсем то.


Насколько я понимаю, это ближе к клаузе RETURNING в Oracle, чем к его же конструкции:

INSERT ALL
INTO ap_cust VALUES (customer_id, program_id, delivered_date)
INTO ap_orders VALUES (order_date, program_id)
SELECT program_id, delivered_date, customer_id, order_date
FROM airplanes;
26 янв 07, 08:46    [3696795]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dan74
-Вот на солярке - да Оракл - кулл. А под Вынь - глюкавая система. Линь - да он сырой.


Примеры глюкавости на Win и сырости на Linux можно ???
А то смахивает на ничем не подкрепленное Бла Бла Бла

Относительно стоимости владения вопрос ВЕСЬМА расплывчатый, мы тут пока просто фичи сравниваем (не отвлекаясь на их стоимость).

Dan74
А на счет "до луны пешком" так это менее амбициозно, чем
автор
Всё чего в оракле нет не нужно и даже вредно.



Эта карашо, эта пять. Оправдывать свое [censored/высказывание далекое от истины] чужими провокациями - эта бесподобна. Кстати, по моему слова не "нужно и даже вредно" приписывают ораклоидам напрасно (ну разьве что Yo мог такое сказать), попросю сцыку на высказывание аффтора в студию.

Впрочем, если ВАМ удастся привести ПРИМЕР фичи до которой Ораклу как до Луны, я признаю свою неправоту и принесу извинения

P.S. Подобное вашему (и Yo) поведение не способствует КОНСТРУКТИВНОМУ диалогу, который с таким трудом удалось завязать
26 янв 07, 08:48    [3696806]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
Я мало интересуюсь XML и не знаю, что с ним сделали в 2005-м, а в 2000-м он, если мне не изменяет память, просто не был способен более-менее адекватным образом решить задачу формирования xml заранее заданного формата.


Я то же мало интересуюсь xml, но работа с оным в 2005 по сравнению с 2000 улучшена значительно: Использование языка XML в SQL Server.

На счет производительности ничего сказать не могу, ибо практического опыта не имею.
26 янв 07, 08:53    [3696820]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kennethr
Dan74
у сторонников Оракла пропадает все желание о кроссплатформенности говорить

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


Я несколько лет администрировал Oracle 8i на Linux (RedHat,SuSe) и Widows 2000 на не очень маленьком провайдере Internet и кабельного ТВ. Единственный раз, когда удалось напороться на 600 ошибку был случай ПОЛНОГО развала базы вызванного ДВУХКРАТНЫМ отключением питалова (и предварительным выжиранием всех упсов ночью) заразой техническим директором. Второй раз он отключил питалово, когда Oracle начал подниматься после автоматической перезагрузки. Происходило это утром, когда я мирно спал после ночи кувыркания с дизелем и гасить руками сервер было некому. База была восстановлена из логов за ~2 часа (вместе с ездой из дому)
26 янв 07, 09:01    [3696847]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
softwarer
Я мало интересуюсь XML и не знаю, что с ним сделали в 2005-м, а в 2000-м он, если мне не изменяет память, просто не был способен более-менее адекватным образом решить задачу формирования xml заранее заданного формата.


Я то же мало интересуюсь xml, но работа с оным в 2005 по сравнению с 2000 улучшена значительно: Использование языка XML в SQL Server.


В 10-ке тоже вроде как значительные усовершенствования. Сам никогда не пользовался
26 янв 07, 09:02    [3696855]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Что меня всегда удручало в TSQL - так это отсуствие пакетов.
И связанная тема - отслеживание зависимостей валидности серверного кода.

В 2005 есть какие нибудь подвижки ?
26 янв 07, 09:05    [3696868]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Что меня всегда удручало в TSQL - так это отсуствие пакетов.


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

автор
И связанная тема - отслеживание зависимостей валидности серверного кода.

В 2005 есть какие нибудь подвижки ?


Не вижу прямой связи между наличием\отсутствие пакетов и "валидностью серверного кода". Deferred Name Resolution в 2005 осталось в таком же виде, как и в 2000\7. Т.е. возможна ссылка на несуществующую таблицу (не более того), т.е. нельзя сослаться на несуществующую колонку в существующей таблице. Рассматривать это как баг или фичу? Давайте обсудим.

Объекты в бд MS SQL не имеют аналогов valid\invalid в Oracle. В этом, думаю, можно найти как положительные, так и отрицательные стороны.
26 янв 07, 09:21    [3696921]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

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


Если я правильно понял вопрос - никак. Права раздаются на пакет вцелом и это один из его плюсов (систематизация кода). Это не главный плюс пакетов, но до сих пор живо в памяти, какими извращениями пришлось заниматься с именами процедур (чтобы хоть как то их сгруппировать) при портации нашего продукта на MS SQL 2005

pkarklin
Не вижу прямой связи между наличием\отсутствие пакетов и "валидностью серверного кода".


Связь прямая, основной плюс пакетов - разрыв цепочек зависимостей. Перекомпиляция ТЕЛА пакета не вызывает развала объектов зависимых от ЗАГОЛОВКА пакета.

+ в пакетах можно объявлять глобальные переменные (в том числе коллекции, ассоциативные массивы и т.п.).

pkarklin

Deferred Name Resolution в 2005 осталось в таком же виде, как и в 2000\7. Т.е. возможна ссылка на несуществующую таблицу (не более того), т.е. нельзя сослаться на несуществующую колонку в существующей таблице. Рассматривать это как баг или фичу? Давайте обсудим.

Объекты в бд MS SQL не имеют аналогов valid\invalid в Oracle. В этом, думаю, можно найти как положительные, так и отрицательные стороны.


Мне очень не нравится перспектива нарваться на ошибку в коде через месяц после внедрения. Кроме того, удаление/изменение объекта от которого зависит какой-то код, MS SQL также проглотит молча ДО ПОРЫ :(
26 янв 07, 09:40    [3697002]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dan74
А на счет "до луны пешком" так это менее амбициозно, чем
автор
Всё чего в оракле нет не нужно и даже вредно.



Небольшая подборка

Нумбер Раз
Нумбер Два
Нумбер Три

В последнем посте я СОГЛАСИЛСЯ с SergSuper, в отношении КОНКРЕТНОЙ фичи. Назвать SergSuper и 1024 ораклоидами ... тяжело. Мне все таки интересно, где и когда кто-то из ораклоидов сказал такую глупость, что ВСЕ чего нет в Oracle "ненужно и вредно" ??? Пахнет поклепом, Господа.
26 янв 07, 10:16    [3697255]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL или Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Если я правильно понял вопрос - никак. Права раздаются на пакет вцелом и это один из его плюсов (систематизация кода).


Мне кажеться, что систематизация кода и раздача привелегий не совсем тесно связанные задачи. Мне, например, представлятеся удобным атомарность раздачи прав в MS SQL. Т.е. я могу создать необходимое кол-во ролей (например, отображающие реальные роли бизнес-процессов) и раздать права на необходимые модули (которые, например, реализуют определенную задачу из этого бизнес-процесса).

Gluk (Kazan)
Мне очень не нравится перспектива нарваться на ошибку в коде через месяц после внедрения. Кроме того, удаление/изменение объекта от которого зависит какой-то код, MS SQL также проглотит молча ДО ПОРЫ :(


Гм... Эта ошибка (Invalid Object Name) в MS SQL будет чем то отличаться от ошибки типа invalid object в Oracle (на знаю, как она правильно звучит), если дропнуть таблицу, которая используется в хп?

Кроме того, объекты в MS SQL можно создавать с опцией WITH SCHEMABINDING, которая не позволит модифицировать (в том числе удалить) объекты, используемые в этом объекте.
26 янв 07, 10:17    [3697256]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11 .. 23   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить