ProductsDesktop Server For Scientific Computing For IBM POWER For IBM System z For SAP Business Applications Red Hat Network Satellite ManagementExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportWeb Server Developer Studio Portfolio Edition JBoss Operations Network FuseSource Integration Products Web Framework Kit Application Platform Data Grid Portal Platform SOA Platform Business Rules Management System (BRMS) Data Services Platform Messaging JBoss Community or JBoss enterprise
SolutionsApplication development Business process management Enterprise application integration Interoperability Operational efficiency Security VirtualizationMigrate to Red Hat Enterprise Linux Systems management Upgrading to Red Hat Enterprise Linux JBoss Enterprise Middleware IBM AIX to Red Hat Enterprise Linux HP-UX to Red Hat Enterprise Linux Solaris to Red Hat Enterprise Linux UNIX to Red Hat Enterprise Linux Start a conversation with Red Hat Migration services
TrainingPopular and new courses JBoss Middleware Administration curriculum Core System Administration curriculum JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing and Virtualization curriculum
ConsultingStandard Operating Environment (SOE) Strategic Migration Planning Service-oriented architecture (SOA) Enterprise Data Solutions Business Process Management
Issue #14 December 2005
- The making of the Fedora logo
- Making One Laptop per Child a reality
- Open source collaboration meets construction
- Creative Commons runs annual fund-raising drive
- Doing more with... more: Dual-head display
- The virtues of Xen
- Open Invention Network to protect against patent threat
- Music to make code by
- Answers to your top 10 support questions
- Fedora Ambassadors Program takes flight
- Developing database-driven applications on Linux
From the Inside
In each Issue
- Editor's blog
- Red Hat speaks
- Ask Shadowman
- Tips & tricks
- Fedora status report
- Magazine archive
Developing database-driven applications on Linux
by Bjørn Engsig
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 : Specify a port that will be used for the database listener : 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.
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.