RelationalDBDesign 





Network Topology   «Prev 

Oracle Inter-database Communication

A distributed database is a set of databases stored on multiple computers that typically appears to applications as a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network. Each Oracle database in the system is controlled by its local Oracle server but cooperates to maintain the consistency of the global distributed database.
A database server is the Oracle software managing a database, and a client is an application that requests information from a server. Each computer in a system is a node. A node in a distributed database system act as a client, a server, or both, depending on the situation. The computer that manages the HQ database is acting as a database server when a statement is issued against its local data (for example, the second statement in each transaction issues a query against the local DEPT table), and is acting as a client when it issues a statement against remote data (for example, the first statement in each transaction is issued against the remote table EMP in the SALES database).
The following images illustrate the process by which a connection is made between remote databases.



A request is made in SQL with a database link
A request is made in SQL with a database link
Oracle dictionary takes the link names and supplies the TNS service name
Oracle dictionary takes the link names and supplies the TNS service name
Service name is looked up in the tnsnames.ora file, and the host name, port number, SID
Service name is looked up in the tnsnames.ora file, and the host name, port number, SID
Host name is passed to the /etc/hosts file where it is used to get the IP address
Host name is passed to the /etc/hosts file where it is used to get the IP address


The network packet is shipped to the remote database using the IP address, port number, and protocol.
The network packet is shipped to the remote database using the IP address, port number, and protocol.
Remote listener intercepts the request and bequeaths a UNIX process
Remote listener intercepts the request and bequeaths a UNIX process
UNIX process connects to the remote database using the SID
UNIX process connects to the remote database using the SID