APPX 5 connectivity to Oracle on Linux
How to configure APPX 5 to store data inside Oracle on Linux.
Overview
Release 5.0.0 or higher of the APPX Utility allows APPX to connect to Oracle via Oracle's Instant Client instead of the Oracle Client Interface. This allows for an easier configuration because the files can be placed on the server by hand instead of making use of an Oracle install routine to place the Client. This document will show you were to get the Oracle Instant Client, where you might place the Instant Client Files from Oracle, and how to make APPX aware of the Oracle Instant Client files so that you can store APPX data inside Oracle. This document will focus on the Linux platform, specifically the Red Hat Enterprise product.
Oracle Instant Client
Downloading
APPX requires a 32 bit Oracle interface for all Oracle connections. Even if your OS is 64 bit, even if your Oracle is 64 bit, APPX requires you to connect to Oracle via the 32 bit version of the Oracle Instant Client. You can download the 32 bit version of Oracle Instant Client
here. On my test server here I have APPX installed on Red Hat Enterprise 5 64 bit OS. Oracle is installed on a secondary server - Red Hat Enterprise 4 32 bit. The connection from APPX to Oracle should work fine to Oracle 10.2.0.4 and above (including 11). I downloaded the 32 bit version of Oracle's Instant Client 10.2.0.4, selecting two file bundles,
Instant Client Package - Basic and
Instant Client Package - SQL*Plus. I chose the rpm, but the zip packages work just as well. The rpms deposited the Oracle Instant client files as shown below:
Installing
[root@appx502 10.2.0.4-32bit]# rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
Preparing... ########################################### [100%]
1:oracle-instantclient-ba########################################### [ 50%]
2:oracle-instantclient-sq########################################### [100%]
[root@appx502 10.2.0.4-32bit]#
[root@appx502 10.2.0.4-32bit]# rpm -qlp oracle-instantclient-basic-10.2.0.4-1.i386.rpm oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
/usr/lib/oracle/10.2.0.4/client/bin/genezi
/usr/lib/oracle/10.2.0.4/client/lib/libclntsh.so.10.1
/usr/lib/oracle/10.2.0.4/client/lib/libnnz10.so
/usr/lib/oracle/10.2.0.4/client/lib/libocci.so.10.1
/usr/lib/oracle/10.2.0.4/client/lib/libociei.so
/usr/lib/oracle/10.2.0.4/client/lib/libocijdbc10.so
/usr/lib/oracle/10.2.0.4/client/lib/ojdbc14.jar
/usr/bin/sqlplus
/usr/lib/oracle/10.2.0.4/client/bin/sqlplus
/usr/lib/oracle/10.2.0.4/client/lib/glogin.sql
/usr/lib/oracle/10.2.0.4/client/lib/libsqlplus.so
/usr/lib/oracle/10.2.0.4/client/lib/libsqlplusic.so
[root@appx502 10.2.0.4-32bit]#
Testing
The location isn't terribly important, only that you know where the library files libclntsh, libnnz10, libocci, libociei and the executable file sqlplus are located. Let's test the Oracle Instant Client with SQL*Plus. You can't test the Oracle Instant Client with just any SQL*Plus. You must use a version of SQL*Plus that was developed to use the Instant Client library files. To perform the SQL*Plus connection we need five pieces of information from your Oracle DBA. My example values are listen in parenthesis below:
- Oracle SID (customer)
- TCP port number that Oracle is configured to listen (TCP 1521)
- Resolvable DNS name or IP address of the Oracle server (10.50.0.6)
- Oracle user ID (larry)
- Oracle password (yacht)
I'll use the Oracle Easy Connect syntax to log in.
Failure without LD_LIBRARY_PATH
[root@appx502 ~]#
[root@appx502 ~]# /usr/lib/oracle/10.2.0.4/client/bin/sqlplus larry/yacht@10.50.0.6:1521/customer
/usr/lib/oracle/10.2.0.4/client/bin/sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
[root@appx502 ~]#
Notice the failure to find libsqlplus.so in the text above. You can resolve this on Linux with LD_LIBRARY_PATH. An example is below.
Success with LD_LIBRARY_PATH
[root@appx502 ~]# export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.4/client/lib
[root@appx502 ~]#
[root@appx502 ~]# /usr/lib/oracle/10.2.0.4/client/bin/sqlplus larry/yacht@10.50.0.6:1521/customer
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jul 8 13:06:38 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[root@appx502 ~]#
--
JoeOrtagus - 2010-07-07