Previous Table of Contents Next


To see how many parallel query servers are busy at any given time, the following query can be issued against the v$pq_sysstat table:

SELECT * FROM v$pq_sysstat
        WHERE STATISTIC = 'Servers Busy';

 STATISTIC                VALUE
----------           ------------
Servers Busy              30

In this case, we see that 30 parallel servers are busy at this moment in time. Do not be misled by this number. Parallel query servers are constantly accepting work or returning to idle status, so it is a good idea to issue the query many times over a one-hour period. Only then will you have a realistic measure of how many parallel query servers are being used.

Towards Oracle8

The next progression of database architectures is toward object-oriented databases. Just as early file managers stored data, network databases stored data and relationships—and object-oriented database store data, data relationships, and the behaviors of the data.

In general, the Oracle8 engine is remarkably similar to the relational engine found in Oracle 7.3, but with major extensions to the relational architecture. It is interesting to note that Oracle has not discarded the idea of creating a “universal” database engine. Oracle is calling Oracle8 the “Oracle Universal Server,” adding text, multidimensional, and object capabilities to the relational engine. The most exciting enhancements involve the introduction of “Sedona,” the incorporation of the Oracle Express MDDB, and the “object layer” that will be tightly coupled with the relational engine.

Oracle Sedona

Due to the secrecy around the development of Oracle8, many Oracle professionals assumed that Sedona was the code name for the Oracle8 product. However, Sedona is actually an extension to the Oracle8 product. Sedona has been billed as a “Universal Object Manager,” and it appears that its basic function is to act as an “object consolidator” by allowing for Oracle methods to be indexed and quickly located across many databases and platforms. Sedona achieves this by placing an object wrapper around Oracle objects so they can be accessed by other distributed systems. While the details are still sketchy, Sedona will incorporate many of the features of an Object Request Broker (ORB) with a metadata dictionary for the distributed management of objects. With Sedona, object classes may be registered in a central repository so they will be available for use transparently across the enterprise. Oracle has made the interface specifications for Sedona to third-party software vendors, hoping that these vendors will create application products that utilize Sedona.

Oracle ConText

A text searching option called Oracle ConText has also been added to the relational engine of Oracle8. Oracle ConText allows thematic word searching capabilities against Oracle’s relational database. Although the ConText option indexes on each word within the text, the real power of the text retrieval system is located in the front-end software. While this represents major improvement over Oracle Book (which is now obsolete), it remains to be seen how ConText will compete in the marketplace as a text search engine. There are two fundamental ways to measure the accuracy of text retrieval:

  Precision—The ability to retrieve only relevant documents (no false or “noisy” hits)
  Recall—The ability to retrieve all relevant documents in a given data collection

Together, precision and recall represent the overall accuracy of a text retrieval system. “Natural language” is a phrase frequently heard in conjunction with concept-based searching, and “morphology” is commonly used by the text databases to simulate natural language query. Morphology recognizes basic units of meaning and parts of speech. To understand morphology, consider the phrase “Please write to Mr. Wright right now.” From the initial review, it is still unclear how well Oracle ConText will be able to compete with the other more established text engines such as ConQuest, Fulcrum and Folio.

Oracle Express

Unlike Oracle 7.3, where the Express multidimensional database was installed independently of Oracle, the Express product has been incorporated into the Oracle8 kernel. This implies yet another change for Oracle DBAs, who must now manage both the relational and multidimensional components of Oracle. Oracle Express will be offered for NT and PC, as well as Unix platforms. The basic reporting functions of Express have also been enhanced to provide forecasting and model building.

Unlike the Express product from IRI (IRI was the company that originally developed Express), Oracle Express has been enhanced so that it does not require data to be preloaded into its internal data structures. This enhancement allows Express to read relational data directly from relational Oracle, dynamically transforming and aggregating the data for multidimensional presentation. This means that Express will now compete against the other relational back-end products such as Holos and MetaCube.

The Object Layer

Rather than rebuild the Oracle engine as an object-oriented architecture, Oracle has decided to keep the base relational engine and add object functionality on top of the standard relational architecture. While claiming to be an active member in the Object Management Group (OMG), Oracle has departed from the OMG’s standard for “pure” object databases as defined by the Object Data Management Group (ODMG). Oracle’s intent is to provide a generic relational database while extending the architecture to allow for objects. The object layer of Oracle8 claims to have the following features:

Abstract Data Typing (ADTs)

Rather than being constrained to the basic relational data types of INT VARCHAR, and FLOAT, Oracle8 will allow the definition of data types that may be composed of many subtypes. For example, the following data definition could be implemented in Oracle8 as an ADDRESS data type:

03 ADDRESS.

            05 STREET-ADDRESS                  VARCHAR(30).
            05 CITY-ADDRESS                    VARCHAR(30).
            05 ZIP-CODE                        NUMBER(5).

In this manner, aggregate data types can be defined and addressed in a table definition just like any other relational data type. In the example below, we see the phone_nbr and address data types being used in a table definition:

CREATE TABLE CUSTOMER (
        cust_name           VARCHAR(40),
        cust_phone          phone_nbr,
        cust_address        address);


Previous Table of Contents Next