Mailing List
Home
Forum Home
Oracle List - by freelists.org
Oracle on SUSE Linux - Runing Oracle on SUSE Linux
Oracle database error code ...
www.freelists.org
Subjects
ORA 12540: TNS:internal limit restriction exceeded
ORA 12838 please : Is possible to append two times to the same table befo
ORA 12838 please : Is possible to append two times to the same table before
ora 04031
ora 12500 on windows
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 01925: maximum of 30 enabled roles exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ora 12500 on windows
ORA 01650, one idea
ORA 01650
ORA 4030
ORA 12838 please : Is possible to append two times to thesametable before do
ORA 12838 please : Is possible to append two times to thesame table before d
ORA 01536
ORA 03113 end of file on communication channel
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 00600:
ORA 00020: maximum number of processes (%s) exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ORA 3113 while creating a cluster database 9201 RAC on Linux with OCFS
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 01650, one idea
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 2000 Error Using DBMS STATS GATHER SCHEMA STATS
ORA 01650, one idea
ORA 01650, one idea
ORA 01650, one idea
ORA 01650
ORA 01650
ORA 01031
ORA 4030
ORA 4030
ORA 06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
ORA 01722 invalid number
 
using pear built oci8 module to connect to oracle via apache2

using pear built oci8 module to connect to oracle via apache2

2007-04-03       - By Michael Galloway

 Back
ok, for grins i decided to try and get the php oci8 extension to build
and load via pear/pecl. seems to go ok, here is a mini how-to all done
with openSuSE 10.2 (x86_64 in this case). with both instant client and
regular oracle client. i like this approach, i can keep the default rpm
php install for the most part. first, instant client (standard client will have
to wait a bit for my notes):


1. install needed php/pear rpms:

