Oracle Essentials Oracle Database 11g (5 page)

When we describe a new feature that was first made available specifically in a certain release, we’ve tried to note that fact to avoid confusion, recognizing that many of youmaintain older releases of Oracle. We typically use the simple term “Oracle” when describing features that are common to all these releases.

Oracle Development has developed releases using a single source code model for the core family of database products since 1983. While each database implementation includes some operating-system-specific source code at very low levels in order to better leverage specific platforms, the interfaces that users, developers, and administrators deal with for each version are consistent. Since feature behavior is consistent across platforms for implementations of these Oracle flavors, organizations can migrate Oracle applications and databases easily among various hardware platform vendors and operating systems. This development strategy also enables Oracle to focus on implementing new features only once across its product set.

8

|

Chapter 1: Introducing Oracle

Summary of Oracle Database Features

The Oracle database is a broad product. To give some initial perspective, we begin describing Oracle with a high-level overview of the basic areas of functionality. By the end of this portion of the chapter, youwill have orientation points to guide you in exploring the topics in the rest of this book.

To give some structure to the broad spectrum of the Oracle database, we’ve organized our initial discussion of these features into the following sections:

• Database application development features

• Database connection features

• Distributed database features

• Data movement features

• Database performance features

• Database management features

• Database security features

In this chapter, we’ve included a lot of terminology and rather abbrevi-ated descriptions of features. Oracle is a huge system. Our goal here is to quickly familiarize you with the full range of features in the system.

Subsequent chapters will provide additional details. Obviously, though, whole books have been written about some of the feature areas summarized here.

Database Application Development Features

The Oracle database is typically used to store and retrieve data through applications.

The features of the Oracle database and related products described in this section are used to create applications. We’ve divided the discussion in the following subsections into database programming and database extensibility options. Later in this chapter, we will describe Oracle’s development tools and Oracle’s other embedded database products that meet unique applications deployment needs.

Database Programming

All flavors of the Oracle database include languages and interfaces that enable programmers to access and manipulate the data in the database. Database programming features usually interest developers who are creating Oracle-based applications to be sold commercially or IT organizations building applications unique to their businesses. Data in Oracle can be accessed using SQL, ODBC, JDBC, SQLJ, OLE

DB, ODP.NET, SQL/XML, XQuery, and WebDAV. Programs deployed within the database can be written in PL/SQL and Java.

Database Application Development Features

|

9

SQL

The ANSI standard Structured Query Language (SQL) provides basic functions for data manipulation, transaction control, and record retrieval from the database. Most business users of the database interact with Oracle through applications or business intelligence tools that provide interfaces hiding the underlying SQL and its complexity.

PL/SQL

Oracle’s PL/SQL, a procedural language extension to SQL, is commonly used to implement program logic modules for applications. PL/SQL can be used to build stored procedures and triggers, looping controls, conditional statements, and error handling. Youcan compile and store PL/SQL procedures in the database. Youcan also execute PL/SQL blocks via SQL*Plus, an interactive tool provided with all versions of Oracle. PL/SQL program units can be precompiled.

Java

Oracle8
i
introduced the use of Java as a procedural language and a Java Virtual Machine (JVM) in the database (originally called JServer). The JVM includes support for Java stored procedures, methods, triggers, Enterprise JavaBeans™ (EJBs), CORBA, IIOP, and HTTP.

The inclusion of Java within the Oracle database allows Java developers to leverage their skills as Oracle applications developers. Java applications can be deployed in the client, Application Server, or database, depending on what is most appropriate.

Oracle Database 11
g
includes a just-in-time Java compiler that is enabled by default.

We briefly discuss some aspects of Java development in Chapter 14.

Oracle and web services

As of Oracle Database 11
g
, the database can serve as a web services provider implemented through XML DB in the database. Web services enable SQL or XQuery to submit queries and receive results as XML, or invoke PL/SQL functions or package functions and to receive results. XQuery in Oracle Database 11
g
provides support for the emerging JSR-225 standard and includes a number of performance enhancements.

Large objects

Interest in the use of large objects (LOBs) is growing, particularly for the storage of nontraditional datatypes such as images. The Oracle database has been able to store large objects for some time. Oracle8 added the capability to store multiple LOB columns in each table. Oracle Database 10
g
essentially removed the space limitation on large objects. Oracle Database 11
g
greatly improved the performance of query and insert operations used with LOBs through the introduction of SecureFiles. Transparent data encryption is supported for SecureFiles LOB data.

10

|

Chapter 1: Introducing Oracle

Object-oriented programming

Support of object structures has existed since Oracle8
i
to provide support for an object-oriented approach to programming. For example, programmers can create user-defined datatypes, complete with their own methods and attributes. Oracle’s object support includes a feature called Object Views through which object-oriented programs can make use of relational data already stored in the database. You can also store objects in the database as varying arrays (VARRAYs), nested tables, or index organized tables (IOTs). We discuss the object-oriented features of Oracle fur-

ther in Chapter 14.

Third-generation languages (3GLs)

Programmers can interact with the Oracle database from C, C++, Java, or COBOL

by embedding SQL in those applications. Prior to compiling the applications using a platform’s native compilers, you must run the embedded SQL code through a precompiler. The precompiler replaces SQL statements with library calls the native compiler can accept. Oracle provides support for this capability through optional

“programmer” precompilers for C and C++ using Pro*C and for COBOL using Pro*COBOL. In recent Oracle versions, Oracle features SQLJ, a precompiler for Java that replaces SQL statements embedded in Java with calls to a SQLJ runtime library, also written in Java.

Database drivers

All versions of Oracle include database drivers that allow applications to access Oracle via ODBC (the Open DataBase Connectivity standard) or JDBC (the Java DataBase Connectivity open standard). Also available are data providers for OLE-DB

and for .NET.

The Oracle Call Interface

If you’re an experienced programmer seeking optimum performance, you may choose to define SQL statements within host-language character strings and then explicitly parse the statements, bind variables for them, and execute them using the Oracle Call Interface (OCI). OCI is a much more detailed interface that requires more programmer time and effort to create and debug. Developing an application that uses OCI can be time-consuming, but the added functionality and incremental performance gains could make spending the extra time worthwhile. In certain programming scenarios, OCI improves application performance or adds functionality.

For instance, in high-availability implementations in which multiple systems share disks using Real Application Clusters, you could write programs using OCI that allow users to reattach to a second server transparently if the first fails.

Database Application Development Features

|

11

National Language Support

National Language Support (NLS) provides character sets and associated functionality, such as date and numeric formats, for a variety of languages. Oracle Database 11
g
features Unicode 5.0 support. All data may be stored as Unicode, or select columns may be incrementally stored as Unicode. UTF-8 encoding and UTF-16

encoding provide support for more than 57 languages and 200 character sets. Extensive localization is provided (for example, for data formats), and customized localization can be added through the Oracle Locale Builder. Oracle includes a Globalization Toolkit for creating applications that will be used in multiple languages.

Database Extensibility

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. These capabilities are enabled through extensions to standard SQL. For more details regarding these fea-

tures of Oracle, see Chapter 14.

Oracle Multimedia

Oracle Multimedia (formerly
inter
Media) provides text manipulation and additional image, audio, video, and locator functions in the database. Oracle Multimedia offers the following major capabilities:

• The text portion of Multimedia (Oracle Text) can identify the gist of a document by searching for themes and key phrases within the document.

• The image portion of Multimedia can store and retrieve images of various formats; starting with Oracle Database 11
g
, these include DICOM medical images.

• The audio and video portions of Multimedia can store and retrieve audio and video clips, respectively.

• The locator portion of Multimedia can retrieve data that includes spatial coordinate information.

Oracle content management

Oracle’s content management solutions include a Content Database Option used to store and manage documents in the database and Stellent’s content management applications that were acquired by Oracle in 2007. The applications include Universal Content Management, Universal Records Management, and Information Rights Management.

12

|

Chapter 1: Introducing Oracle

Oracle search capabilities

The Oracle Database and Application Server include a search tool named Ultra Search. Ultra Search is typically used to search and gather location information for text data stored within an organization’s network. Document retrieval is based on user access rights. In addition, Oracle offers an alternative Secure Enterprise Search offering that is more flexible in non-Oracle environments.

Oracle Spatial Option

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.

XML DB

Oracle added native XML datatype support to the Oracle9
i
database and XML and SQL interchangeability for searching. The structured XML object is held natively in object relational storage meeting the W3C DOM specification. The XPath syntax for searching in SQL is based on the SQLX group specifications, and XQuery is also supported.

Database Connection Features

The connection between the client and the database server is a key component of the overall architecture. 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, described in the following subsections. We’ve divided the discussion into two categories: database networking and Oracle Application Server.

Database Networking

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 subsections.

Oracle Net

Oracle’s network interface, Oracle Net, was formerly known as Net8 when used in Oracle8, and SQL*Net when used with Oracle7 and previous versions of Oracle. You
Database Connection Features

Other books

Down the Shore by Kelly Mooney
The Italian Romance by Joanne Carroll
WickedTakeover by Tina Donahue
The Ophelia Prophecy by Sharon Lynn Fisher
Taming the VIP Playboy by Katherine Garbera
With the Old Breed by E.B. Sledge
The Perfect Clone by M. L. Stephens
The Weight of Shadows by Alison Strobel
Plain Promise by Beth Wiseman