Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на представление? / 25 сообщений из 29, страница 1 из 2
19.07.2017, 23:30
    #39491910
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Привет!
Нуждаюсь в совете, как лучше организовать захват измененных данных из "чужой" схемы, к которой имею привилегии только на чтение.
Т.е. не могу в нужных мне таблицах этой схемы расставить триггеры для обработки изменений.
Джоб не подходит, т.к. изменения должны вылавливаться мгновенно.
Я был уверен, что триггер на представление меня спасёт. Но триггер не ставится на read only :(
Может материализованное? Не имею опыта в таких делах...
Streams GG - не предлагать :)
...
Рейтинг: 0 / 0
20.07.2017, 00:14
    #39491927
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Курдлькак лучше организовать захват измененных данных из "чужой" схемы, к которой имею
привилегии только на чтение.

Никак, обломись.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.07.2017, 08:33
    #39491986
efendi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
КурдльПривет!
Нуждаюсь в совете, как лучше организовать захват измененных данных из "чужой" схемы, к которой имею привилегии только на чтение.
...
Джоб не подходит, т.к. изменения должны вылавливаться мгновенно.


А зачем делать захват, если данные и так доступны мгновенно?
...
Рейтинг: 0 / 0
20.07.2017, 08:41
    #39491989
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
efendiА зачем делать захват, если данные и так доступны мгновенно?
Затем, что в мастер-системе данные имеют другую структуру и их надо раскладывать по нескольким таблицам.
...
Рейтинг: 0 / 0
20.07.2017, 09:07
    #39492003
=nomad=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Как вариант: данные грузятся в одну "таблицу". А потом по джобу ты их "переносишь" в другую с нужной структурой.
...
Рейтинг: 0 / 0
20.07.2017, 09:20
    #39492019
Andrey.L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Курдль,

Смотря насколько схема всё-таки "чужая". Можно создать триггер в "чужой" схеме, который будет раскладывать данные в твою схему. Например, этот триггер вызывает процедуру из твоей схемы, которая всё и делает. Главное что бы "чужая" схема согласилась на эти дополнительные манипуляции (тормоза).
...
Рейтинг: 0 / 0
20.07.2017, 09:30
    #39492033
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
=nomad=Как вариант: данные грузятся в одну "таблицу". А потом по джобу ты их "переносишь" в другую с нужной структурой.
Джоб как часто запускать? Раз в секунду? В миллисекунду?.. :(
...
Рейтинг: 0 / 0
20.07.2017, 09:32
    #39492034
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Andrey.LКурдль,

Смотря насколько схема всё-таки "чужая". Можно создать триггер в "чужой" схеме, который будет раскладывать данные в твою схему. Например, этот триггер вызывает процедуру из твоей схемы, которая всё и делает. Главное что бы "чужая" схема согласилась на эти дополнительные манипуляции (тормоза).
Я же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ (иначе я бы не тревожил благородную публику на форуме).
...
Рейтинг: 0 / 0
20.07.2017, 09:35
    #39492043
=nomad=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Еще, почему бы тогда не сделать так:
Код: plsql
1.
2.
create or replace trigger [color=red]своясхема[/color].имятриггера
before insert or update or delete on [color=red]чужаясхема[/color].таблица


Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме?
...
Рейтинг: 0 / 0
20.07.2017, 09:41
    #39492054
Andrey.L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
=nomad=Еще, почему бы тогда не сделать так:
Код: plsql
1.
2.
create or replace trigger [color=red]своясхема[/color].имятриггера
before insert or update or delete on [color=red]чужаясхема[/color].таблица



Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме?Уж лучше AFTER, на случай если есть свои BEFORE триггеры.
...
Рейтинг: 0 / 0
20.07.2017, 10:01
    #39492071
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Andrey.L=nomad=Еще, почему бы тогда не сделать так:
Код: plsql
1.
2.
create or replace trigger [color=red]своясхема[/color].имятриггера
before insert or update or delete on [color=red]чужаясхема[/color].таблица



Ну и потом распихивай что и куда нужно в своей схеме - ну и ссылайся уже на таблицы в своей схеме?Уж лучше AFTER, на случай если есть свои BEFORE триггеры.
Коллеги, вы прикалываетесь? Я от безысходности даже попробовал: "привилегий недостаточно" (ЧТД)
Пожалуйста, не заливайте ветку домыслами, дайте возможность высказаться тому, кто знает oracle лучше нас.
...
Рейтинг: 0 / 0
20.07.2017, 10:01
    #39492072
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
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).
КурдльЯ же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ
...
Рейтинг: 0 / 0
20.07.2017, 11:19
    #39492172
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
КурдльAndrey.Lпропущено...
Уж лучше AFTER, на случай если есть свои BEFORE триггеры.
Коллеги, вы прикалываетесь? Я от безысходности даже попробовал: "привилегий недостаточно" (ЧТД)
Пожалуйста, не заливайте ветку домыслами, дайте возможность высказаться тому, кто знает oracle лучше нас.

Вам у "вашей схеме" могут дать привелегию create any trigger?
етого достаточно, "чужая" схема про ето и не догадается

.....
stax
...
Рейтинг: 0 / 0
20.07.2017, 11:29
    #39492186
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
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.
...
Рейтинг: 0 / 0
20.07.2017, 12:56
    #39492290
