DBD::Oracle fails ORA-27123

Hi,

I try to install DBD-Oracle-1.23 on RHEL5 x86 with oracle 10gR2 path set 10204, but I get this error:

# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01base................# Test loading DBI, DBD::Oracle and version
t/01base................ok                                                  
t/10general.............DBI connect('','scott/tiger',...) failed: ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 131073 (DBD ERROR: OCISessionBegin) at t/10general.t line 22
FAILED--Further testing stopped: Unable to connect to Oracle (ORA-01034: ORACLE not available
make: *** [test_dynamic] Error 9

The database is up and running, ORACLE env variables are set and kernel parameters should be fine. I kept the default shmmax of 4294967295 (SGA is only 640M)

Please enlighten me.
Thx
refkrisAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

schwertnerCommented:
Backup LISTENER.ORA file!!!!!!!

In ...\network\admin open listener.ora

see

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\Ora10g)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = test)
      (ORACLE_HOME = D:\Ora10g)
    )
  )

Add the entry
    (SID_DESC =
      (SID_NAME = test)
      (ORACLE_HOME = D:\Ora10g)
    )
with regard to the particular Oracle Home and SID Name.

Restart the listener:
c:>lsnrctl stop
c:>lsnctl start
0
refkrisAuthor Commented:
Hi schwertner,

Thx for your quick reply, but adding the entry has no effect. The problem is not net related. I can connect through sqlplus.
0
Tomac_YaoCommented:
what is the username which you connect through sqlplus ?
0
schwertnerCommented:
ALTER USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK;

as SYS user
0
refkrisAuthor Commented:
It 's not the user account. Actually I use system/somepass in the $ORACLE_USERID variable, so the error I get is:

t/10general.............DBI connect('','system/somepass'',...) failed: ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment

But, I have solved the problem. For some odd reason I had to specify the SID in the $ORACLE_USERID variable:
export ORACLE_USERID=system/somepass@SID
in order for the DBD::Oracle perl module to connect to the correct database.

I do not get this. Firstly, the SID is defined in the environment. Secondly, the DBD::Oracle module was somehow connecting to the database because the error I got was different in the case the DB was shut down (ORA-27101: shared memory realm does not exist). Thirdly, if I recollect correctly, I never had to do that in the past.




0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.