Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / SQL

Installing Oracle 11g XE (Express Edition)

4.72/5 (11 votes)
14 Sep 2011CPOL6 min read 196.2K  
This article briefly describes basic information about installing the Oracle 11g XE database on Windows and few Developer tools such as SQL Developer

Introduction

Oracle 11g XE is a free edition of Oracle database which supports most of the functionality of Standard edition. 11g XE is available (at least) for Windows and Linux.

As with all free versions of databases, XE also has limitations:

  • The maximum database size is 11 GB.
  • The maximum amount of RAM XE can use is 1 GB.
  • Only one instance of Oracle XE can be installed on a single computer.
  • XE uses only a single CPU so it does not distribute operations between several CPUs.

Installation

First, download the Oracle 11g XE and unzip the package. The setup.exe is located at DISK1 directory. When installation starts, a welcome screen is shown followed by the license agreement. After these, Oracle checks the requirements for installation, which are:

  • Operating system, at least Windows XP
  • The user has administrator privileges
  • No existing XE instances are found

DestinationFolder.jpg

The next step is to define the installation folder. The default is oraclexe. After that, the installation prompts for database passwords. Note that this password will be used for both SYS and SYSTEM. You should use a very strong password as these users are the typical administrators of an Oracle instance. Also changing for example SYS password to something else after the installation helps to distinguish these users when logging into the system.

DatabasePasswords.jpg

And at the end, before the actual installation, the Summary screen is shown. Note, the default ports that are used for the instance:

  • Listener: 1521
  • Services for MTS: 2030
  • HTTP listener: 8080

Summary.jpg

So What Was Installed

After the installation has ended, let’s have a look at the things that were installed.

Services

If you open the computer management and have a look at the services installed, you’ll find five new services.

Services.jpg

  • OracleServiceXE
    This is the actual database engine.
  • OracleXETNSListener
    This service is responsible for listening to incoming connections and passing successful connections to the database engine. Note that if this service is down, you won’t be able to connect to the database remotely. Existing connections won't be affected.
  • OracleJobSchedulerXE
    This service is used when external jobs are run. By default, it is disabled. If you plan to run external jobs (such as executables, batches, etc.), modify the account the service uses to use proper, low-privileged credentials and start the service.
  • OracleXEClrAgent
    On Windows platforms, Oracle offers CLR integration. Since a CLR operation is run using an extproc process, it’s normally done using a dedicated (single threaded) extproc for a single session. This may not be the optimal way to handle CLR calls. ClrAgent provides a multi-threaded mechanism so that a single extproc process may serve several CLR calls.
  • OracleMTSRecoveryService
    This one is responsible of resolving in-doubt transactions when Oracle is participating in distributed transactions with Microsoft Transaction Server.

Programs

In start menu, few new programs are added. Actually, most of these programs are batch scripts:

StartMenu.jpg
  • Start and Stop Database are used to control the OracleServiceXE service
  • Backup and Restore Database are scripts for backing up or restoring the database data using rman
  • Run SQL Command Line opens a console based SQL*Plus which can be used to execute SQL commands or to run scripts against the database
  • Get Started opens a web site used for investigating
    • storage, the amount of disk space used by tablespaces or drill to segments
    • current sessions and basic information about the sessions such as client and application information and active SQL statement
    • parameters show current initialization parameter values.

Few Locations to Note

Now when the installation has been done, there are few locations (and files) that should be noted:

\oraclexe\app\oracle\oradata\XE 

This is the folder where the database files are located after the installation. If (when) new database files are added, the new files can be placed somewhere else, but critical files such as control file, system database file, undo tablespace, etc. are located here.

\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN  

This directory contains the configuration files for database connections:

  • listener.ora configures the listener. For example, by default Oracle is listening port 1521. This can be changed by changing the configuration in listener.ora and restarting the listener service. So this file controls the behavior at 'server side'.
  • tnsnames.ora defines the network configuration for client programs such as SQL*Plus. For example, when you establish a connection to XE service, XE is actually an alias which is used to resolve the real network configuration using tnsnames.ora. If you change the port listener uses, you must also reflect that change to the tnsnames.ora.
\oraclexe\app\oracle\diag\rdbms\xe\xe 

This folder contains different kind of log and trace files for the database instance. While Oracle still has the alert_xe.log under trace –directory, there’s now another type of log file under alert –directory called log.xml. As the name suggests, it’s an XML formatted file containing all important messages that the database records. However, since there’s no root node in this file, most of the basic XML editors are unable to show its content. Oracle has provided a tool called ADRCI to investigate the contents. This tool can be launched from command prompt.

\oraclexe\app\oracle\diag\tnslsnr\<machinename>\listener 

This folder is similar to the corresponding rdbms folder. However, this folder contains log and trace information for the listener. As with rdbms, the log.xml file can be read using ADRCI.

Additional Tools

Since using pure command line based tools isn’t necessarily very productive, you can download few additional tools.

SQL Developer

SQLDeveloper_3.jpg

This is a graphical SQL editor actually with lots of functionality. While SQL commands can be executed, etc. you can view execution plans, get the server output, run different kinds of reports, create objects, etc.

Currently the 32 bit version includes the necessary JDK, but if you’re installing SQL Developer to a 64-bit windows, you must download the 64-bit version and with this version, the JDK must be downloaded and installed separately.

SQL Developer Data Modeler

DataModeler_2.jpg

Data Modeler is a tool which you can use to design logical or relational data models. The tool has the ability to make transformations between these designs. The design model contains the basic building blocks such as entities, relations and so on, but is also capable of handling data flow diagrams, domains, data types, etc.

ODP.NET, ODT and ODAC

ODP.NET (Oracle Data Provider for NET) is the Oracle supplied library to use in application development when Oracle connection is required. ODP.NET utilizes several Oracle specific features and because of this, it’s much more powerful than for example OLEDB based connections.

ODT (Oracle Developer Tools for Visual Studio) is a set of Visual Studio add-ins for Visual Studio that help application development. These add-ins include functionality such as automatic code generation, tuning tools, PL/SQL editor, AQ designers, etc. Unfortunately, ODT cannot be used with Express Editions of Visual Studio because of the limitations of the Express Edition.

ODAC (Oracle Data Access Components) is a package which contains ODP.NET but also other connectivity libraries such as ODBC, OLEDB and tools like SQL*Plus. ODAC can be downloaded with or without ODT.

History

  • September 14, 2011: Created

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)