Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Подскажите по блокировкам при выполнении SELECT  [new]
novexelf
Member

Откуда: this
Сообщений: 184
Доброго времени суток!

По работе понадобился доступ к таблицам БД Oracle. Oracle 11. Система и таблички очень нагруженные. Предполагалось забирать данные ночью на MS SQL Server, за предыдущие сутки, и в дальнейшем уже всю обработку выполнять на MS SQL.
Табличек 4, три справочных до 2000 записей, и одна с историей, где записей очень много.
Предполагалось делать select ... from ... where day = ...
Администраторы ORACLE доступ не дают, мотивируют тем, что возможны блокировки и остановки системы.
ORACLE знаю плохо, всегда считал, что блокировок там нет, но после разговора с админами поискал информацию в интернете, нашел статью на citforum, почитал, оказывается могут быть, но если я все правильно понял, то SELECT не может создать такой ситуации?
я ошибаюсь?
26 дек 13, 11:46    [15349120]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
Блокировки
Guest
3 маленьких должны вытянуться без проблем очень быстро.
4я с историей - если будет тянуться долго и если в нее много вставок/апдейтов, то могут быть проблемы с сегментами отката.

Блокировок быть не должно
26 дек 13, 11:54    [15349187]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
novexelf,

одним селектом можно натворить веселых дел.

возможно админы вас опасаются.


пусть девелоперы той системы разработают хранимки на БД и вы из них будете получать данные по правилам людей которые знают систему, а не как вам хочется.
26 дек 13, 20:06    [15351919]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34630
ORACLE знаю плохо, всегда считал, что блокировок там нет, но после разговора с админами поискал информацию в интернете, нашел статью на citforum, почитал, оказывается могут быть, но если я все правильно понял, то SELECT не может создать такой ситуации?


Да, ты не ошибаешься, SELECT не может "создавать блокировки".
26 дек 13, 20:14    [15351944]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
Долбоящер
Guest
novexelf
Доброго времени суток!

По работе понадобился доступ к таблицам БД Oracle. Oracle 11. Система и таблички очень нагруженные. Предполагалось забирать данные ночью на MS SQL Server, за предыдущие сутки, и в дальнейшем уже всю обработку выполнять на MS SQL.
Табличек 4, три справочных до 2000 записей, и одна с историей, где записей очень много.
Предполагалось делать select ... from ... where day = ...
Администраторы ORACLE доступ не дают, мотивируют тем, что возможны блокировки и остановки системы.
ORACLE знаю плохо, всегда считал, что блокировок там нет, но после разговора с админами поискал информацию в интернете, нашел статью на citforum, почитал, оказывается могут быть, но если я все правильно понял, то SELECT не может создать такой ситуации?
я ошибаюсь?


Здесь два вопроса.
1. Создает ли селект блокировки.
Селект не может создавать привычных блокировок, с бесконечным временем ожидания, но он на короткое время захватывает много "легковесных" блокировок известных как латчи и прочие мьютексы. А также вспомним segment checkpoint для direct reads. Конечно, можно создать проблем простым запросом, однако, не думаю что это твой случай.

2. Чего опасаются админы, почему не дают доступ.

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

Предлагаю сосредоточиться на втором вопросе, и для этого тебе надо поговорить с админами, потом вернёшься и нам расскажешь. Вот там и обсудим.
26 дек 13, 20:21    [15351969]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
Долбоящер
Guest
Долбоящер
Селект не может создавать привычных блокировок, с бесконечным временем ожидания
На самом деле и тут можно наделать
26 дек 13, 20:22    [15351975]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
stax..
Guest
Долбоящер
Долбоящер
Селект не может создавать привычных блокировок, с бесконечным временем ожидания
На самом деле и тут можно наделать

что можно наделать ночью, когда нагрузка минимальна?
імхо
"Табличек 4, три справочных до 2000 записей" админы оракля вымахиваются
если такие умные, пусть сами ночью выгрузят Вам данные

.....
stax
26 дек 13, 21:51    [15352234]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
Долбоящер
Guest
stax..
Долбоящер
пропущено...
На самом деле и тут можно наделать

что можно наделать ночью, когда нагрузка минимальна?
.....
stax
Имелось ввиду, что при желании и в селекте можно наблокировать умеючи, через pl/sql в частности... это к было к теоретизированию о блокировках в селекте. Не думаю, что автору это интересно.
26 дек 13, 21:56    [15352245]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
stax..
Guest
Долбоящер
stax..
пропущено...

что можно наделать ночью, когда нагрузка минимальна?
.....
stax
Имелось ввиду, что при желании и в селекте можно наблокировать умеючи, через pl/sql в частности... это к было к теоретизированию о блокировках в селекте. Не думаю, что автору это интересно.

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

.....
stax
26 дек 13, 22:15    [15352289]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
stax..
Долбоящер
пропущено...
На самом деле и тут можно наделать

что можно наделать ночью, когда нагрузка минимальна?
stax


select .. for update.

при определенной проектировке системы, ее можно тупо положить.
а grant select = select on update к большому моему сожалению
27 дек 13, 00:54    [15352813]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
-2-
Member

