perl script querying a oracle 10g DATABASE

Posted on 2008-11-12
Last Modified: 2012-06-21
  We've recently upgraded to oracle 10G Release 2.

When browsing a  web page that executes a perl script in the backend, it fails with a oracle error ora-03113 end of file on communication channel throws that error to the apache logs and crashes....the server is running perl 5.8.5 with DBD-Oracle was running fine when we had oracle 9i running...

execute error: ORA-03113: end-of-file on communication channel (DBD ERROR:
OCIStmtExecute) (DBD ERROR:
    <- DESTROY= undef during global destruction

can someone advice?

Question by:trance12

    Author Comment

    It fails on a read query selecting from a table...however if i run that same query in sqlplus, it works fine..
    LVL 51

    Expert Comment

    can ypu please post the corresponding perl command
    LVL 39

    Expert Comment

    The DBD::Oracle module has a newer version: 1.22.  You could try upgrading to the latest version.

    Author Comment

    This is the exact error

    [Mon Nov 17 16:25:21 2008] null: DBD::Oracle::db DESTROY failed: ORA-03113: end-of-file on communication channel (DBD ERROR: OCITransRollback) during global destruction.

    The error happens at random...however once we restart apache, the error does not appear for a few hours and then all of a sudeen it starts again...

    i've checked memory stats etc on the server and it looks fine..


    Author Comment

    That error is what writes to the apache logs...

    On the web page though, it throws this error

    Can't call method "execute" on an undefined value at /usr/local/apache/htdocs/resell/index.cgi line 26.

    which is this query

    my $sql = "SELECT product_id, header_link,footer_link, middle_page_link FROM  reseller WHERE  reseller_id = '$resell'";

    my $sth = $WAP::lda->prepare($sql);

    LVL 39

    Accepted Solution

    The error on the webpage indicates that $WAP::lda is note defined.  How is this created?
    LVL 51

    Assisted Solution

    my $sql = 'SELECT product_id, header_link,footer_link, middle_page_link FROM  reseller WHERE  reseller_id = ?';
    my $sth = $WAP::lda-->prepare($sql);

    # assuming that $ WAP::lda is correct

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (,  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
    There are many situations when we need to display the data in sorted order. For example: Student details by name or by rank or by total marks etc. If you are working on data driven based projects then you will use sorting techniques very frequently.…
    Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
    Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    7 Experts available now in Live!

    Get 1:1 Help Now