-=APS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
stax..,..."чужая" схема про ето и не догадаетсяКогда чужая схема поймает просадку по производительности или некий exception-нежданчик - догадается.
По словам ТС-а: "... Я же сказал, насколько "чужая" - имею доступ только на чтение, НЕ НА СОЗДАНИЕ ТРИГГЕРОВ"
...
Рейтинг: 0 / 0
20.07.2017, 13:49
    #39492351
efendi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
КурдльefendiА зачем делать захват, если данные и так доступны мгновенно?
Затем, что в мастер-системе данные имеют другую структуру и их надо раскладывать по нескольким таблицам.

Создать VIEW, имитирующие нужную структуру
...
Рейтинг: 0 / 0
20.07.2017, 14:57
    #39492428
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Query change notifications(object change notifications/continuous change notifications) ?
...
Рейтинг: 0 / 0
20.07.2017, 16:35
    #39492504
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
stax..Вам у "вашей схеме" могут дать привелегию create any trigger?
етого достаточно, "чужая" схема про ето и не догадается

.....
stax
Спасибо за идею! Пойду договариваться с ДБадминами.
...
Рейтинг: 0 / 0
20.07.2017, 18:37
    #39492613
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Курдльstax..Вам у "вашей схеме" могут дать привелегию create any trigger?
етого достаточно, "чужая" схема про ето и не догадается

.....
stax
Спасибо за идею! Пойду договариваться с ДБадминами.
Я бы не дал, ни за что. Есть много более безопасные альтернативы, раз уж есть с кем договариваться...
P.S.
stax , спасибо за озвученный перевод моей первой ремарки..
2 Курдль
судя по вашей реакции - ни первую, ни вторую мою ремарку вы прочить не смогли.. Думаю о ссылках можно и не упоминать...
Используйте хотя бы https://translate.google.com/?hl=ru
Ну а уж Клиент для Google Translate http://translateclient.com/ru/ будет для вас манной небесной..
Поверьте, родной язык вам не помощник в вашей профессиональной карьере...если только это для вас не временное.
Да...и по личному опыту...начать...нет не учить...потихоньку понимать основной язык документации, не поздно ни в каком возрасте, вот только откладывать нельзя...
...
Рейтинг: 0 / 0
21.07.2017, 10:08
    #39492816
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
ViewerДа...и по личному опыту...начать...нет не учить...потихоньку понимать основной язык документации, не поздно ни в каком возрасте, вот только откладывать нельзя...
Спасибо за совет! Я обычно в первую очередь обращаюсь на oradocs, asktom, stackoverflow
Но не всегда удается сразу найти ответ на свой вопрос. Зато как приятно найти его в одном лаконичном посте на профессиональном форуме от настоящих профессионалов. Мне кажется, что эти форумы затем и существуют, чтобы упростить нашу жизнь.
В конкретном случае признаю Ваше первенство на совет про any triggers, который, правда, адресован был не мне (возможно поэтому я его и пропустил).
Как я понял, Вы знаете более изящный способ решения моей проблемы. Буду признателен за его публикацию.
Создавать триггеры на "чужие" таблицы оказалось недопустимым, т.к. это явно будет видно владельцу "чужой" схемы.
Я пока что склоняюсь к триггеру на мат.представление.
...
Рейтинг: 0 / 0
21.07.2017, 10:47
    #39492844
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
КурдльСоздавать триггеры на "чужие" таблицы оказалось недопустимым , т.к. это явно будет видно владельцу "чужой" схемы.
Почему нет? Самый естественный подход - это попросить владца схемы создать триггер по вашему скрипту.
При физическом отсутствии владеца - выполнить скрип через администратора базы или deploy менеджера.
Вы же не в личных целях этого добиваетесь. Наверняка есть официальная постановка задачи.
Там что решать это нужно на административном уровне вышестоящего руководства.
Приводятся обоснования, получаются подтверждения, наделённый необходимым правами исполнитель выполняет.
Всё это подшиватеся и учитывается в документации и регламентах.
Совершенно стандартный подход.
...
Рейтинг: 0 / 0
21.07.2017, 11:02
    #39492857
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
ViewerСовершенно стандартный подход.

покупная система, не разрешают хоть тресни
мож и добавят но за деньги

.....
stax
...
Рейтинг: 0 / 0
21.07.2017, 11:25
    #39492866
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
Viewer, stax прав!
Система, в которую я лезу своими грязными ручонками, поставлялась с гарантийным договором.
В нем запрет на любые вмешательства в структуру данных. Запрета на обращение к ней - нет.

Так что вы думаете про мою идею с мат.представлением и триггером на него?
Я уже понял, что не смогу воспользоваться FAST REFRESH и другими, использующими логи, т.к. логи - тоже достояние чужой схемы...
Но отловить момент изменения данных триггером и применить процедуру для выявления дельты - можно.
...
Рейтинг: 0 / 0
21.07.2017, 11:34
    #39492871
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
КурдльЯ пока что склоняюсь к триггеру на мат.представление.
Не говорят о такой мелочи, как то что
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 мат.представления (автоматически или по недосмотру)?
...
Рейтинг: 0 / 0
21.07.2017, 11:36
    #39492873
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер на представление?
sorry, пока писал ответ, вы уже сами поняли, что к чему...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на представление? / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]