Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да извикам SELECT през DBLINK през DBLINK?

Първо, архитектурно бих бил доста подозрителен към всеки дизайн, който включва изтегляне на данни през множество връзки към база данни. Виждал съм го да се прави, когато евентуалният източник е някаква древна версия на Oracle, към която целевата база данни не може да се свърже директно, така че е използвана междинна база данни, изпълняваща междинна версия на Oracle. Това обаче е много рядко на практика.

От гледна точка на ефективността този вид подход е сериозен проблематичен. Има, разбира се, проблемът, че данните ще бъдат изпратени по мрежата два пъти. Но по-притеснителното е, че се захващате с труден проблем, оптимизирате разпределени SQL изрази и го правите почти нерешим. По принцип трябва или да гарантирате, че никога няма да правите заявки за локални данни и отдалечени данни в една и съща заявка, или ще трябва да живеете с резултатната производителност, ако Oracle избере глупав план за заявка, тъй като наборът от инструменти, останали, за да ви позволят оптимизирането на този вид заявка е минимално.

Като се има предвид това, междинната база данни ще трябва да има синоними или изгледи, които абстрахират връзката към базата данни. И така

На A:

  • създайте връзка към база данни към B

На B:

  • създайте връзка към база данни към C
  • създайте синонимна table за [email protected]

На A можете след това

SELECT *
  FROM [email protected]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запитване на поднизове към списък със стойности

  2. Oracle:импортиране на записи от разделен с разделители текстов файл в база данни с помощта на pl-sql

  3. Присъединяване на вложен цикъл в Oracle 11g

  4. Как да декларирате входно-изходни параметри в съхранена процедура/функция на SQL Server?

  5. Как да изброя всички таблици, използвани в определена съхранена процедура в Oracle