Describe the Enhancements built into SQL*Net Version 2
Enhancements in Oracle Network Services in Oracle 9i Compared to Oracle SQL*Net Version 2
Oracle 9i introduced several significant enhancements to Oracle Network Services when compared to its predecessor, Oracle SQLNet Version 2. These improvements were aimed at delivering better performance, security, scalability, and manageability to facilitate communication between clients and Oracle databases in a distributed environment. This article will discuss the key enhancements in Oracle Network Services in Oracle 9i as compared to Oracle SQLNet Version 2.
Introduction of Oracle Net
Oracle 9i replaced SQL*Net with Oracle Net (formerly known as Oracle Net Services) as the primary network protocol for client-server communication. Oracle Net provides a more robust and flexible framework for establishing and managing connections between clients and Oracle databases. It supports multiple communication protocols, such as TCP/IP, IPX/SPX, and DECnet, and offers enhanced features such as service naming, centralized network configuration, and load balancing.
One of the significant enhancements in Oracle 9i is the introduction of service naming, which provides a more intuitive and user-friendly method for identifying and connecting to database services. Service naming allows clients to connect to a database service without specifying the physical location or connection details of the database. This simplifies the process of managing and configuring client connections, particularly in large-scale distributed environments.
Centralized Network Configuration
Oracle 9i introduced Oracle Net Manager, a centralized network configuration tool that simplifies the management of network components such as listeners, naming methods, and service aliases. With Oracle Net Manager, administrators can efficiently manage the network configuration of multiple Oracle databases from a single console, making it easier to maintain consistency and enforce best practices across the entire organization.
Connection Load Balancing
Oracle 9i enhanced the load balancing capabilities of Oracle Network Services by introducing connection load balancing. This feature allows the Oracle listener to distribute incoming connection requests across multiple instances of an Oracle database service, based on their current workload and performance metrics. Connection load balancing ensures that clients are connected to the most suitable instance, optimizing resource utilization and improving the overall performance of the database system.
Security was significantly improved in Oracle 9i Network Services compared to SQL*Net Version 2. Oracle 9i introduced support for industry-standard security protocols such as SSL/TLS for securing network connections, data encryption and integrity algorithms, and robust authentication methods. Additionally, Oracle Advanced Security, an optional feature in Oracle 9i, provides advanced security capabilities such as data encryption at rest, data redaction, and fine-grained access control.
Improved Scalability and High Availability
Oracle 9i Network Services introduced features that enhance scalability and high availability in distributed environments. These include support for Oracle Real Application Clusters (RAC), which enables multiple instances of an Oracle database to run concurrently on different nodes of a cluster, and Oracle Data Guard, which provides a comprehensive solution for data protection, high availability, and disaster recovery.
The enhancements in Oracle Network Services in Oracle 9i compared to Oracle SQL*Net Version 2 marked a significant leap in performance, security, manageability, and scalability. These improvements facilitated more efficient communication between clients and Oracle databases, particularly in distributed environments, and laid the foundation for the evolution of Oracle Network Services in subsequent releases.
Enhancements built into Oracle SQL*Net Version 2 (Legacy)
Enhancements to SQL*Net version 2 include multiple community access (that is, TCP/IP to LU6.2), whereby databases can connect across diverse protocols, and a multi-threaded server that allows all communications to a database to be
handled through a single dispatcher, rather than with separate processes on each database.
A community is a group of computers that share a common protocol (TCP/IP, LU6.2). SQL*Net version 2 is able to cross between different communities, such that the remote request is specified by database name and all protocol conversion is automatically
managed by the SQL*Net software.
Legacy Net Services
One important difference in SQL*Net version 2 is a new listener process. In SQL*Net version 1, the listener process is called ORASRV and it was started and stopped with tcpctl start and tcpctl stop.
In SQL*Net version 2, the listener is called listener, and it is started and stopped with lsnrctl start and lsnrctl stop. To further confound matters, Net8 has introduced another listener called Connection Manager (CMAN). CMAN uses a process called cmadm and cmgw. The CMAN listener is started and stopped with the
"cmctl start" and "cmctl stop" commands.
Note that it is possible to have three listeners running on any Oracle server!
The following diagram illustrates the differences between connections with SQL*Net version 1 and SQL*Net version 2.
Notice that the connect strings for SQL*Net version 1 require the specification of the protocol and host name (for example, t:host:database), while SQL*Net version 2 requires only a single TNS service name.
Also, SQL*Net version 2 uses the tnsnames.ora file to get the protocol and IP address before passing the request to the network.
The next lesson looks at how SQL*Net and Net8 manage database connectivity.
Oracle Sql Net - Exercise
Before moving on to the next lesson, click the Exercise link below for some hands-on practice in defining a TNS topology. This is the first step of the course project. Oracle Sql Net - Exercise