[Webinar] Learn how to a build a cloud-first strategyRegister Now


perl script querying a oracle 10g DATABASE

Posted on 2008-11-12
Medium Priority
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 error.....it throws that error to the apache logs and crashes....the server is running perl 5.8.5 with DBD-Oracle 1.16.....it 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
  • 3
  • 2
  • 2

Author Comment

ID: 22938221
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

ID: 22948004
can ypu please post the corresponding perl command
LVL 39

Expert Comment

ID: 22949911
The DBD::Oracle module has a newer version: 1.22.  You could try upgrading to the latest version.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 22973506
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

ID: 22973512
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

Adam314 earned 1000 total points
ID: 22976369
The error on the webpage indicates that $WAP::lda is note defined.  How is this created?
LVL 51

Assisted Solution

ahoffmann earned 1000 total points
ID: 22976778
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

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

On Microsoft Windows, if  when you click or type the name of a .pl file, you get an error "is not recognized as an internal or external command, operable program or batch file", then this means you do not have the .pl file extension associated with …
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
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…
Six Sigma Control Plans
Suggested Courses

810 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