Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DBD::Oracle build on aix 6.1 ( host is 64 bit db server )

24 views
Skip to first unread message

Am Nym

unread,
May 19, 2012, 12:27:05 PM5/19/12
to dbi-...@perl.org
The 64 bit Oracle server is loaded on this host.

Do I still have to load an Oracle client?

README.clients.txt says:

*** THE PREFERED METHOD IS TO USE Oracle Instant Client ***

So should I install the 'Oracle Instant Client' before attempting
the build of DBD::Oracle?

--
thanks!

John Scoles

unread,
May 20, 2012, 4:05:31 PM5/20/12
to xtd...@gmail.com, dbi-...@perl.org

Short answer no. I would not see any reason why you would need to install the instance client as well.

In the long run it depends on what you are doing. If you are going to use perl for only loacal access then no need for the instanct cleint. If you want to use Perl for say connecting via a web server or alike using the instant client may be what you want.

In the end what do you want to do??

Cheers
John


> To: dbi-...@perl.org
> From: xtd...@gmail.com
> Subject: DBD::Oracle build on aix 6.1 ( host is 64 bit db server )
> Date: Sat, 19 May 2012 09:27:05 -0700

Am Nym

unread,
May 20, 2012, 4:23:00 PM5/20/12
to dbi-...@perl.org, dbi-...@perl.org
Thought above post might never show, so I posted to comp.perl.misc, and Ben
had a response. Please comment/thanks much:

--snip
Newsgroups: comp.lang.perl.misc
Subject: Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db server )
From: Am Nym <xtdkmqc -at- gmail _dot_ com>

Ben Morrow <ben -at- morrow dot me dot uk> writes:

> Quoth xtdkmqc -at- gmail _dot_ com:
>> On Saturday, May 19, 2012 2:07:10 PM UTC-5, Ben Morrow wrote:
>> > Quoth Am Nym <------@gmail.com>:
>> > > The 64 bit Oracle server is loaded on this host.
>> > >
>> > > Do I still have to load an Oracle client?
>> >
>> > Is your perl 32bit or 64bit?
>>
>> $ perl -V
>> Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
>
> (That's pretty old; both 5.8 and 5.10 are unsupported by the perl
> developers at this point. You should seriously consider upgrading.)

We need to plan for that.

> <snip>
>> cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE
>
> That's the system cc.

Right, the AIX compiler.

>> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
>> d_longlong=define, longlongsize=8, d_longdbl=define,
>> longdblsize=8 ivtype='long', ivsize=4, nvtype='double',
>> nvsize=8, Off_t='off_t',
>
> intsize=4, ivsize=4 and ptrsize=4, so this is an entirely 32bit perl.
> (It's possible, at least on some architectures, to build perl to use
> 64bit integers even if it's using 32bit pointers.)
>
>> > Which version of Oracle are you using?
>>
>> 11g
>>
>> > The impression I get from README.{clients,aix}.txt is that if your perl
>> > is 64bit, or if you have Oracle 10g (which apparently comes with 32bit
>> > client libraries), you don't need anything else;
>>
>> Is there a way to check for the client libs?
>>
>> The build made it to near the end; it failed w/error:
>>
>> --snip
>> rm -f blib/arch/auto/DBD/Oracle/Oracle.so
>>
>> LD_RUN_PATH="/products/app/oracle/product/11.2.0/ee_1/lib:/products/app/oracle/product/11.2.0/ee_1/rdbms/lib" ld -bhalt:4 -bexpall -G -bnoentry
>> -lpthreads -lc Oracle.o dbdimp.o oci8.o /usr/lib/crt0_r.o -o
>> blib/arch/auto/DBD/Oracle/Oracle.so
>> -L/products/app/oracle/product/11.2.0/ee_1/lib/ -lclntsh -lld -lm -ldl
>> -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads
>> ld: 0711-736 ERROR: Input file
>> /products/app/oracle/product/11.2.0/ee_1/lib//libclntsh.so:
>> XCOFF64 object files are not allowed in 32-bit mode.
>> make: The error code from the last command is 8.
>
> Well, that seems fairly unambiguous: the client libs appear to be there,
> but they are 64bit so you can't link them with your perl.

Thanks.

> The first section in README.aix suggests you may have 32bit
> libraries in /products/app/oracle/product/11.2.0/ee_1/lib32 and
> .../rdbms/lib32; you may be able to edit the Makefile to link
> against them instead,

There is no lib32 dir or sym link:

# 15:39:12 Sun 120520 0j 0 48890062
# /products/app/oracle/product/11.2.0
# ourdbserver02 txr6 $ find . 2>/dev/null |grep 'lib$' |wc -l
114
# 15:39:28 Sun 120520 0j 0 48890062
# /products/app/oracle/product/11.2.0
# ourdbserver02 txr6 $ find . 2>/dev/null |grep lib32
# 15:40:06 Sun 120520 0j 0 48890062 /products/app/oracle/product/11.2.0
# ourdbserver02 txr6 $

> but tbh it's probably easier just to install the Instant Client. (Unless that's
> something you have to pay for separately?)

I'm not sure. Last Friday we were thinking we would install the "normal"
32 bit client, that we install on other AIX hosts. Will ask at work about the
Instant Client.

--
thanks again,

Peter J. Holzer

unread,
May 21, 2012, 4:32:42 AM5/21/12
to John Scoles, xtd...@gmail.com, dbi-...@perl.org
On 2012-05-20 16:05:31 -0400, John Scoles wrote:
> Short answer no. I would not see any reason why you would need to
> install the instance client as well.
>
> In the long run it depends on what you are doing. If you are going to
> use perl for only loacal access then no need for the instanct cleint.
> If you want to use Perl for say connecting via a web server or alike
> using the instant client may be what you want.

Connect via a web server? How does that work?

Apart from that, I think the instant client is either just the same as
the "normal" client distributed with the RDBMS (just differently
packaged) or a subset. It is certainly possible to connect to a remote
database with the normal client.

IMHO there are two reasons why you may want to install instant client
even on a server where the RDBMS is already installed:

* It's nice to have the same client everywhere. It also allows you to
upgrade the server independently of the client (and vice versa).

* In a server installation the client parts (libraries, sqlplus, etc.)
are by default only accessible by the "dba" group. Your DBA may be
unwilling to change that.

hp

--
_ | Peter J. Holzer | Auf jedem Computer sollte der Satz Ludwigs II
|_|_) | Sysadmin WSR | eingeprägt stehen: "Ein ewig Rätsel will ich
| | | h...@wsr.ac.at | bleiben, mir und andern."
__/ | http://www.hjp.at/ | -- Wolfram Heinrich in desd
signature.asc
0 new messages