Oracle
 sql >> Database >  >> RDS >> Oracle

Tabella di query da un altro database ORACLE

Per Oracle,

CREATE DATABASE LINK ...

es.

Con un collegamento al database creato e testato, puoi eseguire una query (dello stile che hai mostrato) per recuperare le righe da un database remoto.

Riferimento:http://docs.oracle.com /cd/E11882_01/server.112/e41084/statements_5005.htm#SQLRF01205

SEGUITO

NOTA:in Oracle, il termine "database" si riferisce ai file di dati e ai file di registro associati a un'"istanza" Oracle. Recuperare dati da un secondo "database" significa che è necessaria una seconda connessione all'altro database. Oracle fornisce una struttura chiamata "collegamento al database". Ciò consente a una sessione (connessione) a un'istanza di database di connettersi a un'altra istanza di database. (Senza questa funzione, un client dovrebbe creare due connessioni separate e dovrebbe interrogare i due database separatamente.)

Se questa domanda riguarda l'interrogazione da due "schemi" separati all'interno dello stesso database, purché l'utente disponga di privilegi sufficienti sugli oggetti nel secondo schema, l'identificatore può essere qualificato con il nome dello schema, ad es.

SELECT * FROM UATDEVORADB.TABLE_NAME

Per accedere ai dati su un database separato, è possibile utilizzare un collegamento al database...

CREATE DATABASE LINK UADEVORADB 
  CONNECT TO user 
  IDENTIFIED BY password
  USING 'uadevoradb' ;

(Ciò richiederà una voce corrispondente appropriata nel file tnsnames.ora sul server Oracle, o sul server dei nomi di Oracle, oppure i dettagli della connessione possono essere esplicitati al posto di una voce tnsnames.ora, qualcosa come:

CREATE DATABASE LINK UADEVORADB
  CONNECT TO user IDENTIFIED BY password 
  USING '(DESCRIPTION=
  (ADDRESS=(PROTOCOL=TCP)(HOST=uadevorahost1)(PORT=1521))
  (CONNECT_DATA=(SERVICE_NAME=uadevoradb.domaindb)))'

Se l'"utente" specificato nel collegamento al database è diverso dal "proprietario" della tabella sul sistema remoto e non ci sono sinonimi che facciano riferimento alla tabella, l'identificatore della tabella dovrà essere qualificato con il proprietario...

SELECT * FROM [email protected] ;