In Oracle, there are three key terms you need to be familiar with when dealing with remote databases:
Database Name (Oracle System ID, or ORACLE_SID): The ORACLE_SID is a unique identifier for an Oracle Database instance. The SID is a unique name that is required for operating an Oracle Database instance, and it distinguishes this instance from all others on the same computer. It is used by the Oracle client to connect to the Oracle Database instance.
Service Name: The service name is a logical representation of a database, which is the way a database is presented to clients. The service name is a descriptor that Oracle Net Services use to connect to the database server, offering a way to identify a database without specifying a physical location. The service name is typically registered with a listener to establish connections to a particular database instance. It is logged in the tnsnames.ora file, which maps the service name to the network address of the database server.
Database Link Name: A database link is a schema object in one database that enables you to access objects on another database. The other database can be on the same Oracle Database system or can be on a different system entirely. Database links can be used for queries, updates, and deletes on tables and views on the remote database, as well as for running procedures and functions. The database link points to the service name, which, in turn, points to the physical location of the database server.
Understanding these terms is crucial for managing and operating Oracle databases, especially when dealing with a multi-database environment or distributed database systems. Misunderstanding these terms can lead to difficulties in configuration, connectivity issues, or data access problems.
Various components of Oracle Net
This module discussed the various components of Oracle Net. Let us review how they fit together.
Remember, there are three "names" in Net that refer to remote databases:
The database name (for example, ORACLE_SID)
The service name (logged in the tnsnames.ora file)
The database link name (points to the service name)
The image below illustrates the complete process surrounding a remote connection.
You begin by issuing the distributed SQL, which produces the following:
The DBA_DB_LINKS view is interrogated (using the link name) to get the user ID and password.
The tnsnames.ora file uses the service name to look up:
Database SID name
The hosts file on the server then gathers the IP address (using the host name from tnsnames.ora) for the remote host.
At this point we have everything we need to connect successfully to the remote database. Net then establishes the network connection, and the remote listener creates a server process. The server process establishes the connection and signs on to Oracle with our user ID and password. The next module discusses how to configure a Net client and server, then examines Net's internal details.