powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DB-LINK на другую схему в ту же базу - плохо?
24 сообщений из 49, страница 2 из 2
DB-LINK на другую схему в ту же базу - плохо?
    #39742773
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BTMshurka22,
Это нормальное решение, называется loopback db_link, довольно распространенное,
и Том Кайт одобряет
О благодарю вас.
Для потомков, ссылка на кайта:
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:456820211101
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743054
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743060
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSможно ещё так
RTFM
https://docs.oracle.com/cd/B28359_01/server.111/b28310/general009.htm#ADMIN02101
ALTER SESSION SET CURRENT_SCHEMA = <schema name>In subsequent SQL statements, Oracle Database uses this schema name as the schema qualifier when the qualifier is omitted. ...
The session retains its original privileges and does not acquire any extra privileges by the preceding ALTER SESSION statement.
... мимо, не говоря уже о том, чтобы
shurka221) щёлкнулись все триггеры, которые щёлкаются при логине user-2
2) "select user from dual" говорил бы именно user-2 , а не user-1
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743064
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer , прочитайте внимательнее, что же написано английским и переводите не в гугле )
and does not acquire any extra privileges by the preceding ALTER SESSION statement

при грамотном подходе всё заработает, тем более у него все триггеры щёлкаются при логине триггером ON LOGON,- переделать триггер, делов то
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743094
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSпеределать триггер, делов тоПолагаешь, что вся проблема это написать при обращении к объектам другой схемы ее имя?
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743215
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex URSViewer , прочитайте внимательнее, что же написано английским и переводите не в гугле )
and does not acquire any extra privileges by the preceding ALTER SESSION statement

при грамотном подходе всё заработает, тем более у него все триггеры щёлкаются при логине триггером ON LOGON,- переделать триггер, делов то
1) Триггеры можно и вручную щёлкнуть - да.
2) Но вот сколько ни думал, не смог заставить оракл выполнить второй пункт:
"select user from dual" говорил бы именно user-2, а не user-1
Подскажете, как это сделать через ваш метод? Был бы премного благодарен.
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743234
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSViewer , прочитайте внимательнее, что же написано английским и переводите не в гугле )
and does not acquire any extra privileges by the preceding ALTER SESSION statement
Было бы интересно услышать ваш вариант перевода...

P.S. Пренебрёг вашим советом, и посмотрел перевод гугла. Он подтвердил, что я не безнадёжен...
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743283
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shurka22Alex URSViewer , прочитайте внимательнее, что же написано английским и переводите не в гугле )
and does not acquire any extra privileges by the preceding ALTER SESSION statement

при грамотном подходе всё заработает, тем более у него все триггеры щёлкаются при логине триггером ON LOGON,- переделать триггер, делов то
1) Триггеры можно и вручную щёлкнуть - да.
2) Но вот сколько ни думал, не смог заставить оракл выполнить второй пункт:
"select user from dual" говорил бы именно user-2, а не user-1
Подскажете, как это сделать через ваш метод? Был бы премного благодарен.

при использовании ALTER SESSION зачем же использовать это " select user from dual " ?
используй
Код: plsql
1.
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') from dual
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743290
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

если у вас по переводу всё "сошлось", тогда не понимаю к чему была указана эта нота для ALTER SESSION?
согласно утверждению автора триггер в его системе раздаёт гранты - loopback db_link , тоже вроде как does not acquire any extra privileges
1 пункт делается небольшим изменением триггера ON LOGON
2 пункт заменяем на код, который я указал в предыдущем моём сообщении, если понадобится

в данном случае будет получено именно то, что хочет автор топика
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743297
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну и собственно ответ автору топика на его вопрос:
DB-LINK на другую схему в ту же базу - плохо?
да т.к. это "кривое" решение с доп. накладными расходами и ограничениями (commit/rollback,BLOB)
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743301
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URS loopback db_link , тоже вроде как does not acquire any extra privileges
Через частный dblink схемы USER1 совершается коннект для вызова функции в схеме USER2.
В дб-линке прописан логин под именем USER2.
Поробуйте перечитать весь топик и переосмыслить всё под этим углом зрения..
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743310
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-Alex URSпеределать триггер, делов тоПолагаешь, что вся проблема это написать при обращении к объектам другой схемы ее имя?

нет, я такого не писал
голова, она не только для того чтобы есть
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743314
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViewerAlex URS loopback db_link , тоже вроде как does not acquire any extra privileges
Через частный dblink схемы USER1 совершается коннект для вызова функции в схеме USER2.
В дб-линке прописан логин под именем USER2.
Поробуйте перечитать весь топик и переосмыслить всё под этим углом зрения..

я ж не предлагаю своё решение как панацею
я написал так:

Alex URS можно ещё так...

можно - не значит, что это будет легче
но с dblink получите кучу проблем с коммитами, ролбеками, лобами,(LOBS), xmlлями....
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743325
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSViewerпропущено...

Через частный dblink схемы USER1 совершается коннект для вызова функции в схеме USER2.
В дб-линке прописан логин под именем USER2.
Попробуйте перечитать весь топик и переосмыслить всё под этим углом зрения..
я ж не предлагаю своё решение как панацею
я написал так:
Alex URS можно ещё так...
Неможно..
ViewerПопробуйте перечитать весь топик и переосмыслить всё ...
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743328
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex URSпри использовании ALTER SESSION зачем же использовать это " select user from dual " ?
используй
Код: plsql
1.
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') from dual


Увы, 40Mb кода стороннего вендора уже написаны, и они уже используют именно USER, а не SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA'). Переписать этот код будет крайне дорого.
Существующее решение уже использует 2 дб-линка. Создание дополнительной петли дб-линка - сильной роли не сыграют.
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743336
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer...
Неможно..
...

смешно
это из серии "А Баба Яга против"
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743344
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URS-2-Полагаешь, что вся проблема это написать при обращении к объектам другой схемы ее имя?нет, я такого не писал
голова, она не только для того чтобы естьНу так растолкуй тогда, что делает alter session set current_schema, кроме как поменять схему в процессе разрешения имен.

Alex URSпри использовании ALTER SESSION зачем же использовать это " select user from dual " ?
используй
Код: plsql
1.
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') from dual

Поменять код вендора - автор сам об этом заикается. Только код этот наверняка definer и тогда в чем смысл alter session set current_schema?
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743366
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-Alex URSпропущено...
нет, я такого не писал
голова, она не только для того чтобы естьНу так растолкуй тогда, что делает alter session set current_schema, кроме как поменять схему в процессе разрешения имен.

Alex URSпри использовании ALTER SESSION зачем же использовать это " select user from dual " ?
используй
Код: plsql
1.
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') from dual

Поменять код вендора - автор сам об этом заикается. Только код этот наверняка definer и тогда в чем смысл alter session set current_schema?

смотрите, что пишет автор
shurka22shurka22,
Сам себе отвечу: есть решение без ДБ-линка, если на схеме-1 повторить логику триггера схемы-2 ON LOGON. Надо разбираться в логике этого кода, он местами завязан на USER. В общем затея возможная, но не самая простая.

до сих пор definer? не уверен, думаю автор хочет идти (и идёт) по пути наименьшего сопротивления - а это утопия..
красота начнётся позже, когда руководству стрельнёт (например) контейнер с ЭЦП, или blockchain добавить - ох и наплачется автор с dblink

агитируете за dblink? - да, пожалуйста
но я агитирую за рациональное, продуманное и не "кривое" решение
засим разрешите раскланяться - т.к. начинается пустая болтовня ни о чём
как говорится - RTFM
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743390
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex URSдо сих пор definer? не уверен, думаю автор хочет идти (и идёт) по пути наименьшего сопротивления - а это утопия..
красота начнётся позже, когда руководству стрельнёт (например) контейнер с ЭЦП, или blockchain добавить - ох и наплачется автор с dblink
Почему же это утопия? Делать реверс-инжениринг чужого кода (понять, что и в какие таблицы он вставляет) - задача не только неприятная, но и чревата массой ошибок. ДБ-линк, как решение - мне кажется вполе хорошая замена этому.

Конкретная задача: примерно 50 запросов в день, каждый размером в тысячу байт. Изредка, когда всякие миграции - ну пару тысяч запросов за раз. Никаких ЭЦП итд на горизонте нет, и "такая вероятность - крайне мала" (с) :)
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743408
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSдо сих пор definer?Переведи. Я пропустил какую-то пору definer?
Alex URSагитируете за dblink?домыслы.
Alex URSя агитирую за рациональное, продуманное и не "кривое" решение Есть два направления.
1. Не менять код вендора, пока предложен только вариант через дблинк. Если разобраться с сутью проблемы, возможно достаточно будет добавить пользователя БД в справочник приложения. Или инициализировать контекст прямым вызовом, где-то же оно дергается из триггера по результатам получения user.
2. Менять код вендора. Тут по любому решение "кривое". Нужно еще глубже вникать в суть кода вендора. Может достаточно будет закомментить проверку на user в логон-триггере или прописать константу в параметрах вызываемой из него процедуры. А может этот user разложен по всему коду...
И куда бы тут приткнуть alter session set current_schema? Ах да! До логон-триггера.
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743418
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSагитируете заЧудак, ты сам себе выдумал тезисы и с пеной у рта агитируешь за попи$деть.
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743439
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicAlex URSагитируете заЧудак, ты сам себе выдумал тезисы и с пеной у рта агитируешь за попи$деть.

раз уж ты вмешался....
Виталий, не я придумал oracle с его костылями и не всегда очевидным решением...
а пена у рта у тут не у меня, а у орущих за dblink.
как по мне - так всё равно, какое решение примет автор топика, я лишь утверждаю, что задача решается вторым постом самого автора топика.

ориентируясь на твой опыт, надеюсь, ты просто поддерживаешь тут писавших, а не здравое решение, т.к. не поверю, что и ты за dblink
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743448
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSа пена у рта у тут не у меня, а у орущих за dblink .
... никто тут ни орёт..

Автор спросил:
shurka22 Получается запустить, если сделать DB-LINK в пределах одной базы со схемы-1 на схему-2.
Насколько это опасно? Ну вдруг оракл не рекомендует такой финт. Вроде бы тесты работают.
Единственный положительный ответ
Ну или вдруг подскажете решение проще?
shurka22BTMshurka22,
Это нормальное решение, называется loopback db_link, довольно распространенное,
и Том Кайт одобряет
... и это ВСЁ..
Не клевещите...
...
Рейтинг: 0 / 0
DB-LINK на другую схему в ту же базу - плохо?
    #39743455
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слегка промахнулся со вставкой.
Фраза "Единственный положительный ответ " должна была располагаться между 2-мя последними цитатами.
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DB-LINK на другую схему в ту же базу - плохо?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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