[ОТВЕТИТЬ]
Опции темы
15.09.2014 08:53  
OlegON
Иногда по разным причинам требуется соединить две базы линком. Как правило, это сопровождается записью в tnsnames на сервере, в итоге кончается тонной этих самых записей и постоянными пинками администратора, чтобы внести эти самые новые записи в tnsnames. Но есть более простой способ идентификации БД. Итак, как создавать:
Код:
create public database link
  mylink
connect to
  supermag
identified by
  qqq
using 'СЕРВЕР:1521/БАЗА'
только, что существенно, при этом должно быть выставлено в sqlnet.ora
Код:
NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, EZCONNECT)
обращаю внимание, что использовать линки для выполнения сложных запросов не рекомендую, во-первых, именно по линку расползаются планы. Поэтому лучше перетаскивать все требуемые таблицы целиком в несколько потоков в общую аналитическую БД и уже работой с ними на месте. Во-вторых, такое распределение нагрузки и ошибки в основной БД - не то, за что вас поблагодарит администратор.
 
15.09.2014 15:38  
bayan
Я в таких случаях предпочёл бы делать так:
Код:
CREATE PUBLIC DATABASE LINK "БАЗА" USING  '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ХОСТ)(PORT=1521))(CONNECT_DATA=(SID=БАЗА)))'
Не хотелось бы отдавать все права supermag'a в сеть. Хотя я мб и неправ :)
 
15.09.2014 15:59  
OlegON
Ну, можно и не public делать, я не про это - про Easy Connect...
 
 
Опции темы



Часовой пояс GMT +3, время: 01:05.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.