Introducing Oracle, Page 3
The Internet and corporate intranets have created a growing demand for storage and manipulation of nontraditional datatypes within the database. There is a need for extensions to the standard functionality of a database for storing and manipulating image, audio, video, spatial, and time series information. Oracle8 provides extensibility to the database through options sometimes referred to as cartridges. These options are simply extensions to standard SQL, usually built by Oracle or its partners through C, PL/SQL, or Java. You may find these options helpful if you're working extensively with the type of data they're designed to handle.
For more details regarding these features of Oracle, see Chapter 13.
Oracle inter Media
- The text portion of inter Media (Oracle9i's Oracle Text) can identify the gist of a document by searching for themes and key phrases within the document.
- The image portion of inter Media can store and retrieve images.
- The audio and video portions of inter Media can store and retrieve audio and video clips, respectively.
- The locator portion of inter Media can retrieve data that includes spatial coordinate information.
The Spatial option is available for Oracle Enterprise Edition. It can optimize the display and retrieval of data linked to coordinates and is used in the development of spatial information systems. Several vendors of Geographic Information Systems (GIS) products now bundle this option and leverage it as their search and retrieval engine.
The connection between the client and the database server is a key component of the overall architecture of a computing system. The database connection is responsible for supporting all communications between an application and the data it uses. Oracle includes a number of features that establish and tune your database connections.
The following features relate to the way the Oracle database handles the connection between the client and server machines in a database interaction. We've divided the discussion in this section into two categories: database networking and Oracle9i Application Server.
Database users connect to the database by establishing a network connection. You can also link database servers via network connections. Oracle provides a number of features to establish connections between users and the database and/or between database servers, as described in the following sections.
Oracle's network interface, Net8, was formerly known as SQL*Net when used with Oracle7 and previous versions of Oracle. You can use Net8 over a wide variety of network protocols, although TCP/IP is by far the most common protocol today.
In Oracle9i, the name of Net8 has been changed to Oracle Net, and the features associated with Net8, such as shared servers, are referred to as Oracle Net Services.
Oracle Names allows clients to connect to an Oracle server without requiring a configuration file on each client. Using Oracle Names can reduce maintenance efforts, since a change in the topology of your network will not require a corresponding change in configuration files on every client machine.
Oracle Internet Directory
The Oracle Internet Directory (OID) was introduced with Oracle8i. OID serves the same function as Oracle Names in that it gives users a way to connect to an Oracle Server without having a client-side configuration file. However, OID differs from Oracle Names in that it is an LDAP (Lightweight Directory Access Protocol) directory; it does not merely support the Oracle-only Oracle Net/Net8 protocol.
Oracle Connection Manager
Each connection to the database takes up valuable network resources, which can impact the overall performance of a database application. Oracle's Connection Manager, illustrated in Figure 1-3, reduces the number of network connections to the database through the use of concentrators, which provide connection multiplexing to implement multiple connections over a single network connection. Connection multiplexing provides the greatest benefit when there are a large number of active users.
You can also use the Connection Manager to provide multiprotocol connectivity when clients and servers run different network protocols. This capability replaces the multiprotocol interchange formerly offered by Oracle, but it is less important today because many companies now use TCP/IP as their standard protocol.
Advanced Security Option
Advanced Security, now available as an option, was formerly known as the Advanced Networking Option (ANO). Key features include network encryption services using RSA Data Security's RC4 or DES algorithm, network data integrity checking, enhanced authentication integration, single sign-on, and DCE (Distributed Computing Environment) integration.
Advanced networking features such as the Oracle Connection Manager and the Advanced Security Option have typically been available for the Enterprise Edition of the database, but not for the Standard Edition.
Oracle9i Application Server
The popularity of Internet and intranet applications has led to a change in deployment from client/server (with fat clients running a significant piece of the application) to a three-tier architecture (with a browser supplying everything needed on a thin client). Oracle9i Application Server (Oracle9iAS) provides a means of implementing the middle tier of a three-tier solution for web-based applications, component-based applications, and enterprise application integration. Oracle9iAS replaces Oracle Application Server (OAS) and Oracle Web Application Server. Oracle9iAS can be scaled across multiple middle-tier servers.
This product includes a web listener based on the popular Apache listener, servlets and JavaServer Pages ( JSPs), business logic, and/or data access components. Business logic might include JavaBeans, Business Components for Java (BC4J), and Enterprise JavaBeans (EJBs). Data access components can include JDBC, SQLJ, BC4J, and EJBs.
Oracle9iAS offers additional solutions in the cache, portal, intelligence, and wireless areas:
- Oracle9iAS Database Cache provides a middle tier for the caching of PL/SQL procedures and anonymous PL/SQL blocks.
- Oracle9iAS Portal is part of the Internet Developer Suite (discussed later in this chapter) and is used for building easy-to-use browser interfaces to applications through servlets and HTTP links. The developed portal is deployed to Oracle9iAS.
- Oracle9iAS Intelligence often includes Oracle9iAS Portal, but also consists of:
Figure 1-4 shows many of the connection possibilities we've discussed.
Because Oracle9iAS is a separate product, it can be used with various versions of the Oracle8i and Oracle9i database and with either edition.
Oracle9iAS itself also is packaged in a Standard Edition and an Enterprise Edition. Features requiring Enterprise Edition include Cache, PL/SQL, Forms Services, Reports Services, Discoverer Viewer, Oracle Internet Directory, Oracle Workflow, Oracle Application Interconnect, and Oracle Enterprise Manager Management Server. For more details about Oracle9iAS, see Chapter 14.
One of the strongest features of the Oracle database is its ability to scale up to handle extremely large volumes of data and users. Oracle scales not only by running on more and more powerful platforms, but also by running in a distributed configuration. Oracle databases on separate platforms can be combined to act as a single logical distributed database.
This section describes some of the basic ways that Oracle handles database interactions in a distributed database system.
Distributed Queries and Transactions
Data within an organization is often spread among multiple databases for reasons of both capacity and organizational responsibility. Users may want to query this distributed data or update it as if it existed within a single database.
Oracle first introduced distributed databases in response to the requirements for accessing data on multiple platforms in the early 1980s. Distributed queries can retrieve data from multiple databases. Distributed transactions can insert, update, or delete data on distributed databases. Oracle's two-phase commit mechanism, which is described in detail in Chapter 12, guarantees that all the database servers that are part of a transaction will either commit or roll back the transaction. Distributed transactions that may be interrupted by a system failure are monitored by a recovery background process. Once the failed system comes back online, the same process will complete the distributed transactions to maintain consistency across the databases.
You can also implement distributed transactions in Oracle by popular transaction monitors (TPs) that interact with Oracle via XA, an industry standard (X/Open) interface. Oracle8i also added native transaction coordination with the Microsoft Transaction Server (MTS), so you can implement a distributed transaction initiated under the control of MTS through an Oracle database.
Heterogeneous Services allow non-Oracle data and services to be accessed from an Oracle database through tools such as Oracle Transparent Gateways. For example, Transparent Gateways allow users to submit Oracle SQL statements to a non-Oracle distributed database source and have them automatically translated into the SQL dialect of the non-Oracle source system, which remains transparent to the user. In addition to providing underlying SQL services, Heterogeneous Services provide transaction services utilizing Oracle's two-phase commit with non-Oracle databases and procedural services that call third-generation language routines on non-Oracle systems. Users interact with the Oracle database as if all objects are stored in the Oracle database, and Heterogeneous Services handle the transparent interaction with the foreign database on the user's behalf.
Heterogeneous Services work in conjunction with Transparent Gateways. Generic connectivity via ODBC and OLEDB is included with the database. Optional Transparent Gateways use agents specifically tailored for a variety of target systems.
All the technologies discussed in this section are included in both editions of the database.