Oracle Database
Linki do baz danych
Szukaj…
Tworzenie łącza do bazy danych
CREATE DATABASE LINK dblink_name
CONNECT TO remote_username
IDENTIFIED BY remote_password
USING 'tns_service_name';
Zdalna baza danych będzie wówczas dostępna w następujący sposób:
SELECT * FROM MY_TABLE@dblink_name;
Aby przetestować połączenie z bazą danych bez konieczności znajomości nazw obiektów w połączonej bazie danych, użyj następującego zapytania:
SELECT * FROM DUAL@dblink_name;
Aby jawnie określić domenę dla połączonej usługi bazy danych, nazwa domeny jest dodawana do instrukcji USING
. Na przykład:
USING 'tns_service_name.WORLD'
Jeśli nie określono jawnie nazwy domeny, Oracle używa domeny bazy danych, w której tworzony jest link.
Dokumentacja Oracle do tworzenia łącza do bazy danych:
- 10g: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm
- 11g: https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm
- 12g: https://docs.oracle.com/database/121/SQLRF/statements_5006.htm#SQLRF01205
Utwórz łącze do bazy danych
Załóżmy, że mamy dwie bazy danych „ORA1” i „ORA2”. Możemy uzyskać dostęp do obiektów „ORA2” z bazy danych „ORA1” za pomocą łącza do bazy danych.
Wymagania wstępne: Aby utworzyć prywatny link do bazy danych, musisz mieć uprawnienie CREATE DATABASE LINK
. Aby utworzyć prywatny link do bazy danych, potrzebujesz uprawnienia CREATE PUBLIC DATABASE LINK
.
* Oracle Net musi być obecny w obu instancjach.
Jak utworzyć łącze do bazy danych:
Z ORA1:
SQL> create <public> database link ora2 connect to user1 identified by pass1 using <tns name of ora2>;
Utworzono łącze do bazy danych.
Teraz, gdy mamy skonfigurowane łącze DB, możemy to udowodnić, uruchamiając następujące funkcje z ORA1:
SQL> Select name from V$DATABASE@ORA2; -- should return ORA2
Możesz również uzyskać dostęp do obiektów DB „ORA2” z „ORA1”, pod warunkiem, że użytkownik user1
ma uprawnienie SELECT
do tych obiektów na ORA2 (takich jak TABELA 1 poniżej):
SELECT COUNT(*) FROM TABLE1@ORA2;
Wymaga:
- Obie bazy danych muszą być uruchomione (otwarte).
- Oba detektory bazy danych muszą być uruchomione.
- TNS musi być poprawnie skonfigurowany.
- Użytkownik użytkownik 1 musi być obecny w bazie danych ORA2, hasło należy sprawdzić i zweryfikować.
- Użytkownik użytkownik1 musi mieć co najmniej uprawnienie
SELECT
lub inny wymagany do uzyskania dostępu do obiektów w ORA2.