Oracle Create Database Link

Oracle Create Database Link

I Oracle refererer en databasekobling til et databaseobjekt som lar en bruker få tilgang til data i en ekstern database. Det fungerer i hovedsak som en "kobling" mellom to databaser, slik at en bruker kan utføre en SQL -spørring på en database og få tilgang til data fra en annen.

Databasekoblinger er viktige av forskjellige årsaker. For eksempel kan de brukes til:

  1. Konsolidere data fra flere databaser til en enkelt server for rapportering og analyseformål.
  2. Tillat brukere i en database å få tilgang til data i en annen database uten å måtte gi dem direkte tilgang til den databasen.
  3. Bli med data fra to forskjellige databaser i en enkelt SQL -spørring.

Denne opplæringen vil lære deg hvordan du bruker Oracle's Create Database Link -kommando for å initialisere en ny databasekobling.

Oracle Database Links

Det er to typer databasekoblinger i Oracle:

  1. Private databasekoblinger - En privat databaselink eies av en bestemt bruker og kan bare brukes av den brukeren. Dette betyr at bare koblingseieren kan bruke den til å få tilgang til data i den eksterne databasen.
  2. Offentlige databasekoblinger - På den annen side eies en offentlig databaselink av den offentlige brukeren og kan brukes av enhver bruker i databasen. Enhver bruker med nødvendige privilegier kan bruke lenken for å få tilgang til data i den eksterne databasen.

Private databasekoblinger er sikrere da de er scoped til en bestemt bruker. Imidlertid gir offentlige databasekoblinger mer tilgjengelighet og bekvemmelighet, ettersom de er globale for enhver bruker.

Det er derfor utfordrende å angi hvilken database du trenger å bruke. Vurder nøye hva som er mer kritisk: sikkerhet eller bekvemmelighet.

Oracle Create Database Link Statement

Vi bruker Oracle's Create Database Link -setning for å initialisere et nytt databaselinkobjekt.

Vi kan uttrykke utsagnets syntaks som vist nedenfor:

Opprett [delt] [public] Database Link Link_name
Koble til brukernavn identifisert med passord
Bruker 'connect_string';

Uttalelsen inkluderer spesifikke parametere, for eksempel:

  1. Delt - Det delte alternativet lar deg opprette en delt databasekobling som flere brukere kan få tilgang til.
  2. OFFENTLIG - Det offentlige alternativet vil opprette en offentlig databasekobling som enhver bruker i databasen kan få tilgang til.
  3. KOBLE TIL - Dette alternativet spesifiserer brukernavnet og passordet for å koble til den eksterne databasen.
  4. VED HJELP AV - Til slutt angir bruksparameteren tilkoblingsstrengen for å koble til den eksterne databasen. Du kan sjekke opplæringen vår på Oracle Connection String for å oppdage mer.

Oracle Create Database Eksempel

Følgende eksempel vil opprette en databasekobling for å koble til en ekstern Oracle -server med adressen 192.168.100.23 på port 1521. Den eksterne serveren har et tjenestavn på ORLR.

Vi starter med å legge til en oppføring i TNSnames.ora -fil.

Hvis du ikke er kjent med det, TNSNAMES.ORA File lagrer informasjon om nettverkskonfigurasjonen for en Oracle -database. Den inneholder vanligvis oppføringer for hver database Oracle -klienten trenger å koble seg til, sammen med de nødvendige tilkoblingsstrengene og andre detaljer. Oracle -klienten bruker denne informasjonen for å koble seg til databasene.

Denne filen er vanligvis i $ Oracle_Home/Network/Admin Directory. Anta at du ikke er sikker på hvor TNSNAMES.ORA -filen ligger på systemet ditt; Du kan prøve å kjøre følgende kommando for å finne den:

finn / -navn tnsnames.ora

Du kan også opprette filen manuelt hvis den ikke eksisterer.

Legg oppføringen til målserveren som vist nedenfor:

Orlr =
(Beskrivelse =
(Adresse = (protokoll = tcp) (vert = 192.168.100.23) (port = 1521)))
(Connect_data =
(Server = dedikert)
(Service_name = orlr)
)
)

Oppføringen definerer en databaseforbindelse kalt ORLR, som bruker TCP -protokollen for å koble til databasen på verten med IP -adressen 192.168.100.23 på port 1521.

Connect_Data -delen av oppføringen spesifiserer at tilkoblingen bruker en dedikert server og at tjenestenavnet for databasen er ORLR. Oracle -klienten bruker denne informasjonen for å koble til databasen ved hjelp av denne oppføringen.

Vi kan deretter opprette en database en database -kobling ved hjelp av forrige oppføring, som vist nedenfor:

Opprett databaselink orlr_link
Koble til brukernavn identifisert med passord
VED HJELP AV '
(Beskrivelse =
(Adresse = (protokoll = tcp) (vert = 192.168.100.23) (port = 1521)))
(Connect_data =
(Server = dedikert)
(Service_name = orlr)
)
)
';

Du kan hoppe over oppføringsdefinisjonen hvis du la den til Tnanames.ora -fil.

Når vi har opprettet lenken, kan vi bruke den til å få tilgang til data i ORLR -databasen, som vist nedenfor:

velg * fra test_table@orlr_link;

Konklusjon

I dette innlegget oppdaget du det grunnleggende om å jobbe med databasekoblinger i Oracle. Før du bruker databasekoblinger, er det godt å vurdere de negative virkningene som kan komme med dem.

Slike potensielle straffer inkluderer:

  1. Opptreden - Å bruke en databaselink kan potensielt påvirke ytelsen til en SQL -spørring. Dette er fordi når spørringen er utført i databasen, må dataene overføres tilbake til den lokale databasen over nettverket. Dette kan være spesielt problematisk for store spørsmål eller hyppige spørsmål.
  2. Sikkerhet - Den andre potensielle effekten av databasekoblinger er sikkerhet. Å bruke en databaselink kan potensielt introdusere sikkerhetsrisikoer, da den lar brukere fra en database få tilgang til data fra en annen. Det er derfor kritisk å huske sikkerheten til den eksterne databasen.
  3. Avhengighet - Å bruke en databaselink kan opprette en avhengighet av den eksterne databasen, noe som gjør det mer utfordrende å administrere et komplekst miljø.

Generelt kan databasekoblinger være et verdifullt verktøy i visse situasjoner, men det er viktig å vurdere de potensielle negative virkningene før du implementerer dem i klyngen din.