Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SqlPlus и dblink / 10 сообщений из 10, страница 1 из 1
27.01.2022, 14:45
    #40129917
Davidss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Добрый день! У меня есть две базы Oracle, одна с другой связана при помощи dblink, подскажите как сделать так, чтобы при подключении через sqlplus сразу шло соединение с dblink. Какой формат команды должен быть, спасибо!
...
Рейтинг: 0 / 0
27.01.2022, 15:09
    #40129932
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Код: plsql
1.
2.
3.
select * from table;

select * from table@dblink;


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
SQL> select table_name from user_tables fetch first 10 rows only;

TABLE_NAME
--------------------------------------------------------------------------------
BUDGET
GLOBAL_TYPE_BUDGET
TYPE_BUDGET
UKM_LOG
OSAGO
OBJ_TABLE
NAMES
UKM_CLIENTS_LOCAL
PAR
T

10 rows selected


Executed in 2,867 seconds


SQL> select table_name from user_tables@dboffice fetch first 10 rows only;

TABLE_NAME
--------------------------------------------------------------------------------
FFBADLINKS
FFMAPININ
FFMAPOUTIN
FFPARTNERHIST
FFPRODDOCUMENTS
FFPRODOUTSPEC
FFPRODREP
FFREMAINS
FFREMINCOME
FFREMTHRESHOLD

10 rows selected


Executed in 0,222 seconds

...
Рейтинг: 0 / 0
27.01.2022, 15:10
    #40129934
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Davidss,

Все уже сделано до Вас

dblink - это соединение текущей базы с другой как клиент другой базы

то есть когда Вы в текущей сессии вызываете

Код: plsql
1.
select * from tab@dblink_name;


То select получает данные с удаленной базы, используя подключение как пользователель с текущего СЕРВЕРА СУБД Oracle на удаленную базу, используя учетную запись которую указали Вы при создании dblink
...
Рейтинг: 0 / 0
27.01.2022, 15:19
    #40129936
Davidss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Vadim Lejnin, я наверно чуть не так описал. Мне нужно чтобы во время коннекта к первой базе, я уже попадал сразу и на вторую. И чтобы я в запросах select * from не писал уже запрос к дблинк. Можно ли так сделать? или это уже невозможно. Надеюсь вы поняли суть моего хотения
...
Рейтинг: 0 / 0
27.01.2022, 15:19
    #40129937
Davidss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
написал выше

dmdmdm,
...
Рейтинг: 0 / 0
27.01.2022, 17:31
    #40129994
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Davidss
чтобы я в запросах select * from не писал уже запрос к дблинк


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

Код: plsql
1.
2.
create synonym table_remote for table@dblink;
select * from table_remote;
...
Рейтинг: 0 / 0
27.01.2022, 17:46
    #40130003
кит северных морей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Davidss
Мне нужно чтобы во время коннекта к первой базе, я уже попадал сразу и на вторую. И чтобы я в запросах select * from не писал уже запрос к дблинк. Можно ли так сделать?
нет, дблинк нужен не для этого, и так не работает.
...
Рейтинг: 0 / 0
27.01.2022, 17:54
    #40130007
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Davidss

И чтобы я в запросах select * from не писал уже запрос к дблинк.



Ой 22426949

создайте синоним
CREATE SYNONYM ttt FOR yyy@zzz_db_link;

тогда можно select * from ttt

stax
...
Рейтинг: 0 / 0
27.01.2022, 23:20
    #40130107
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Думаю, теоретически автор хотел бы что-то вроде такого:

Код: plsql
1.
ALTER SESSION SET CURRENT_SCHEMA = <remote_schema>@DBLINK;



Но, увы, SET CURRENT_SCHEMA конечно полезная команда, но до такого использования архитекторы в Oracle похоже пока не догадались. Впрочем, Вы (автор топика) всегда можете проголосовать за фичу, нужную Вам. Или создать голосование за новую, если нужной Вам нет в списке:

https://community.oracle.com/tech/apps-infra/categories/database-ideas-ideas

(заодно немного популяризую этот раздел на community.oracle.com, как-то не замечал ранее тут на форуме ссылок именно на него)

========

Еще разве что можно в login.sql (или в glogin.sql) добавить что-нибудь из запросов к удалённой базе. Это конечно не даст Вам возможности писать запросы, как будто Вы подключились к ней, но можно (если это кому-то нужно) например выводить баннер, и тогда при каждом коннекте из SQL*Plus, пользователь будет видеть что-то вроде "Вы подключились к локальной базе <такая-то>, удалённая база <сякая-то> доступна, открыта в режиме Read/Write, uptime равен ХХ дней/часов и тд. Для запросов из таблиц в удалённой базе используйте синтаксис во фразе FROM, для каждой таблицы `FROM <REMOTE_TABLE_NAME>@DBLINK` и тд.". Эти все факты об удалённой базе, естественно, вычисляются в логин-скрипте и результаты подставляются в вывод баннера.
...
Рейтинг: 0 / 0
27.01.2022, 23:27
    #40130108
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlPlus и dblink
Коллеги расходимся.
Мессир хотел странного.
Мессир хотел форточку в другую базу через dblink, чтобы там пошуровать увиденной в инет отмычкой 22426888 , даже не разбираясь в предмете.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SqlPlus и dblink / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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