.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "DBD::Oracle::Troubleshooting::Aix 3pm" .TH DBD::Oracle::Troubleshooting::Aix 3pm "2016-09-26" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" DBD::Oracle::Troubleshooting::Aix \- Tips and Hints to Troubleshoot DBD::Oracle on AIX .SH "VERSION" .IX Header "VERSION" version 1.74 .SH "Using Visual Age 7 C Compiler" .IX Header "Using Visual Age 7 C Compiler" Oracle 9i is only certified as a 64\-bit application on \s-1AIX 5L \s0(5.1,5.2,5.3) with 32\-bit support; in other words, there is no 9i \*(L"32\-bit\*(R" Oracle client .PP Oracle 10g is certified as both a 64\-bit application and a 32\-bit Oracle client .PP This information only pertains to deploying: .PP .Vb 6 \& the DBI (version 1.48) \& and DBD\-Oracle (version 1.16): \& on AIX 5.3 \& using Oracle 9i (9.2.0.1/9.2.0.5) \& using the existing Perl 5.8.2 (no custom\-built Perl) which is 32\-bit \& using Visual Age 7.0 C/C++ compiler .Ve .PP Install the \s-1DBI \s0(required for the DBD-Oracle install \- no issues here) Untar the DBD-Oracle bundle Run Makefile.PL .PP .Vb 1 \& $ perl Makefile.PL .Ve .PP Edit Makefile with following commands: .PP .Vb 3 \& 1,$s?/lib/ ?/lib32/ ?g \& 1,$s?\-q64??g \& 1,$s?/lib/sysliblist?/lib32/sysliblist?g .Ve .PP Now perform normal commands to perform the testing/making: .PP .Vb 3 \& $ make \& $ make test \& $ make install .Ve .PP I've tested the basics of the DBD-Oracle and it seems fully functional. .PP Stephen de Vries .SH "Using gcc C Compiler" .IX Header "Using gcc C Compiler" .Vb 6 \& DBD::Oracle with gcc and Oracle Instant Client on AIX \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& Nathan Vonnahme Dec 15 2005, 4:28 pm Newsgroups: perl.dbi.users \& See: http://groups.google.com/group/perl.dbi.users/msg/0bd9097f80f2c8a9 \& [ with updates 1/31/2006 \- DBD::Oracle 1.17 doesn\*(Aqt need makefile hacking \& to work with instantclient on AIX ] \& \& \& Yes! It eluded me last year but I finally got DBD::Oracle working on an \& AIX machine using gcc. Here\*(Aqs the short version: \& \& First I had to recompile perl with gcc, using \& sh Configure \-de \-Dcc=gcc \& This apparently built a 32 bit perl, someday I will try getting it to go \& 64 bit. \& \& I was then able to install and build DBI 1.50 with the CPAN shell. \& \& I downloaded the base and sdk packages of the Oracle Instant Client for \& AIX \-\- first I tried the 64 bit but that didn\*(Aqt work with my 32 bit perl \& \-\- the 32 bit version (still at 10.1.0.3) did the trick. I unzipped \& them and moved the dir to /usr/local/oracle/instantclient10_1 and made a \& symlink without the version at /usr/local/oracle/instantclient , then \& set: \& \& export ORACLE_HOME=/usr/local/oracle/instantclient \& export LIBPATH=$ORACLE_HOME \& \& \& \& Oracle wasn\*(Aqt providing the sqlplus package for 32 bit AIX so I \& explicitly told Makefile.PL the version: \& \& perl Makefile.PL \-V 10.1 \& \& make \& \& My test databases were on other machines so I set these environment variables \& to get the tests to run: \& \& export ORACLE_DSN=DBI:Oracle://host/dbinstance \& export ORACLE_USERID="user/password" \& \& make test \& make install \& \& \& NOTE: I have an older full version of Oracle on this machine, and the \& ORACLE_HOME environment variable is normally set to point to that, so \& my perl scripts that use DBD::Oracle have to make sure to first set \& $ENV{ORACLE_HOME}=\*(Aq/usr/local/oracle/instantclient\*(Aq; \& \& \& \& \& \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& The following setup worked to build on AIX 5.2: \& gcc\-3.3.2 (32\-bit) (configure opts [ \-\-with\-ld=/usr/ccs/bin/ld \-\-with\-as=/usr/ccs/bin/as]) \& Oracle\-9.2.0 ( full install w/32bit support) \& perl\-5.8.3 (built with above gcc/latest stable as of March 2004) \& Followed the directions from Rafael\*(Aqs email below, only set ORACLE_HOME, (and \& the appropriate test environmentals). \& 1) build perl\-5.8.3 with gcc \& 2) install DBI \& 3) ORACLE_HOME="your oracle home" \& ORACLE_USERID.. \& ORACLE_SID .. \& (I ignored ORACCENV, didn\*(Aqt use it.) \& 4) install DBD::Oracle, after perl Makefile.PL, edit the created Makefile, \& changing references to Oracle\*(Aqs ../lib to ../lib32. and change crt0_64.o to \& crt0_r.o. Remove the \-q32 and/or \-q64 options from the list of libraries to \& link with. \& 5) make should be clean, make test should pass. \& This setup worked with 8.1.7 w/32 bit support, and with 9.2.0 w/ 32\-bit support. \& \-\-Adrian Terranova .Ve .SH "Using xlc_r C Compiler" .IX Header "Using xlc_r C Compiler" .Vb 2 \& From: Rafael Caceres \& Date: 22 Jul 2003 10:05:20 \-0500 \& \& The following sequence worked for me on AIX 5.1: \& \& \-use Perl 5.8.0 (the latest stable from CPAN) \& \& \-use the xlc_r version of IBM\*(Aqs compiler and build a 32 bit Perl \& (which xlc_r will do by default). All tests should be successful. \& \& \-get and install DBI \& \& \-get DBD::Oracle. Edit the Makefile.PL or Makefile for DBD::Oracle, \& changing references to Oracle\*(Aqs ../lib to ../lib32. and change crt0_64.o \& to crt0_r.o. Remove the \-q32 and/or \-q64 options from the list of \& libraries to link with. Do the make and make test. \& \& \-Set up the environment for making DBD::Oracle: \& ORACLE_HOME="your oracle home" \& ORACCENV = "xlc_r" \& ORACLE_USERID.. \& ORACLE_SID .. \& \& \-Run make, all tests should be successfull \-against Oracle 9.x at least. \& \& You should have no problems with Oracle 8.1.7, but accessing Oracle 7.x \& or previous is not possible (you\*(Aqll core dump, or simply hang). The same \& goes for a Linux build or a Digital build, regarding access of different \& Oracle versions. \& \& Rafael Caceres \& \& > I don\*(Aqt believe I compiled Oracle. During the installation it was linked \& > but I am not sure it was compiled \& > \& > I used a xlc compiler to compile PERL. \& > Got this message in the Perl Makefile.PL output \& > \& > Warning: You will may need to rebuild perl using the xlc_r compiler. \& > You may also need do: ORACCENV=\*(Aqcc=xlc_r\*(Aq; export ORACCENV \& > Also see the README about the \-p option \& > \& > this probably means I need to rebuild PERL with xlc_r?? \& > \& > thanx \& > \& > Mike Paladino \& > Database Administrator \& \& \& From: Rafael Caceres \& > \& > Make sure you use the same compiler to build Oracle and Perl. We have \& > used xlc_r on Aix 5.1 with no problems. Your Perl build is 32 bit, so \& > when building DBD::Oracle, you should use the 32bit libraries (change \& > references to .../oracle/lib to .../oracle/lib32 in your Makefile). \& > Remove the references to the \-q64 or \-q32 parameters for ld in Makefile, \& > as they shouldn\*(Aqt be there. \& > \& > Rafael Caceres \& \& \& From: "cartman ltd" \& Subject: Tip for DBI and DBD::Oracle on AIX 5.1 and Oracle 9.2 \& Date: Mon, 11 Aug 2003 18:15:38 +0000 \& Message\-ID: \& \& Here is a tip for compiling DBD::Oracle as a 32 bit application on AIX 5.1 \& 64 bit and Oracle 9.2 64 bit without editing any makefiles. I hope people \& find this useful: \& \& First, the versions of products I used: \& DBI version 1.32 \& DBD::Oracle version 1.14 \& Oracle 9.2.0.2 \- default 64 bit application with 32 bit libraries \& AIX 5.1 ML03 \- 64 bit kernel \- ships with Perl as a 32 bit application. \& VisualAge C/C++ 5.0.2 \& \& Basically DBD must be compiled as 32 bit to link with Perl\*(Aqs 32 bit \& libraries. \& gunzip \-c DBD\-Oracle\-1.14.tar.gz | tar xvf  \& cd DBD\-Oracle\-1.14 \& perl Makefile.PL \-m $ORACLE_HOME/rdbms/demo/demo_rdbms32.mk \& make \& \& NB: I think there is a bug in the Oracle 9.2.0.3 file \& $ORACLE_HOME/rdbms/lib/env_rdbms.mk \& I corrected this (before running the above commands) by replacing the \& invalid linker option \& LDFLAGS32=\-q32 \& with \& LDFLAGS32=\-b32 \& \& Have fun: KC. \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& Date: Wed, 30 Jun 2004 23:34:24 \-0500 \& From: "SCHULTZ, DARYLE (SBCSI)" \& \& Got it to work. Using dbd 1.16 \& \& Perl 5.8.4 built like this, with Visual Age 6.0: \& \& config_args=\*(Aq\-Dcc=xlc_r \-Dusenm \-Dprefix=/appl/datasync/work/perl5 \& \-Dusethreads \-Duse64bitall \-des\*(Aq \& ============================================== \& \& Used DBI 1.42 \& ============================================= \& Added this to top of Oracle.h: \& #define A_OSF \& \& #include \& ======================= \& Set LIBPATH to point to 64bit Oracle libs first. \& export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/lib \& \& Use: perl Makefile.PL \-nob \& \& Change all references in Makefile of LD_RUN_PATH to be LIBPATH. \& Change nothing else, left all flags in Makefile, including \-q64. \& Passed make, and all tests. \& \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- .Ve .SH "AUTHORS" .IX Header "AUTHORS" .IP "\(bu" 4 Tim Bunce .IP "\(bu" 4 John Scoles .IP "\(bu" 4 Yanick Champoux .IP "\(bu" 4 Martin J. Evans .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 1994 by Tim Bunce. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.