Issue #14 December 2005

Developing database-driven applications on Linux


All applications, beyond the simplest ones, require storage of data in an efficient and reliable way. This is typically what database software is responsible for.

Whether they're developing with PHP, Java, or C++, many developers get their first exposure to relational database technology using some kind of application programming interface to a database. By getting involved in such development efforts, developers who might not have much database experience increasingly require a database that addresses both their short and long-term needs.

Oracle Database 10g Express Edition

Until recently, the use of commercial database software such as Oracle in development environments was difficult due to licensing constraints. In the past, anyone could freely download and use Oracle® Database software for development purposes, but any production use of the software required a full license.

With Oracle Database 10g Express Edition (Oracle Database XE), both developers and smaller production environments can utilize the Oracle Database XE software absolutely free of charge—it is free to download, develop, deploy, and distribute. Oracle Database XE runtime usage allows up to 4GB of user data (in addition to Oracle system data) and can be installed on a system of any size, using up to 1GB of RAM and one CPU.

Oracle Database XE is available for Red Hat® Enterprise Linux® and Fedora™ Core 4 (as well as other platforms, including Microsoft® Windows®); it is fully compatible with the family of Oracle Database products, including Oracle Standard Edition One, Oracle Standard Edition, and Oracle Enterprise Edition. Users can start small, choose to upgrade to other editions of Oracle Database 10g as demand grows, and move their applications to other editions without changes.

Oracle Database XE, which is built on the Oracle Database 10g Release 2 code base, provides the full set of API's to application developers. On the Red Hat Enterprise Linux platforms, this includes Oracle Call Interface for C and C++, ODBC, PHP, JDBC, and more.

Installing and configuring Oracle Database XE on Red Hat Enterprise Linux

After downloading the RPM distribution file, Oracle Database XE is installed in the same way as any other RPM file—by using the RPM utility. This installs the software and a fully operational database; performing the following simple configuration step will make the database ready for use (some minor details are omitted):

# /etc/init.d/oracle-xe configure

Specify the HTTP port that will be used for HTML DB [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts:

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:

Except for the password, which must be entered, all defaults can normally be accepted; however, if you already have a different need for TCP/IP port 8080 or 1521, you can enter alternative values.

The first port (the HTTP port) is a browser port used for the administrative interface to XE; the second port is the Oracle Net listener port, which is used when making database connections with any system other than the one where XE is installed. The whole process typically takes 10-15 minutes.

Supported development environments

As with other editions of Oracle, Oracle Database XE comes with a preloaded and fully configured database that includes a sample HR schema. This allows the user to immediately start using the sample applications that are included or are available for download.

For PHP, you can download and use Zend Core for Oracle created by Zend Technologies in cooperation with Oracle: http://oracle.com/technology/tech/php/zendcore/index.html

For JDBC, C and C++ applications, everything needed (such as class libraries, makefiles, etc.) is included with Oracle Database XE. For ODBC, developers download the unixODBC driver manager: http://www.unixodbc.org

In addition to these programming environments, Oracle Database XE comes preconfigured with the Oracle HTML DB rapid development environment, which is fully browser-based for both development and deployment. The practice and experience gained by database developers using Oracle Database XE is a valuable asset that can be exploited by future employment or projects.

Free online forum for registered users

All registered Oracle Database XE users get access to an exclusive online forum that is closely monitored by Oracle experts, including Oracle author and luminary Tom Kyte, author of the popular "Ask Tom" column. Available online on the Oracle Technology Network (OTN), the forum includes answers to frequently asked questions, discussions, success stories, issues, advice, and much more.

The forum is the primary method by which the Oracle Database XE product team receives feedback about the product, and it is the only support available for Oracle Database XE. For traditional fee-based support, users should upgrade to Oracle Standard Edition One, Standard Edition, or Enterprise Edition.

Simple upgrade path

When your application grows beyond the limits of Oracle Database XE, the upgrade to Oracle Standard Edition One, Standard Edition, and Enterprise Edition is simple and easy. Because Oracle Database XE is effectively the same software as used in the Oracle Database product family, no migration step is necessary for data, and any application will work exactly the same using exactly the same API's—there's no costly, complex rewriting or migration required.

Further reading

You can download your free copy of Oracle Database XE and get further background information, including FAQs, a data sheet, and more from http://www.oracle.com/technology/xe. After registration, you can access the XE Forum online at http://www.oracle.com/technology/xe/forum.

About the author

Mr. Engsig is a consulting member of the technical staff at Oracle Corporation's database development organization. He was the architect behind Oracle Database XE and has been guiding the various development teams involved in creating the product. Mr. Engsig primarily works with application developers and performance-related issues for Oracle Corporation's core database teams.