Oracle database link

Wyobraźmy sobie sytuację w której mamy dwie bazy. Niech to będą baza A i baza B. Będąc zalogowani do bazy A potrzebujemy jednak czasami zrobić jakiegoś selekta (i nie tylko) na tabelach z bazy B. Tutaj z pomocą przychodzi nam mechanizm Oracle database link. Powiązanie z bazą danych (ang. database link) – jest to zapisana w bazie danych ścieżka sieciowa do odległej bazy danych. Istnieje kilka rodzajów data linków (szczegóły w dokumentacji):

  • Connected User Link
  • Current User Link
  • Fixed User Link
  • Shared Link
  • Public Link

Jak stworzyć link bazodanowy?

Do tego musimy stworzyć użytkownika na bazie produkcyjnej. Najlepiej żeby miał on jak najmniejsze uprawnienia. Przy tworzeniu linku będziemy bowiem zmuszeni podać hasło użytkownika.

Składnia tworzenia powiązania z bazą danych (powiązania bazodanowego) jest następująca:

CREATE DATABASE LINK nazwa_linku
CONNECT TO użytkownik IDENTIFIED BY hasło
USING 'nazwa_usługi';

gdzie:
użytkownik/hasło – dotyczą konta, na które ma zostać dokonane logowanie w odległej bazie danych, jeśli ich brak – używana jest nazwa użytkownika i hasło z lokalnej bazy danych;
nazwa_usługi – nazwa usługi (aliasu bazy danych) Oracle Net np. zdefiniowanej w lokalnym pliku konfiguracyjnym TNSNAMES.ORA. Przykład:

A =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kamil)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bazaa)
)
)

B =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bazab)
)
)

Tworzymy link:

CREATE DATABASE LINK B
CONNECT TO użytkownik IDENTIFIED BY hasło
USING 'B';

Sprawdzamy czy link istnieje:

select * from user_db_links

Pierwszy  selekcik:

SELECT table_name, tablespace_name FROM user_tables@B;

Zamykanie linku:

ALTER SESSION CLOSE DATABASE LINK nazwa_linku;

Kasowanie linku:

DROP DATABASE LINK nazwa_linku;
DROP PUBLIC DATABASE LINK nazwa_linku;

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Releated

SSMTP czyli simple SMTP

SSMTP to program służący do dostarczania wiadomości e-mail z lokalnego komutera/servera do skonfigurowanego hosta pocztowego (mailhub). Nie jest to serwer pocztowy (jak serwer poczty sendmail z bogatymi funkcjami) i nie odbiera poczty, nie rozszerza aliasów ani nie zarządza kolejką. Jednym z jego głównych zastosowań jest przesyłanie zautomatyzowanych wiadomości e-mail (takich jak alerty systemowe) za pomocą […]

Instalacja OpenVPN z autoryzacją PAM, LDAP, kluczami lub certyfikatami

VPN – vpn umożliwia nam stworzenie wirtualnego szyfrowanego tunlu np. pomiędzy nami, a jakimś serwerem bądź domową/firmową siecią. W skrócie po podłączeniu się przez VPN do naszej sieci jesteśmy traktowani tak jak byśmy siedzieli w firmie czyli mamy dostęp do naszej sieci lokalnej tak jak byśmy fizycznie siedzieli w firmie. OpenVPN – pakiet oprogramowania, który […]