powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на стороннюю базу данных
19 сообщений из 19, страница 1 из 1
Триггер на стороннюю базу данных
    #39253641
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, есть две базы Base_1 (привилегии только на SELECT) и Base_2 (привилегии есть все), в Base_2 создан link на Base_1. Требуется каким-то образом отследить добавление или изменение записей в одной из таблиц базы Base_1 непосредственно из базы Base_2.



create or replace TRIGGER TRIGGER1

AFTER INSERT ON user.table1@base_1_LINK for each row

BEGIN

insert into user.table(column_1) values (:new. column_1);

END;



Error: ORA-02021: DDL-операции на удаленной БД не разрешены


Каким образом можно создать подобный триггер или иным способом реализовать отслеживание?

Так тоже не получилось:

exec dbms_utility.exec_ddl_statement@base_1_LINK (create or replace TRIGGER TRIGGER1

AFTER INSERT ON user.table1@base_1_LINK for each row

BEGIN

insert into user.table(column_1) values (:new. column_1);

END;)



Error: ORA-00922: отсутствует или неверна опция

Заранее спасибо!
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253644
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_SashaBase_1 (привилегии только на SELECT) Если у вас только селект, то поменять вы ничего не сможете и уж тем более создать объект.
Для этого привилегии и нужны, чтобы можно было ограничивать пользователей в правах
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253649
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
менять я не хочу, мне надо узнать к примеру, что появилась новая строка в Base_1, триггером взять ее ID и вставить в таблицу базы Base_2
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253652
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha,

для этого триггер должен быть на таблице в Base_1.
Чтобы там создавать триггеры нужны права на создание триггеров там .
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253654
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если там будет создан триггер который будет отслеживать изменения там как я отслежу это из Base2?
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253660
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha,

Триггер из там будет посылать в Base_2 всякие сигналы, о том, что строчки в табличке поменялись.
Например, делать insert into user.table@ base_2 _LINK(column_1) values (:new. column_1);
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253664
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Egoр

а нельзя ли как нибудь отследить изменения в Base_1, при условии, что только SELECT, может есть другие механизмы?
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253666
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, есть. Селектить до умопомрачения и сравнивать результаты.
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253667
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha,

Можно.
Повесить job, который будет в необходимой регулярность опрашивать интересуемую табличку и сравнивать ее состояние с предыдущим.
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253670
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha,

А еще в соседнем топике обсуждают Дата последнего изменения записей таблицы
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253671
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sashaа нельзя ли как нибудь отследить изменения в Base_1, при условии, что только SELECT, может
есть другие механизмы?

Код: sql
1.
2.
drop table t2;
create view t2 as select * from t1@base_1;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253673
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Код: sql
1.
2.
drop table t2;
create view t2 as select * from t1@base_1;


тогда уж лучше матвью
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253676
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно вьюшку материализованную сделать, но это тоже будет по таймеру, тоже что и селектить. А хочется, чтобы все было автоматически, появилась новая запись, попал ID в таблицу и там уже ...
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253682
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha... но это тоже будет по таймеру ...Зачем по таймеру. Не надо.
Надо сделать кнопочку. И следить за тем, что происходит в base_1.
Увидел, что данные в таблице поменялись - нажал кнопочку, а она автоматом обновит всё в base_2. :))
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253684
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sashaможет есть другие механизмы?
Есть. Поток redo.
Можно использовать в разных вариантах - logical standby один из них. Еще вариант - logminer.
К сожалению, в 12 версии oracle отказал пользователям в "халявной" CDC и требует использования GG.
У GG, конечно, есть более бюджетные аналоги, но тоже стоят денег.

Еще одна возможность - ретроспективные запросы as of scn на стороне base_1 и minus, что сопоставимо с предложенными вариантами "вычитывать-и-сравнивать", но более экономно в плане сетевых взаимодействий между base_1 и base_2.

Ну и пока что никто вроде не отменял пока snapshot-репликацию...
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253686
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
exec dbms_utility.exec_ddl_statement@ никак не получится прикрутить?
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253689
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sashaexec dbms_utility.exec_ddl_statement@ никак не получится прикрутить? к чему прикрутить? что вы хотите сделать?
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253708
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uzun_Sasha,

тема ddl за линком обсуждалась, в том числе, как сделать через дырочку и с помощью зубила и молотка

но как вам это поможет (поможет ли ;) - вопрос отдельный
...
Рейтинг: 0 / 0
Триггер на стороннюю базу данных
    #39253713
Uzun_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо буду пробовать.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на стороннюю базу данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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