RE: Having a problem conneting to an Oracle 11gr2 RAC
It is somthing in you connection string or you do not have the TNS_ADMIN env car set TNS_ADMIN should point to your TNSNAMES.ORA file > Subject: Having a problem conneting to an Oracle 11gr2 RAC > Date: Thu, 29 Apr 2010 15:03:18 -0500 > From: scott.stric...@ngc.com > To: dbi-users@perl.org > > Don't know if anyone has worked with the Oracle RAC environment and > perl. > > Using sqlplus, I can do the following > > C:\>sqlplus ais_dbo/passw...@edc-dbserver/HCSMDA > > SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 29 11:55:35 2010 > > Copyright (c) 1982, 2005, Oracle. All rights reserved. > > Connected to: > Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit > Production > With the Partitioning, Real Application Clusters, Automatic Storage > Management, OLAP, > Data Mining and Real Application Testing options > > And then execute queries, updates ... > > From ActiveState perl running on a windows 2003 server box with > DBD-Oracle 1.21 and DBI 1.609 > > C:\>perl -v > > This is perl, v5.8.9 built for MSWin32-x86-multi-thread (with 9 > registered patches, see perl -V for more detail) > > Copyright 1987-2008, Larry Wall > > Binary build 825 [288577] provided by ActiveState > http://www.ActiveState.com > Built Dec 14 2008 21:07:41 > > Perl code follows > > #!/usr/bin/perl -I . > require 5.001; > use strict; > use DBI; > > MAIN: > { > print "Started\n"; > > my $dbh = DBI->connect("dbi:Oracle:host=edc-dbserver;sid=HCSMDA", > "ais_dbo","PASSWORD", > {RaiseError=>1, PrintError=>0}); > my $sqlstmt = "SELECT COUNT(*) FROM VESSEL_IDENTIFIERS"; > my($no_of_ships) = $dbh->selectrow_array($sqlstmt); > print "Got $no_of_ships ships\n" > } > > Executing the above, I get > > Started > DBI connect('host=edc-dbserver;sid=HCSMDA','ais_dbo',...) failed: > ORA-12505: TNS:listener does not currently know of SID given in connect > descriptor (DBD ERROR: OCIServerAttach) at C:\adbtest.pl line 15 > > I've got a standalone oracle database (11gr1) pointed to by host alias > dbserver. If I use dbserver above instead of edc-dbserver, the script > works fine. > > Also, tnsping gives the following > > C:\>tnsping edc-dbserver > > TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on > 29-APR-2010 12:57:46 > > Copyright (c) 1997, 2005, Oracle. All rights reserved. > > Used parameter files: > C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora > > Used HOSTNAME adapter to resolve the alias > Attempting to contact > (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=edc-dbserver.nais.org))(ADDRESS > =(PROTOCOL=TCP)(HOST=10.166.135.110)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)( > HOST=10.166.135.112)(PORT=1521))) > OK (0 msec) > > Any help would be greatly appreciated. > > E. Scott Stricker > Senior Software Engineer > Northrop Grumman - Information Systems - C2SD > MailStop 4S02 > 2340 Dulles Corner Blvd. > Herndon, VA 20171 > 703-561-3671 > 703-713-1601 (fax) > > _ Live connected. Get Hotmail & Messenger on your phone. http://go.microsoft.com/?linkid=9724462
RE: question on how a path/directory is picked up
Looks like you are trying to 'run' a DBD::Oracle that was compiled against the 11.2 client against the 10.2 client?? Or the path to the 11.2 client is somehere in you enviornment perhaps the PATH or the client .so files have permission setting that do not allow you to execute them Are you trying to install or just use DBD::ORacle?? cheers > Subject: question on how a path/directory is picked up > Date: Thu, 29 Apr 2010 15:03:07 -0400 > From: pwamp...@acttoday.com > To: dbi-users@perl.org > CC: pwamp...@acttoday.com > > I am still battling this problem > > > > install_driver(Oracle) failed: Can't load > '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/ > Oracle.so' for module DBD::Oracle: > /usr/lib/oracle/11.2/client/lib/libocci.so.11.1: cannot restore segment > prot after reloc: Permission denied at > /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. > > at (eval 3) line 3 > > Compilation failed in require at (eval 3) line 3. > > Perhaps a required shared library or dll isn't installed where expected > > > > > > My question now is: where/how does perl pick up the directory > /usr/lib/oracle/11.2/client/lib in the above error? > > > > I have my Oracle Home set to a 10.2 directory as well as my > LD_LIBRARY_PATH > > > > echo $ORACLE_HOME > > /usr/lib/oracle/10.2.0.3/client > > [r...@actjcmysql dba]# echo $LD_LIBRARY_PATH > > /usr/lib/oracle/10.2.0.3/client/lib > > [r...@actjcmysql dba]# > > > > > > > > > > Thanks in advance for your help > > > > Pam Wampler > > > _ Videos that have everyone talking! Now also in HD! http://go.microsoft.com/?linkid=9724465
Announce: DBI 1.611
file: $CPAN/authors/id/T/TI/TIMB/DBI-1.611.tar.gz size: 534200 bytes md5: f48bc718e871f8926809af16682783fb =head2 Changes in DBI 1.611 (svn r13935) 29th April 2010 NOTE: minimum perl version is now 5.8.1 (as announced in DBI 1.607) Fixed selectcol_arrayref MaxRows attribute to count rows not values thanks to Vernon Lyon. Fixed DBI->trace(0, *STDERR); (H.Merijn Brand) which tried to open a file named "*main::STDERR" in perl-5.10.x Fixes in DBD::DBM for use under threads (Jens Rehsack) Changed "Issuing rollback() due to DESTROY without explicit disconnect" warning to not be issued if ReadOnly set for that dbh. Added f_lock and f_encoding support to DBD::File (H.Merijn Brand) Added ChildCallbacks => { ... } to Callbacks as a way to specify Callbacks for child handles. With tests added by David E. Wheeler. Added DBI::sql_type_cast($value, $type, $flags) to cast a string value to an SQL type. e.g. SQL_INTEGER effectively does $value += 0; Has other options plus an internal interface for drivers. Documentation changes: Small fixes in the documentation of DBD::DBM (H.Merijn Brand) Documented specification of type casting behaviour for bind_col() based on DBI::sql_type_cast() and two new bind_col attributes StrictlyTyped and DiscardString. Thanks to Martin Evans. Document fetchrow_hashref() behaviour for functions, aliases and duplicate names (H.Merijn Brand) Updated DBI::Profile and DBD::File docs to fix pod nits thanks to Frank Wiegand. Corrected typos in Gopher documentation reported by Jan Krynicky. Documented the Callbacks attribute thanks to David E. Wheeler. Corrected the Timeout examples as per rt 50621 (Martin J. Evans). Removed some internal broken links in the pod (Martin J. Evans) Added Note to column_info for drivers which do not support it (Martin J. Evans) Updated dbipport.h to Devel::PPPort 3.19 (H.Merijn Brand) =cut Many thanks to those who've contributed to this release. Enjoy! Tim.
Having a problem conneting to an Oracle 11gr2 RAC
Don't know if anyone has worked with the Oracle RAC environment and perl. Using sqlplus, I can do the following C:\>sqlplus ais_dbo/passw...@edc-dbserver/HCSMDA SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 29 11:55:35 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options And then execute queries, updates ... >From ActiveState perl running on a windows 2003 server box with DBD-Oracle 1.21 and DBI 1.609 C:\>perl -v This is perl, v5.8.9 built for MSWin32-x86-multi-thread (with 9 registered patches, see perl -V for more detail) Copyright 1987-2008, Larry Wall Binary build 825 [288577] provided by ActiveState http://www.ActiveState.com Built Dec 14 2008 21:07:41 Perl code follows #!/usr/bin/perl -I . require 5.001; use strict; use DBI; MAIN: { print "Started\n"; my $dbh = DBI->connect("dbi:Oracle:host=edc-dbserver;sid=HCSMDA", "ais_dbo","PASSWORD", {RaiseError=>1, PrintError=>0}); my $sqlstmt = "SELECT COUNT(*) FROM VESSEL_IDENTIFIERS"; my($no_of_ships) = $dbh->selectrow_array($sqlstmt); print "Got $no_of_ships ships\n" } Executing the above, I get Started DBI connect('host=edc-dbserver;sid=HCSMDA','ais_dbo',...) failed: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach) at C:\adbtest.pl line 15 I've got a standalone oracle database (11gr1) pointed to by host alias dbserver. If I use dbserver above instead of edc-dbserver, the script works fine. Also, tnsping gives the following C:\>tnsping edc-dbserver TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 29-APR-2010 12:57:46 Copyright (c) 1997, 2005, Oracle. All rights reserved. Used parameter files: C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=edc-dbserver.nais.org))(ADDRESS =(PROTOCOL=TCP)(HOST=10.166.135.110)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)( HOST=10.166.135.112)(PORT=1521))) OK (0 msec) Any help would be greatly appreciated. E. Scott Stricker Senior Software Engineer Northrop Grumman - Information Systems - C2SD MailStop 4S02 2340 Dulles Corner Blvd. Herndon, VA 20171 703-561-3671 703-713-1601 (fax)
question on how a path/directory is picked up
I am still battling this problem install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/ Oracle.so' for module DBD::Oracle: /usr/lib/oracle/11.2/client/lib/libocci.so.11.1: cannot restore segment prot after reloc: Permission denied at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. at (eval 3) line 3 Compilation failed in require at (eval 3) line 3. Perhaps a required shared library or dll isn't installed where expected My question now is: where/how does perl pick up the directory /usr/lib/oracle/11.2/client/lib in the above error? I have my Oracle Home set to a 10.2 directory as well as my LD_LIBRARY_PATH echo $ORACLE_HOME /usr/lib/oracle/10.2.0.3/client [r...@actjcmysql dba]# echo $LD_LIBRARY_PATH /usr/lib/oracle/10.2.0.3/client/lib [r...@actjcmysql dba]# Thanks in advance for your help Pam Wampler
Re: unable to install DBI for Perl version 5.8.0 from windows X86
ranjith makineni wrote: For DBD::Oracle and DBI you will need to get a copy of a Visual C++ compiler and nmake. If you down load DBD::ORacle 1.24 and have a look at the README.win32 it has full instructions on what you have to do. You are better off using a later version of DBI than the very old 1.48 Hope this helps Hi, I need to install DBI for connection to Oracle Database for Perl version 5.8.0 from windows X86. I have downloaded DBI-1.48. We are able to run perl Makefile.PL, but unable to nmake or dmake commands on windows. we are getting the error "'nmake' is not recognized as an internal or external command, operable program or batch file." Are we missing something. Can you please help to resolve this. We can't get trough our Firewall nor can we use HTTP proxy use PPM. Is there any other way to install DBI for perl 5.8.0 and Oracle Database? Appreciate your help in resolving this. Thanks, Ranjith
Re: how to post
On Wed, Apr 28, 2010 at 7:11 PM, Pam Wampler wrote: > How do I post a question to this forum? > > Not unlike the way you posted that one :-). -- Jeff > > > > > Thanks, > > > > Pam Wampler > > Senior Oracle Database Administrator > > Advanced Call Center Technologies, LLC. > > 3035 Boones Creek Road > > Johnson City, TN 37615 > > Office: 423-283-5020 > > Cell: 423-426-6305 > > pwamp...@acttoday.com > > > >
Re: DBI/DBD question
I am working with the Informix DBA. The original DBA also got laid off so he didn't install. But he is comparing this environment with the other environment that is working. He is also going to create a "stores" database so I can rebuild DBD on the newer system. Meanwhile, I have confirmed the Defaults.pm is correct. I will provide more information or the solution once I have it. Thank you to all that have responded for your assistance! Royce From: Jonathan Leffler To: Royce Miller Cc: dbi-users@perl.org; Guardian of DBD::Informix Sent: Wed, April 28, 2010 6:54:34 AM Subject: Re: DBI/DBD question On Tue, Apr 27, 2010 at 11:17 AM, Royce Miller wrote: I am taking over the Perl stuff for someone that was laid off. The previous guy built Perl with CGI, DBI and DBD modules for use with a Informix database and IBM IHS web server. He then tar'd it all up and copied it to a different server and where thing do not all working. I know, sounds obvious. There are some scripts that are interactive or run by Unix CRON scheduler on the system and others that are web pages used for reporting. The interactive stuff works fine on the new system, but the web pages fail. > >The error is: >Software error: >install_driver(Informix) failed: Can't load >'/home/users/polling/perl/lib/site_perl/5.8.8/sun4-solaris-64/auto/DBD/Informix/Informix.so' > for module DBD::Informix: ld.so.1: SdtQuery.pl: fatal: libifsql.so: open >failed: No such file or directory at >/home/users/polling/perl/lib/5.8.8/sun4-solaris-64/DynaLoader.pm line 230. >at (eval 32) line 3 Compilation failed in require at (eval 32) line 3. >Perhaps a required shared library or dll isn't installed where expected at >/home/users/polling/SDT-2.0/SDT/SDTDB.pm line 443 >This is Perl 5.8.8 running on Solaris 2.8 on V490 Hardware. All is 64 bit. I >am considering rebuilding these modules. I have the source for DBI and DBD >but don't seem to have the source for CGI. I figured I would check with the >pros before I start doing things. >Any ideas or suggestions? >Thank you for your time! >Royce Dear Royce, This is all about Informix and nothing to do with CGI per se - as others have said. In future, please include DBD::Informix in the subject line - it helps me spot that the question is about Informix. Or copy the email address dbd.infor...@gmail.com with the request too. This information is in the README file for DBD::Informix. You should find under one of the DBD/Informix directories (probably /home/users/polling/perl/lib/site_perl/5.10.1/sun4-solaris-64/DBD/Informix) you should a file Defaults.pm. In there, you should find a value for INFORMIXDIR. sub default_INFORMIXDIR { return '/usr/informix/11.50.FC3'; } sub default_INFORMIXSERVER { return 'black_19'; } This is from my machine (Solaris 10, Perl 5.10.1). You need to ensure that the LD_LIBRARY_PATH (or LD_LIBRARY_PATH_64) includes the directories: $INFORMIXDIR/lib $INFORMIXDIR/lib/esql If the specified directory does not exist, then you need to review what to do next. Options include (1) creating a symlink at the official location pointing to the current in-service $INFORMIXDIR, (2) poking around the ld.so.1 configuration with crle (intuitive name!) to add Informix directories to the system list of directories, or (3) rebuilding DBD::Informix to use the new location of $INFORMIXDIR. Option (3) may be the 'best' solution. You can also build DBD::Informix with the environment variable DBD_INFORMIX_RELOCATABLE_INFORMIXDIR set to 1 or yes or anything else that Perl will evaluate as 'true' (so not empty, nor 0). This means that the libraries will be linked solely via the LD_LIBRARY_PATH or crle settings - rather than having a path built in. This is more typically a nuisance (especially in contexts such as web servers - because web servers reset their environment completely and zap the inherited value for LD_LIBRARY_PATH) and is not the default behaviour. -- Jonathan Leffler #include Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org "Blessed are we who can laugh at ourselves, for we shall never cease to be amused."
Re: unable to install DBI for Perl version 5.8.0 from windows X86
Am 28.04.2010 um 18:01 schrieb ranjith makineni: > I need to install DBI for connection to Oracle Database for Perl version > 5.8.0 from windows X86. Perl 5.8.0 is ages old. You should upgrade to get the bugfixes. > I have downloaded DBI-1.48. We are able to run perl Makefile.PL, but unable > to nmake or dmake commands on windows. > > we are getting the error "'nmake' is not recognized as an internal or > external command, operable program or batch file." Install Visual Studio Express C++ to get the development tools. -- Michael.Ludwig (#) XING.com
unable to install DBI for Perl version 5.8.0 from windows X86
Hi, I need to install DBI for connection to Oracle Database for Perl version 5.8.0 from windows X86. I have downloaded DBI-1.48. We are able to run perl Makefile.PL, but unable to nmake or dmake commands on windows. we are getting the error "'nmake' is not recognized as an internal or external command, operable program or batch file." Are we missing something. Can you please help to resolve this. We can't get trough our Firewall nor can we use HTTP proxy use PPM. Is there any other way to install DBI for perl 5.8.0 and Oracle Database? Appreciate your help in resolving this. Thanks, Ranjith
Re: centos perl-DBD:Oracle
Hi Pam, Pam Wampler wrote: What are the steps to install perl-DBD:Oracle on a centos 5 server? I have the following oracle rpm's installed rpm -qa | grep oracle oracle-instantclient11.2-odbc-11.2.0.1.0-1 oracle-instantclient-sqlplus-10.2.0.3-1 oracle-instantclient-basic-10.2.0.3-1 oracle-instantclient11.2-basic-11.2.0.1.0-1 oracle-instantclient11.2-devel-11.2.0.1.0-1 oracle-instantclient-devel-10.2.0.3-1 oracle-instantclient-jdbc-10.2.0.3-1 when I try to install the following, I get rpm -i perl-DBD-Oracle-1.19-1.el5.i386.rpm warning: perl-DBD-Oracle-1.19-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b error: Failed dependencies: libclntsh.so.10.1 is needed by perl-DBD-Oracle-1.19-1.el5.i386 libnnz10.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 libocci.so.10.1 is needed by perl-DBD-Oracle-1.19-1.el5.i386 libociei.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 libocijdbc10.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 I had similar problems on RHEL5 just recently. This is one of the few packages on RHEL5 where I'd recommend installing DBD::Oracle from CPAN rather than installing it as an .rpm I wouldn't bother with oracle-instantclient11.2* unless you have to. I had no end of trouble with it, lots of wierd problems with disconnections (ORA-12540) and failing to connect to a know good listener (ORA-12541), with no joy debugging it at all. Also after you've installed your oracle packages, you need to make sure that your $ORACLE_HOME is pointing to the right place. I didn't use $LD_LIBRARY_PATH, instead I added an entry in; /etc/ld.so.conf.d/oracle.conf with all the paths to the libraries, eg: # cat oracle.conf /usr/lib/oracle/10.2.0.4/client/lib then run; ldconfig -v | less to confirm. Then used cpan to download and unpack the module, cd'd in $HOME/.cpan/build/DBD-Oracle* and ran; # make # make install Perhaps not very redhatty, but worked fine. regards, Kim
RE: (Fwd) Problems inserting into a CLOB field type using DBI PERL
Hi, Many thanks for your assistance. Thank you for highlighting that John. I have managed to fix the problem, I also needed to set the LongReadLen and LongTruncOk attributes which control how long columns are retrieved. I appreciate your support Wishing you all the best Ash -Original Message- From: John Scoles [mailto:sco...@pythian.com] Sent: 28 April 2010 13:36 To: arshad.mahm...@manchester.ac.uk; dbi-users@perl.org Subject: Re: (Fwd) Problems inserting into a CLOB field type using DBI PERL Nothing to DBI or DBD oracle Check your SQL statement you have only 52 '?' but you are trying to bind field 53 cheers John Scoles Tim Bunce wrote: > - Forwarded message from Arshad Mahmood > - > > Date: Mon, 26 Apr 2010 12:52:41 +0100 > From: Arshad Mahmood > To: Tim Bunce > Subject: Problems inserting into a CLOB field type using DBI PERL > X-Mailer: Oracle Connector for Outlook 10.1.3.0.10 100801 (11.0.5510) > > Hi Tim, > > I am doing some programming on a red hat linux env using DBI with perl and > trying to insert into an Oracle database and particularly a CLOB field. > > The perl version is perl, v5.8.8 built for x86_64-linux-thread-multi > The dbi version I am using is most likely the latest version of DBI > The oracle database I am using is 11g > > The CLOB field that I am inserting into is called "request_notes" > > > My code is below; > > $Sql3 = "INSERT into bas_aba_immediaterequests > (request_id,submitter,create_date,last_modified_by,modified_date,statu > s,short_description,requesters_name,requesters_email_address,managers_ > name,managers_email_address,roles,software,request_status_,user_id,tas > ks,ip_address,facultyschool,other,get_details_live_link_only,documents > _oracle_financials_on,budgetcode_oracle_financials_o,responsibility_or > acle_financia,responsibility_give_details_or,receive_reports_oracle_fi > nanci,ctrro_oracle_financials_only,desktop_set_up_complete,atacf,atacs > ,cc,fctn,ipn,req,sameas,fcas,please_give_details,location,training_com > plete,fwall_complete,usertel,mgrtel,checkrlhrauth1,checkrlhrauth2,wfif > u,csc,empno,purchasingunit,jobtitle,brrother,team,repbusinessarea,requ > est_notes) VALUES > (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? > ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; > > $Statement3 = $Dbh->prepare($Sql3) or die "Can't > Prepare:$DBI::errstr\n"; > > Then I do the bind for each field > > The bind code for the CLOB field is: > $Statement3->bind_param(53, $Data, {ora_type => ORA_CLOB, ora_field => > 'request_notes'}) > > $Statement3->execute() || "Cannot Execute SQL Statement insert_sql > into its_servicedesk correspond: $DBI::errstr\n"; > > > I get the following error in the log files > > [Mon Apr 26 12:19:04 2010] [error] [client 130.88.157.213] Can't bind > unknown placeholder ':p53' (53) > > > Can you please assist as ive been stuck on this problem for quite a while > now.. > > Many Thanks > Ash > > > - End forwarded message - >
Re: centos perl-DBD:Oracle
Am 29.04.2010 um 04:08 schrieb Pam Wampler: > What are the steps to install perl-DBD:Oracle on a centos 5 server? > rpm -i perl-DBD-Oracle-1.19-1.el5.i386.rpm > > warning: perl-DBD-Oracle-1.19-1.el5.i386.rpm: Header V3 DSA signature: > NOKEY, key ID e42d547b > > error: Failed dependencies: > >libclntsh.so.10.1 is needed by perl-DBD-Oracle-1.19-1.el5.i386 > >libnnz10.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 > >libocci.so.10.1 is needed by perl-DBD-Oracle-1.19-1.el5.i386 > > >libociei.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 > >libocijdbc10.so is needed by perl-DBD-Oracle-1.19-1.el5.i386 Install the dependencies. Or use a package manager that automatically installs the dependencies, like APT or YaST. Looks like the CentOS equivalent is called Yum. Nothing to do with Perl, that's a basic sysadmin question. > echo $LD_LIBRARY_PATH > > /usr/lib/oracle/10.2.0.3/client/lib I think /etc/ld.so.conf is the way to go these days. -- Michael.Ludwig (#) XING.com