Откуда:
Сообщений: 15330
comphead
а grant select = select on update
Это так только в частном случае.
27 дек 13, 01:35    [15352878]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
novexelf
Member

Откуда: this
Сообщений: 184
comphead
novexelf,

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



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

К тому же система централизованная, разработчики далеко, между нами несколько уровней иерархии.

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

В общем нужно искать вариант на месте, или иметь четкое объяснение для руководства, почему так работу делать не получится.


Долбоящер
Здесь два вопроса.
1. Создает ли селект блокировки.
Селект не может создавать привычных блокировок, с бесконечным временем ожидания, но он на короткое время захватывает много "легковесных" блокировок известных как латчи и прочие мьютексы. А также вспомним segment checkpoint для direct reads. Конечно, можно создать проблем простым запросом, однако, не думаю что это твой случай.

2. Чего опасаются админы, почему не дают доступ.

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

Предлагаю сосредоточиться на втором вопросе, и для этого тебе надо поговорить с админами, потом вернёшься и нам расскажешь. Вот там и обсудим.


Собственно хотелось быть подкованным в вопросе № 1, чтобы переходить к вопросу № 2 :-)

Говорить с админами и их руководством пойду.

Предварительно по телефону общались, как довод привел свои коллег из другого региона, которые имеют такой доступ, пообещали созвонится и выяснить как им его дали ...
Потом рассказали, что оказывается у мои коллег сделать standby сервер, и работают они с ним, а не с боевой системой, ну и что типа у нас пока нет Комплекс Технических Средств под это, чтобы сделать по аналогии.
Я ушел читать про standby сервера.


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


померил три предыдущих дня 894, 739, 836, тыс. записей.

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

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



Вопрос может быть как говорится политическим, но чтобы подключать руководство нужно разобраться в ситуации, чтобы не быть голословным.
27 дек 13, 13:44    [15355156]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
-2-
Member

Откуда:
Сообщений: 15330
novexelf
Вопрос может быть как говорится политическим
исключительно политический. И действовать надо формально - письменно технические требования, письменно отказ с обоснованием.
27 дек 13, 13:50    [15355215]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
novexelf,

ваша задача -
1) объяснить коллегам очевидную пользу (для них) того, что вы намерены сделать
2) совместно с ними продумать и реализовать наилучший (для всех) механизм
при всём полит-формализме, войне повода нет.
вернее, может быть лишь один - (внутренняя) конкуренция за саму задачу.
27 дек 13, 14:11    [15355383]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
novexelf
Member

Откуда: this
Сообщений: 184
orawish
novexelf,

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


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

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

задачу мы фактически решаем одну, только каждый сам, но так уж пошло, что каждый филиал работает сам, каждый сам выбивает себе ресурсы, нам вот ms sql server дали, а им oracle, некоторые вообще свои задачи решают в аксесе, теперь мы даже не можем наработками обменяться, только идеями и примерами реализации, благо хоть тут ни кто не жадничает.
27 дек 13, 14:29    [15355518]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
novexelf,

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


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

если админы вам зажали доступ значит правильные админы и понимают, что пользователи могут наворотить своими селектами. не говоря уже о безопасности данных и т.п.
27 дек 13, 16:47    [15356501]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
Rinka777
Member

Откуда:
Сообщений: 668
comphead
novexelf,

одним селектом можно натворить веселых дел.


я вот так и не могу понять. при обычном селекте ставятся DDL-блокировки? и если это так, то можно что-нибудь из документации
23 янв 14, 13:12    [15456447]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
novexelf
задачу мы фактически решаем одну, только каждый сам, но так уж пошло, что каждый филиал работает сам, каждый сам выбивает себе ресурсы, нам вот ms sql server дали, а им oracle, некоторые вообще свои задачи решают в аксесе, теперь мы даже не можем наработками обменяться, только идеями и примерами реализации, благо хоть тут ни кто не жадничает.
интересно, где такая жуть творится?
23 янв 14, 13:20    [15456508]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по блокировкам при выполнении SELECT  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
xtender
novexelf
задачу мы фактически решаем одну, только каждый сам, но так уж пошло, что каждый филиал работает сам, каждый сам выбивает себе ресурсы, нам вот ms sql server дали, а им oracle, некоторые вообще свои задачи решают в аксесе, теперь мы даже не можем наработками обменяться, только идеями и примерами реализации, благо хоть тут ни кто не жадничает.
интересно, где такая жуть творится?
Ну как-то так...
select *
  from organizations
 where employees_count > 5000
   and branch_count > 20
В любом банке ИТ-департамент не успевает обслуживать все подразделения. Как правило, есть расписанный план работ с приоритетами, причем работы и приоритеты обсуждает руководство бизнес (или околобизнес) подразделения с руководством ИТ. Если директор ИТ сказал заказчику "вашу задачу в ближайший год не сделаем" - то в ИТ отделе рядовой прогер про нее даже не услышит, что она вообще обсуждалась. Отсюда же растут ноги всех "наколенок". То, что у ИТ не хватает ресурсов, не значит, что можно не работать. Поэтому и цветут пышным цветом всякие макросы в экселе, базы в аксессе на сетевых дисках и прочее... Я и сам всего этого добра наделал в свое время...
23 янв 14, 13:49    [15456792]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить