Line: 1 to 1 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Database Interface UpgradesCompatibility with newer versions of popular databases is among the many features of APPX 4.3. | |||||||||||||
Line: 6 to 6 | |||||||||||||
Oracle
| |||||||||||||
Changed: | |||||||||||||
< < | The Oracle connectivity is provided by the Oracle Instant Client. | ||||||||||||
> > | The Oracle connectivity is provided by the Oracle Instant Client. | ||||||||||||
Quick installation steps:
| |||||||||||||
Changed: | |||||||||||||
< < |
| ||||||||||||
> > |
| ||||||||||||
Detailed installation example: | |||||||||||||
Changed: | |||||||||||||
< < | Here are the steps I used to make an Oracle connection with APPX 4.3.0 and Oracle 10gR2 on the same Red Hat Enterprise 5.1 32bit server. | ||||||||||||
> > | Here are the steps I used to make connection with APPX 4.3.0 and Oracle 10gR2 with both installed on the same Red Hat Enterprise 5.1, 32 bit server. | ||||||||||||
Added: | |||||||||||||
> > | I'm going to create a directory to place the zipped bundled Oracle Instant Client files. For my example, I'm going to use /usr/local/src/oracle/instantclient/. | ||||||||||||
Changed: | |||||||||||||
< < | mkdir -p /usr/local/src/oracle/instantclient/ cd /usr/local/src/oracle/instantclient/ | ||||||||||||
> > | [root@tubes /]# mkdir -p /usr/local/src/oracle/instantclient/ [root@tubes /]# cd /usr/local/src/oracle/instantclient/ [root@tubes instantclient]# | ||||||||||||
Download the Oracle Instant Client files for Linux. APPX requires at least the Basic package, but it is recommended that you grab the SQL*Plus package too for debugging. | |||||||||||||
Changed: | |||||||||||||
< < | For 10gR2, oracle-instantclient-basic-10.2.0.4-1.i386.zip (34,687,861 bytes), and oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip (744,730 bytes) | ||||||||||||
> > | For 10gR2, the current versions are, oracle-instantclient-basic-10.2.0.4-1.i386.zip (34,687,861 bytes), and oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip (744,730 bytes) | ||||||||||||
Changed: | |||||||||||||
< < | For 11g, basic.zip (42,285,643 bytes), and sqlplus.zip (784,417 bytes) | ||||||||||||
> > | For 11g, the current versions are, basic.zip (42,285,643 bytes), and sqlplus.zip (784,417 bytes) | ||||||||||||
Place the basic and sqlplus zipped files into /usr/local/src/oracle/instantclient/, and unzip them:
| |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient]# pwd /usr/local/src/oracle/instantclient/ [root@tubes instantclient]# ls -la | ||||||||||||
> > | [root@tubes instantclient]# pwd /usr/local/src/oracle/instantclient [root@tubes instantclient]# ls -la | ||||||||||||
total 34656 | |||||||||||||
Changed: | |||||||||||||
< < | drwxr-xr-x 2 root root 4096 Jun 4 08:41 . drwxr-xr-x 7 root root 4096 Jun 3 16:03 .. -rw-r--r-- 1 root root 34687861 Jun 3 16:03 oracle-instantclient-basic-10.2.0.4-1.i386.zip -rw-r--r-- 1 root root 744730 Jun 4 08:41 oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip [root@tubes instantclient]# [root@tubes instantclient]# unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip | ||||||||||||
> > | drwxr-xr-x 2 root root 4096 Jun 5 15:01 . drwxr-xr-x 3 root root 4096 Jun 5 14:59 .. -rw-r--r-- 1 root root 34687861 Jun 5 15:01 oracle-instantclient-basic-10.2.0.4-1.i386.zip -rw-r--r-- 1 root root 744730 Jun 5 15:01 oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip [root@tubes instantclient]# unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip | ||||||||||||
Archive: oracle-instantclient-basic-10.2.0.4-1.i386.zip inflating: instantclient_10_2/BASIC_README inflating: instantclient_10_2/classes12.jar | |||||||||||||
Line: 50 to 51 | |||||||||||||
inflating: instantclient_10_2/libociei.so inflating: instantclient_10_2/libocijdbc10.so inflating: instantclient_10_2/ojdbc14.jar | |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient]# unzip oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip | ||||||||||||
> > | [root@tubes instantclient]# unzip oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip | ||||||||||||
Archive: oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip inflating: instantclient_10_2/SQLPLUS_README inflating: instantclient_10_2/glogin.sql inflating: instantclient_10_2/libsqlplus.so inflating: instantclient_10_2/libsqlplusic.so inflating: instantclient_10_2/sqlplus | |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient]# ls /usr/local appx bin etc games include lib libexec sbin share src | ||||||||||||
> > | [root@tubes instantclient]# ls -la total 34660 drwxr-xr-x 3 root root 4096 Jun 5 15:01 . drwxr-xr-x 3 root root 4096 Jun 5 14:59 .. drwxr-xr-x 2 root root 4096 Jun 5 15:01 instantclient_10_2 -rw-r--r-- 1 root root 34687861 Jun 5 15:01 oracle-instantclient-basic-10.2.0.4-1.i386.zip -rw-r--r-- 1 root root 744730 Jun 5 15:01 oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip [root@tubes instantclient]# ls -la instantclient_10_2/ total 102424 drwxr-xr-x 2 root root 4096 Jun 5 15:01 . drwxr-xr-x 3 root root 4096 Jun 5 15:01 .. -rw-rw-r-- 1 root root 238 Feb 17 03:57 BASIC_README -r--r--r-- 1 root root 1609607 Feb 17 03:57 classes12.jar -rwxrwxr-x 1 root root 67766 Feb 17 03:57 genezi -r--r--r-- 1 root root 1525 Feb 17 03:58 glogin.sql -rwxrwxr-x 1 root root 19076649 Feb 17 03:57 libclntsh.so.10.1 -r-xr-xr-x 1 root root 5656445 Feb 17 03:57 libnnz10.so -rwxrwxr-x 1 root root 1398244 Feb 17 03:57 libocci.so.10.1 -rwxrwxr-x 1 root root 72698427 Feb 17 03:57 libociei.so -r-xr-xr-x 1 root root 120443 Feb 17 03:57 libocijdbc10.so -r-xr-xr-x 1 root root 1434263 Feb 17 03:58 libsqlplusic.so -r-xr-xr-x 1 root root 1069221 Feb 17 03:58 libsqlplus.so -r--r--r-- 1 root root 1555682 Feb 17 03:57 ojdbc14.jar -r-xr-xr-x 1 root root 8903 Feb 17 03:58 sqlplus -rw-rw-r-- 1 root root 242 Feb 17 03:58 SQLPLUS_README [root@tubes instantclient]# | ||||||||||||
Now move the unzipped directory (instantclient_10_2) that contains both the basic and SQL*Plus files from the Oracle Instant Client, into the desired permanent directory. In my example, I'm using /usr/local/, so that the Oracle files will be in a directory /usr/local/instantclient_10_2/.
| |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient]# mv instantclient_10_2/ /usr/local/ [root@tubes instantclient]# ls /usr/local appx bin etc games include instantclient_10_2 lib libexec sbin share src | ||||||||||||
> > | [root@tubes instantclient]# pwd /usr/local/src/oracle/instantclient [root@tubes instantclient]# ls -la total 34660 drwxr-xr-x 3 root root 4096 Jun 5 15:01 . drwxr-xr-x 3 root root 4096 Jun 5 14:59 .. drwxr-xr-x 2 root root 4096 Jun 5 15:01 instantclient_10_2 -rw-r--r-- 1 root root 34687861 Jun 5 15:01 oracle-instantclient-basic-10.2.0.4-1.i386.zip -rw-r--r-- 1 root root 744730 Jun 5 15:01 oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip [root@tubes instantclient]# ls /usr/local/ appx appx.tgz basic.zip bin etc games include lib libexec sbin share src [root@tubes instantclient]# mv instantclient_10_2/ /usr/local/ [root@tubes instantclient]# ls /usr/local/ appx appx.tgz basic.zip bin etc games include instantclient_10_2 lib libexec sbin share src | ||||||||||||
[root@tubes instantclient]# | |||||||||||||
Deleted: | |||||||||||||
< < | [root@tubes local]# cd /usr/local/instantclient_10_2/ | ||||||||||||
Now we must register the Oracle Instant Client library files with the system to make the shared library's path known. I'm going to use ldconfig.
| |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# cat /etc/ld.so.conf | ||||||||||||
> > | [root@tubes instantclient]# ldconfig -v|grep libclntsh [root@tubes instantclient]# ldconfig -v|grep instant [root@tubes instantclient]# [root@tubes instantclient]# cat /etc/ld.so.conf | ||||||||||||
include ld.so.conf.d/*.conf | |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# echo /usr/local/instantclient_10_2/ >> /etc/ld.so.conf [root@tubes instantclient_10_2]# cat /etc/ld.so.conf | ||||||||||||
> > | [root@tubes instantclient]# echo /usr/local/instantclient_10_2/ >> /etc/ld.so.conf [root@tubes instantclient]# cat /etc/ld.so.conf | ||||||||||||
include ld.so.conf.d/*.conf /usr/local/instantclient_10_2/ | |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# ldconfig [root@tubes instantclient_10_2]# ldconfig -v|grep instant | ||||||||||||
> > | [root@tubes instantclient]#
Now, let's rebuild the ldconfig cache, and verify that the library's are available system wide.
[root@tubes instantclient]# ldconfig [root@tubes instantclient]# ldconfig -v|grep libclntsh libclntsh.so.10.1 -> libclntsh.so.10.1 [root@tubes instantclient]# ldconfig -v|grep instant | ||||||||||||
/usr/local/instantclient_10_2: | |||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# ldconfig -v|grep libclnt libclntsh.so.10.1 -> libclntsh.so.10.1 [root@tubes instantclient_10_2]# | ||||||||||||
> > | [root@tubes instantclient]# | ||||||||||||
Changed: | |||||||||||||
< < | Now we must set the APPX environment variable APPX_OCI_DIR to the location that contains the Oracle Instant Client library files. Again, in our case that is /usr/local/instantclient_10_2/. | ||||||||||||
> > | APPX needs to know the name of the Oracle libclntsh.so file on your system. This file name changes from version to version. We must now identify the libclntsh file name that was distributed in the Oracle Instant Client bundle. Look inside the instantclient directory for a file that begins with libclntsh. To show you examples of Oracle Instant Client 10.2 and Oracle Instant Client 11.1, I have installed both versions in /usr/local/. | ||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# echo APPX_OCI_DIR=/usr/local/instantclient_10_2/ >> /usr/local/appx/data/appx.env [root@tubes instantclient_10_2]# tail /usr/local/appx/data/appx.env # # Setting APPX_UNIXIO_PROCS will cause Appx to include the current process name # in the logfile. # #APPX_UNIXIO_STATS=/tmp/file_stats #APPX_UNIXIO_PROCS=1 #APPX_MONITOR_KEY=12345 #APPX_MONITOR_SLOTS=100 | ||||||||||||
> > | [joe@tubes instantclient_10_2]$ ls -la /usr/local/instantclient_1*/libclnt* -rwxrwxrwx 1 root root 19076649 Feb 17 03:57 /usr/local/instantclient_10_2/libclntsh.so.10.1 -rwxrwxrwx 1 root root 35295891 Aug 1 2007 /usr/local/instantclient_11_1/libclntsh.so.11.1 [joe@tubes instantclient_10_2]$ As you can see my libclntsh files are libclntsh.so.10.1, which came bundled with the Oracle Instant Client 10.2 Basic bundle, and libclntsh.so.11.1, which came bundled with the Oracle Instant Client 11.1 Basic bundle. | ||||||||||||
Changed: | |||||||||||||
< < | APPX_OCI_DIR=/usr/local/instantclient_10_2/ | ||||||||||||
> > | To let APPX know the version of the Instant client you have installed, perform just one of the following two options:
[root@tubes appx]# cd /usr/local/instantclient_10_2/ [root@tubes instantclient_10_2]# ln -s /usr/local/instantclient_10_2/libclntsh.so.10.1 /usr/local/instantclient_10_2/libclntsh.so [root@tubes appx]# ls -la /usr/local/instantclient_10_2/libclntsh.so lrwxrwxrwx 1 root root 47 Jun 5 15:56 libclntsh.so -> /usr/local/instantclient_10_2/libclntsh.so.10.1 [root@tubes instantclient_10_2]# [root@tubes appx]# grep APPX_OCI_DIR /usr/local/appx/data/appx.env | ||||||||||||
[root@tubes instantclient_10_2]# | |||||||||||||
Added: | |||||||||||||
> > | [root@tubes appx]# echo APPX_OCI_DIR=/usr/local/instantclient_10_2/ >> /usr/local/appx/data/appx.env
[root@tubes appx]# grep APPX_OCI_DIR /usr/local/appx/data/appx.env
APPX_OCI_DIR=/usr/local/instantclient_10_2/
[root@tubes appx]#
| ||||||||||||
Added: | |||||||||||||
> > | [root@tubes appx]# [root@tubes appx]# grep APPX_OCI_LIB /usr/local/appx/data/appx.env [root@tubes appx]# [root@tubes appx]# echo APPX_OCI_LIB=libclntsh.so.10.1 >> /usr/local/appx/data/appx.env [root@tubes appx]# [root@tubes appx]# grep APPX_OCI_LIB /usr/local/appx/data/appx.env APPX_OCI_LIB=libclntsh.so.10.1 [root@tubes appx]# | ||||||||||||
Changed: | |||||||||||||
< < | Now let's verify that we can connect using Oracle's SQL*Plus with user=scott, password=password, server=tubes, port=1521, and Oracle Instance=appx. Substitute your own values for instance, server, port, and user. | ||||||||||||
> > | Now let's verify that we can connect to Oracle using Oracle's SQL*Plus tool. I'm going to use the following parameters for my example, be sure and use values that are correct for your Oracle instance. user=scott, password=password, server=tubes, port=1521, and Oracle Instance=appx. | ||||||||||||
Changed: | |||||||||||||
< < | [root@tubes instantclient_10_2]# /usr/local/instantclient_10_2/sqlplus scott/password@tubes:1521/appx | ||||||||||||
> > | [root@tubes instantclient_10_2]# /usr/local/instantclient_10_2/sqlplus scott/password@tubes:1521/appx | ||||||||||||
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Jun 4 09:17:55 2008 | |||||||||||||
Deleted: | |||||||||||||
< < | |||||||||||||
Copyright (c) 1982, 2007, Oracle. All Rights Reserved. | |||||||||||||
Deleted: | |||||||||||||
< < | |||||||||||||
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options | |||||||||||||
Line: 112 to 170 | |||||||||||||
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options | |||||||||||||
Changed: | |||||||||||||
< < | SQL> show all | ||||||||||||
> > | SQL> show all | ||||||||||||
appinfo is OFF and set to "SQL*Plus" arraysize 15 autocommit OFF | |||||||||||||
Line: 128 to 185 | |||||||||||||
concat "." (hex 2e) copycommit 0 COPYTYPECHECK is ON | |||||||||||||
Changed: | |||||||||||||
< < | define "&" (hex 26) | ||||||||||||
> > | define "&" (hex 26) | ||||||||||||
describe DEPTH 1 LINENUM OFF INDENT ON echo OFF editfile "afiedt.buf" | |||||||||||||
Line: 147 to 204 | |||||||||||||
logsource "" long 80 longchunksize 80 | |||||||||||||
Changed: | |||||||||||||
< < | markup HTML OFF HEAD " | ||||||||||||
> > | markup HTML OFF HEAD "" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL OFF ENTMAP ON PREFORMAT OFF | ||||||||||||
newpage 1 null "" numformat "" | |||||||||||||
Line: 168 to 224 | |||||||||||||
sqlblanklines OFF sqlcase MIXED sqlcode 0 | |||||||||||||
Changed: | |||||||||||||
< < | sqlcontinue "> " | ||||||||||||
> > | sqlcontinue "> " | ||||||||||||
sqlnumber ON sqlpluscompatibility 10.2.0 sqlprefix "#" (hex 23) | |||||||||||||
Changed: | |||||||||||||
< < | sqlprompt "SQL> " | ||||||||||||
> > | sqlprompt "SQL> " | ||||||||||||
sqlterminator ";" (hex 3b) suffix "sql" tab ON | |||||||||||||
Line: 185 to 241 | |||||||||||||
USER is "SCOTT" verify ON wrap : lines will be wrapped | |||||||||||||
Changed: | |||||||||||||
< < | SQL> quit | ||||||||||||
> > | 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@tubes instantclient_10_2]# | |||||||||||||
Line: 189 to 245 | |||||||||||||
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [root@tubes instantclient_10_2]# | |||||||||||||
Deleted: | |||||||||||||
< < | |||||||||||||
Added: | |||||||||||||
> > | Well, that looks good. Let's configure our FMS settings inside APPX and make a connection!
| ||||||||||||
ODBC
| |||||||||||||
Line: 200 to 292 | |||||||||||||
_Read what other users have said about this page or add your own comments. -- AlKalter - 04 Apr 2008 | |||||||||||||
Added: | |||||||||||||
> > |
|