|
|
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Привет! Нуждаюсь в совете, как лучше организовать захват измененных данных из "чужой" схемы, к которой имею привилегии только на чтение. Т.е. не могу в нужных мне таблицах этой схемы расставить триггеры для обработки изменений. Джоб не подходит, т.к. изменения должны вылавливаться мгновенно. Я был уверен, что триггер на представление меня спасёт. Но триггер не ставится на read only :( Может материализованное? Не имею опыта в таких делах... Streams GG - не предлагать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 23:30 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Курдлькак лучше организовать захват измененных данных из "чужой" схемы, к которой имею привилегии только на чтение. Никак, обломись. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 00:14 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
КурдльПривет! Нуждаюсь в совете, как лучше организовать захват измененных данных из "чужой" схемы, к которой имею привилегии только на чтение. ... Джоб не подходит, т.к. изменения должны вылавливаться мгновенно. А зачем делать захват, если данные и так доступны мгновенно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 08:33 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
efendiА зачем делать захват, если данные и так доступны мгновенно? Затем, что в мастер-системе данные имеют другую структуру и их надо раскладывать по нескольким таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 08:41 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Как вариант: данные грузятся в одну "таблицу". А потом по джобу ты их "переносишь" в другую с нужной структурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:07 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Курдль, Смотря насколько схема всё-таки "чужая". Можно создать триггер в "чужой" схеме, который будет раскладывать данные в твою схему. Например, этот триггер вызывает процедуру из твоей схемы, которая всё и делает. Главное что бы "чужая" схема согласилась на эти дополнительные манипуляции (тормоза). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:20 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
=nomad=Как вариант: данные грузятся в одну "таблицу". А потом по джобу ты их "переносишь" в другую с нужной структурой. Джоб как часто запускать? Раз в секунду? В миллисекунду?.. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:30 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Andrey.LКурдль, Смотря насколько схема всё-таки "чужая". Можно создать триггер в "чужой" схеме, который будет раскладывать данные в твою схему. Например, этот триггер вызывает процедуру из твоей схемы, которая всё и делает. Главное что бы "чужая" схема согласилась на эти дополнительные манипуляции (тормоза). Я же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ (иначе я бы не тревожил благородную публику на форуме). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:32 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Еще, почему бы тогда не сделать так: Код: plsql 1. 2. Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:35 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
=nomad=Еще, почему бы тогда не сделать так: Код: plsql 1. 2. Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме?Уж лучше AFTER, на случай если есть свои BEFORE триггеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:41 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Andrey.L=nomad=Еще, почему бы тогда не сделать так: Код: plsql 1. 2. Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме?Уж лучше AFTER, на случай если есть свои BEFORE триггеры. Коллеги, вы прикалываетесь? Я от безысходности даже попробовал: "привилегий недостаточно" (ЧТД) Пожалуйста, не заливайте ветку домыслами, дайте возможность высказаться тому, кто знает oracle лучше нас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 10:01 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
2 =nomad= https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9530012000346610423 In Oracle you can have triggers owned by schema x on tables of schema y. Unfortunately there seems to be no fine grained way to authorize this - user x needs CREATE ANY TRIGGER privilege. (contrary to the similar situation with indexes, user y can grant CREATE INDEX on a table to user y; CREATE ANY INDEX is not needed). КурдльЯ же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 10:01 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
КурдльAndrey.Lпропущено... Уж лучше AFTER, на случай если есть свои BEFORE триггеры. Коллеги, вы прикалываетесь? Я от безысходности даже попробовал: "привилегий недостаточно" (ЧТД) Пожалуйста, не заливайте ветку домыслами, дайте возможность высказаться тому, кто знает oracle лучше нас. Вам у "вашей схеме" могут дать привелегию create any trigger? етого достаточно, "чужая" схема про ето и не догадается ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 11:19 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
stax..Вам у "вашей схеме" могут дать привелегию create any trigger? https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:6386500346452721 Now that said - you DO NOT want to do this!! the "any" privileges should be avoided whenever possible - user B can actually remove pretty much any trigger now!! just be creating an empty one. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 11:29 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
stax..,..."чужая" схема про ето и не догадаетсяКогда чужая схема поймает просадку по производительности или некий exception-нежданчик - догадается. По словам ТС-а: "... Я же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 12:56 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
КурдльefendiА зачем делать захват, если данные и так доступны мгновенно? Затем, что в мастер-системе данные имеют другую структуру и их надо раскладывать по нескольким таблицам. Создать VIEW, имитирующие нужную структуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 13:49 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Query change notifications(object change notifications/continuous change notifications) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 14:57 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
stax..Вам у "вашей схеме" могут дать привелегию create any trigger? етого достаточно, "чужая" схема про ето и не догадается ..... stax Спасибо за идею! Пойду договариваться с ДБадминами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 16:35 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Курдльstax..Вам у "вашей схеме" могут дать привелегию create any trigger? етого достаточно, "чужая" схема про ето и не догадается ..... stax Спасибо за идею! Пойду договариваться с ДБадминами. Я бы не дал, ни за что. Есть много более безопасные альтернативы, раз уж есть с кем договариваться... P.S. stax , спасибо за озвученный перевод моей первой ремарки.. 2 Курдль судя по вашей реакции - ни первую, ни вторую мою ремарку вы прочить не смогли.. Думаю о ссылках можно и не упоминать... Используйте хотя бы https://translate.google.com/?hl=ru Ну а уж Клиент для Google Translate http://translateclient.com/ru/ будет для вас манной небесной.. Поверьте, родной язык вам не помощник в вашей профессиональной карьере...если только это для вас не временное. Да...и по личному опыту...начать...нет не учить...потихоньку понимать основной язык документации, не поздно ни в каком возрасте, вот только откладывать нельзя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 18:37 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
ViewerДа...и по личному опыту...начать...нет не учить...потихоньку понимать основной язык документации, не поздно ни в каком возрасте, вот только откладывать нельзя... Спасибо за совет! Я обычно в первую очередь обращаюсь на oradocs, asktom, stackoverflow Но не всегда удается сразу найти ответ на свой вопрос. Зато как приятно найти его в одном лаконичном посте на профессиональном форуме от настоящих профессионалов. Мне кажется, что эти форумы затем и существуют, чтобы упростить нашу жизнь. В конкретном случае признаю Ваше первенство на совет про any triggers, который, правда, адресован был не мне (возможно поэтому я его и пропустил). Как я понял, Вы знаете более изящный способ решения моей проблемы. Буду признателен за его публикацию. Создавать триггеры на "чужие" таблицы оказалось недопустимым, т.к. это явно будет видно владельцу "чужой" схемы. Я пока что склоняюсь к триггеру на мат.представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:08 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
КурдльСоздавать триггеры на "чужие" таблицы оказалось недопустимым , т.к. это явно будет видно владельцу "чужой" схемы. Почему нет? Самый естественный подход - это попросить владца схемы создать триггер по вашему скрипту. При физическом отсутствии владеца - выполнить скрип через администратора базы или deploy менеджера. Вы же не в личных целях этого добиваетесь. Наверняка есть официальная постановка задачи. Там что решать это нужно на административном уровне вышестоящего руководства. Приводятся обоснования, получаются подтверждения, наделённый необходимым правами исполнитель выполняет. Всё это подшиватеся и учитывается в документации и регламентах. Совершенно стандартный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:47 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
ViewerСовершенно стандартный подход. покупная система, не разрешают хоть тресни мож и добавят но за деньги ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 11:02 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
Viewer, stax прав! Система, в которую я лезу своими грязными ручонками, поставлялась с гарантийным договором. В нем запрет на любые вмешательства в структуру данных. Запрета на обращение к ней - нет. Так что вы думаете про мою идею с мат.представлением и триггером на него? Я уже понял, что не смогу воспользоваться FAST REFRESH и другими, использующими логи, т.к. логи - тоже достояние чужой схемы... Но отловить момент изменения данных триггером и применить процедуру для выявления дельты - можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 11:25 |
|
||
|
Триггер на представление?
|
|||
|---|---|---|---|
|
#18+
КурдльЯ пока что склоняюсь к триггеру на мат.представление. Не говорят о такой мелочи, как то что https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6003.htm A materialized view log is located in the master database in the same schema as the master table Курдльэто явно будет видно владельцу "чужой" схемы. вы достаточно ясно себе представляете, как отработает триггер, если вместо fast refresh произойдёт complete refresh мат.представления (автоматически или по недосмотру)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 11:34 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=153&tid=1885554]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 336ms |

| 0 / 0 |
