No specific coding problem here -- just some issues with making an "upgrade transition". We have Oracle 8.1 on an old sparc server, and perl 5.8.6 on a freebsd web server. For reasons unrelated to Perl, the oracle client software on the bsd box was upgraded to oracle8 (to better match the oracle server), which had the side effect of removing the oracle7 client stuff (which had been working fine for perl/DBI/DBD::Oracle). Oracle's sqlplus and the java/oracle connections are working with the new client software.

Well, time to re-install DBD::Oracle. It turns out perl 5.8.6 on this bsd box was built with threading support turned off, and then it turns out that the current DBD::Oracle seems to want threads turned on. We tried installing DBD::Oracle using the existing perl, but when we ran it, it crashed with a message about how the "Oracle.so" library file contains a reference to a "pthread_kill" symbol, which is undefined at runtime. (That's probably why the build log included this little gem of wisdom: "Warning: If you have problems you may need to rebuild perl with threading enabled.")

Okay, while we're at it, why not move ahead to 5.8.7, which is the common version at the moment for all our other bsd machines. But this would be the only one with threading enabled. (At least, until we decide that all the other machines should make the same change.)

And we're talking about our web server. I would assume that every non-core module with compiled code needs to be resinstalled, which in itself is no problem, but what are the chances of some random module turning freakish, just because we now have threads enabled? (Obviously, none of our scripts are using threads at this point.)

At the very least, I'm looking for guidance on how best to approach this transition. The way it looks to me now, I'm thinking:

- build 5.8.7 with thread support but don't install it - use the CPAN autobundle from the current 5.8.6 to fill in the non-core modules, including DBI - do our best to install DBD::Oracle on 5.8.7, even though this perl isn't fully "installed" the way that the DBD::Oracle readme says it should be - try a bunch of existing apps, including DBI access to oracle8, and assuming they work, do "make install" for 5.8.7
Of course, until that all pans out (or as long as it doesn't), DBI to oracle8 is broken on this machine. (Luckily, it's not in the "critical path".) All suggestions and warnings are welcome.

In reply to DBD::Oracle and threading on a web server by graff

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.