rpm -qa | grep php
php5-5.2.0-12
apache2-mod_php5-5.2.0-12
php5-pdo-5 (See http://pdo-5.ora-code.com).2.0-10
php5-devel-5 (See http://vel-5.ora-code.com).2.0-12
php5-pear-5 (See http://ear-5.ora-code.com).2.0-12

2. install oracle instant client zips:

unzip /tmp/instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip
unzip /tmp/instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip

3. make softlink for libclntsh.so.10.1

pwd
/opt/instantclient_10_2
ls -l
total 99900
-r--r--r-- 1 root root  1600090 2006-12-20 10:35 classes12.jar
-rwxr-xr-x 1 root root    66545 2006-12-20 10:35 genezi
lrwxrwxrwx 1 root root       17 2007-04-03 12:11 libclntsh.so -> libclntsh.so
.10.1
-rwxr-xr-x 1 root root 20870419 2006-12-20 10:35 libclntsh.so.10.1
-rwxr-xr-x 1 root root  3808761 2006-12-20 10:35 libnnz10.so
-rwxr-xr-x 1 root root  1664148 2006-12-20 10:35 libocci.so.10.1
-rwxr-xr-x 1 root root 72456247 2006-12-20 10:35 libociei.so
-rwxr-xr-x 1 root root   137905 2006-12-20 10:35 libocijdbc10.so
-r--r--r-- 1 root root  1545954 2006-12-20 10:35 ojdbc14.jar
drwxr-xr-x 4 root root     4096 2006-12-20 10:35 sdk


4. build/install/enable oci8 module:

pear5 install http://pecl.php.net/get/oci8

downloading oci8-1.2.3.tgz ...
Starting to download oci8-1.2.3.tgz (83,591 bytes)
....................done: 83,591 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
Please provide the path to ORACLE_HOME dir. Use 'instantclient,/path/to/instant
/client/lib' if you're compiling against Oracle Instant Client [autodetect] :
instantclient,/opt/instantclient_10_2
building in /var/tmp/pear-build-root/oci8-1.2.3
running: /tmp/pear/cache/oci8-1.2.3/configure --with-oci8=instantclient,/opt
/instantclient_10_2
checking for grep that handles long lines and -e... /usr/bin/grep

.......

/bin/sh /var/tmp/pear-build-root/oci8-1.2.3/libtool --mode=install cp ./oci8.la
/var/tmp/pear-build-root/oci8-1.2.3/modules
cp ./.libs/oci8.so /var/tmp/pear-build-root/oci8-1.2.3/modules/oci8.so
cp ./.libs/oci8.lai /var/tmp/pear-build-root/oci8-1.2.3/modules/oci8.la
PATH="$PATH:/sbin" ldconfig -n /var/tmp/pear-build-root/oci8-1.2.3/modules
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
Libraries have been installed in:
  /var/tmp/pear-build-root/oci8-1.2.3/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
  - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
  - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
  - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
  - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-oci8-1.2.3" install
Installing shared extensions:     /var/tmp/pear-build-root/install-oci8-1.2.3
/usr/lib64/php5/extensions/running: find "/var/tmp/pear-build-root/install-oci8
-1.2.3" -ls
901127    4 drwxr-xr-x   3 root     root         4096 Apr  3 13:59 /var/tmp
/pear-build-root/install-oci8-1.2.3
901156    4 drwxr-xr-x   3 root     root         4096 Apr  3 13:59 /var/tmp
/pear-build-root/install-oci8-1.2.3/usr
901157    4 drwxr-xr-x   3 root     root         4096 Apr  3 13:59 /var/tmp
/pear-build-root/install-oci8-1.2.3/usr/lib64
901158    4 drwxr-xr-x   3 root     root         4096 Apr  3 13:59 /var/tmp
/pear-build-root/install-oci8-1.2.3/usr/lib64/php5
901159    4 drwxr-xr-x   2 root     root         4096 Apr  3 13:59 /var/tmp
/pear-build-root/install-oci8-1.2.3/usr/lib64/php5/extensionsld process
completed successfully
Installing '/var/tmp/pear-build-root/install-oci8-1.2.3//usr/lib64/php5
/extensions/oci8.so'
install ok: channel://pecl.php.net/oci8-1.2.3
You should add "extension=oci8.so" to php.ini

i added this to php.ini:

grep oci8 /etc/php5/apache2/php.ini
extension=oci8.so

and

grep oci8 /etc/php5/cli/php.ini
extension=oci8.so


where:

ls -l /usr/lib64/php5/extensions/oci8.so
-rwxr-xr-x 1 root root 353503 2007-04-03 13:59 /usr/lib64/php5/extensions/oci8
.so
oci8.so


5. set LD_LIBRARY_PATH to the instant client directory for apache and restart
apache2 and verify oci8 is enabled with a phpinfo script:

php phpinfo.php

oci8

OCI8 Support => enabled
Version => 1.2.3
Revision => $Revision: 1.269.2.16.2.29 $
Active Persistent Connections => 0
Active Connections => 0
Oracle Instant Client Version => 10.2
Temporary Lob support => enabled
Collections support => enabled

Directive => Local Value => Master Value
oci8.default_prefetch => 10 => 10
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => 0 => 0
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

6: verify connection to remote 10g2 db:

more phpdb2.php
<?php

$conn = OCILogon("dbuser", "dbpasswd", "//dbserver.host.net/DB");

$query = 'select table_name from user_tables';

$stid = OCIParse($conn, $query);
OCIExecute($stid, OCI_DEFAULT);
while ($succ = OCIFetchInto($stid, $row)) {
   foreach ($row as $item) {
     echo $item." ";
   }
   echo "<br>\n";
}

OCILogoff($conn);

?>


php phpdb2.php
FMATING <br>
ZEROMAZE <br>
FPARTS <br>

....

done .....

works for me!

--
To unsubscribe, email: suse-oracle-unsubscribe@(protected)
For additional commands, email: suse-oracle-help@(protected)
Please see http://www.suse.com/oracle/ before posting