Category Archives: Oracle XE

HTTPS access with UTL_HTTP on Oracle XE. Has anyone managed to do this?

I’ve posted a tweet on  #orclapex a while agon (June 21st), asking if anyone managed to access HTTPS resource using the UTL_HTTP package, on an Oracle XE database. Still, I have no answer to that, but I’m getting closer to the inevitable answer: it might not be possible!

First of all, when wanting to connect to an http site using the ssl protocol (HTTPS), you need to create and setup and encrypted PKCS#12 container called Oracle Wallet. Oracle Wallet Manager (OWM) is a tool to manage public key security credentials on Oracle clients and servers. Why does HTTPS connection need this wallet manager? Because when initiating an HTTPS connection from the database (with UTL_HTTP), the identity of the public key holder (read more about SSL here) must be verified through authentication by a Certificate Authority, that issues a public CA certificate. This is stored inside the wallet, a file stored on the disk, or in the Windows registry. So all HTTPS connections done with UTL_HTTP will use a wallet containing the public certificate, so that the connection will be verified as a trusted on. Web browsers do this by default!

The main issue with wallets is that Oracle XE does not come with Oracle Wallet Manager!

But, according to Oracle documentation, even if Oracle Wallet Manager is part of Oracle Advanced Security (OAS), that is not free and not shipped with Oracle XE, Oracle Wallets can be deployed on clients, middle tiers, and database servers free of charge. So using a previously created wallet (on Oracle SE or EE) on a XE database, to initiate HTTPS connection from the database to a HTTPS resource, might work on XE and is free o charge! There is discussion about this on OTN. But has anyone managed to make it work?

Continue reading

Install Oracle XE on Linux Centos 5

This is a quick guide on how to install Oracle XE on a Linux Centos 5 machine:

Download Oracle XE from Oracle.com: http://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.html. For Linux Centos release, you will download your desired .rpm file (Universal or Western European)

Copy you .rpm to the Linux machine, either using WinScp or setting up a FTP server.

Log in as root (or sudo as root) and change the folder where you copied your .rpm file.

Install the dependencies:

yum install libaio

yum install bc

Install Oracle XE:

rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm

A successful installation will result in the following message:

Preparing… ########################################### [100%]
1:oracle-xe ########################################### [100%]
Executing Post-install steps…

You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.

Continue reading

APEX architecture overview & hacking Oracle XE

In my opinion there are two "must read" articles concerning Oracle APEX. The first, a very interesting overview of the APEX architecture, by Dr. Paul Dorsey at Dulcian Inc.: http://www.dulcian.com/papers/ODTUG/2009/2009_Dorsey_APEX.htm.

The main points to follow in this article:

– APEX is the spark between the PLSQL HTP package and the mod_plsql Apache module. APEX is stored entirely in the database and the web pages are generated using the HTP package and the mod_plsql Apache module. Simple as that!

– APEX does not currently have what we traditionaly call a model layer. A model layer is used to temporary store data between multiple web pages, as required by a stateless web application. The mode-view-controller stored the state of each web page and does a commit just "at the end", resulting in a insert/update/delete. APEX does not have this. The workaround is the items and collections. Not so frequently used, APEX collections (apex_collection) will soon be a must for all complex applications with forms spreading across multiple pages.

The second article is a whitepaper about Hardening and Hacking Oracle XE. The minuses of APEX applications that use Oracle XE db are mainly found in the database. Oracle does not offer support for free products and patches are sparse and sometimes hard to get, if you don't have a metalink account. Proud of your XE database? Think again: it's missing most of the security patches applied to the SE versions…

Install ORACLE XE client on Windows XP

Follow these steps to install the Oracle XE Client on Windows XP. This client is used to connect to Oracle XE databases.

1.       Download and install the client from: http://www.oracle.com/technetwork/database/express-edition/downloads/102xewinsoft-090667.html

2.       It will install in c:\XEClient

3.       Create folder c:\XEClient\NETWORK\ADMIN

Continue reading