Sök…


Skapa en databaslänk

CREATE DATABASE LINK dblink_name 
CONNECT TO remote_username 
IDENTIFIED BY remote_password 
USING 'tns_service_name';

Fjärr-DB kommer sedan att vara tillgänglig på följande sätt:

SELECT * FROM MY_TABLE@dblink_name;

Om du vill testa en databaslänkanslutning utan att behöva känna något av objektnamnen i den länkade databasen använder du följande fråga:

SELECT * FROM DUAL@dblink_name;

För att specifikt ange en domän för den länkade databastjänsten läggs domännamnet till USING uttalandet. Till exempel:

USING 'tns_service_name.WORLD'

Om inget domännamn uttryckligen anges använder Oracle domänen i databasen där länken skapas.

Oracle-dokumentation för skapande av databaslänkar:

Skapa databaslänk

Låt oss anta att vi har två databaser "ORA1" och "ORA2". Vi kan komma åt objekten för "ORA2" från databasen "ORA1" med en databaslänk.

Förutsättningar: För att skapa en privat databaslänk behöver du ett CREATE DATABASE LINK privilegium. För att skapa en privat databaslänk behöver du ett CREATE PUBLIC DATABASE LINK privilegium.

* Oracle Net måste vara närvarande i båda fallen.

Hur man skapar en databaslänk:

Från ORA1:

SQL> create <public> database link ora2 connect to user1 identified by pass1 using <tns name of ora2>;

Databaslänk skapad.

Nu när vi har DB-länken konfigurerad kan vi bevisa det genom att köra följande från ORA1:

SQL> Select name from V$DATABASE@ORA2; -- should return ORA2

Du kan också komma åt DB-objekten från "ORA2" från "ORA1", med tanke på att användaren user1 har SELECT behörigheten för de objekt på ORA2 (som TABELL1 nedan):

  SELECT COUNT(*) FROM TABLE1@ORA2;

Pre-requistes:

  • Båda databaserna måste vara igång (öppnas).
  • Båda databas lyssnarna måste vara igång.
  • TNS måste konfigureras korrekt.
  • Användaranvändare1 måste finnas i ORA2-databasen, lösenord måste kontrolleras och verifieras.
  • Användaranvändare1 måste ha åtminstone SELECT behörigheten eller något annat som krävs för att få åtkomst till objekten på ORA2.


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow