.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DBD::Oracle::Troubleshooting::Aix 3pm" .TH DBD::Oracle::Troubleshooting::Aix 3pm "2019-01-06" "perl v5.28.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.76 .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 successful \-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) 2018, 2014, 2013, 2012, 2011, 2010 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.