Oracle installation help needed

Hello,

I was able to get RT working with MySQL v4.x quite easily but the
information on Oracle installs is scarce.
I am having major pains trying to get RT installed using Oracle as the
database.

I have added my own debugging statements to try to figure out what the
problem is and this is what I am getting:

Now creating a database for RT.
…skipped as rt is not rt or we’re working with Oracle.
.
.
.
Before Create System User
Creating system user…
DEBUG: [//opt/rt3/sbin/rt-setup-database 436] New RT User
DEBUG: User_Overlay.pm - Start _BootstrapCreate
DEBUG: /opt/rt3/lib/RT/User_Overlay.pm 484 Before BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 674]
Start BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 678]
TRANSDEPTH = 1
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 685]
BeginTransaction - return self->dbh->begin_work
DEBUG: [/opt/rt3/lib/RT.pm 287] We DIED - Rollback!
Can’t call method “rollback” on an undefined value at
/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm line 742.
make: *** [initialize-database] Error 2

Seems like it works all the way up until “make initialize-database” creates
the RT User.
When I run this script it does create all of the tables and the sequences
etc. but it just errors out when creating
the initial system users. For some reason it is bombing out on me right
after the BeginTransaction returns the self->dbh->begin_work as the result.

Any help, tips, ideas or advice is much appreciated.

Also - I updated the nuke-schema.pl script so that it did not need the
“Scriptalicious” program because it was almost impossible
for me to install that on Fedora Core 3 system. My version just uses
straight up perl and connects right to the Oracle database.
Is there a place I can deposit this script for others to make use of?

T.J. Maciak

Internet/Intranet Developer
Department of IT
City of Grand Rapids
P: (616)456-3713
F: (616)456-3448

Maciak, TJ wrote:

Hello,

I was able to get RT working with MySQL v4.x quite easily but the
information on Oracle installs is scarce.
I am having major pains trying to get RT installed using Oracle as the
database.

I have added my own debugging statements to try to figure out what the
problem is and this is what I am getting:

Now creating a database for RT.
…skipped as rt is not rt or we’re working with Oracle.
.
.
.
Before Create System User
Creating system user…
DEBUG: [//opt/rt3/sbin/rt-setup-database 436] New RT User
DEBUG: User_Overlay.pm - Start _BootstrapCreate
DEBUG: /opt/rt3/lib/RT/User_Overlay.pm 484 Before BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 674]
Start BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 678]
TRANSDEPTH = 1
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 685]
BeginTransaction - return self->dbh->begin_work
Here is RT an/or SB executes first insert and something fails. fails so
terrible that you don’t have dbh any more, RT catches error in eval
block below and try to force rollback, but because dbh is not defined
any more it calls rollback on undef value.

Could you turn DBI debug and Oracle query log?
DBI log you can turn on with DBI_TRACE env variable with
“[=]” syntax. See perldoc DBI.

DEBUG: [/opt/rt3/lib/RT.pm 287] We DIED - Rollback!
Can’t call method “rollback” on an undefined value at
/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm line 742.
make: *** [initialize-database] Error 2

Seems like it works all the way up until “make initialize-database”
creates the RT User.
When I run this script it does create all of the tables and the
sequences etc. but it just errors out when creating
the initial system users. For some reason it is bombing out on me right
after the BeginTransaction returns the self->dbh->begin_work as the result.
Did you update your perl?

At Thursday 6/9/2005 08:42 AM, Maciak, TJ wrote:

Hello,
Can’t call method “rollback” on an undefined value at
/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm line 742.
make: *** [initialize-database] Error 2

I’m guessing that the database handle is null because the connect failed.
Are you sure that the connect is using a valid username/password?

Steve

This is what I get when I do DBI_TRACE=1
Seems like the DB connection info is valid as its creating the tables etc.

— start script

First part creates all tables, sequences etc. successfully
.
.
.
Done setting up database schema.
Now inserting database ACLs
Now inserting RT core system objects
DEBUG: Handle.pm using Oracle
DEBUG: Handle.pm DB connect 1of3
DEBUG: Connect to Oracle DB USER:rt PW:xxx
→ DBI->connect(DBI:Oracle:host=rabbit; sid=devl, rt, ****)
connect using
‘(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(HOST=rabbit)(PROTOCOL=tcp)(PORT=1526))
(ADDRESS=(HOST=rabbit)(PROTOCOL=tcp)(P
ORT=1521)))(CONNECT_DATA=(SID=devl)))’ ← connect(‘host=rabbit; sid=devl’
‘rt’ …)= DBI::db=HASH(0xa4cd470) at DBI.pm line 5
99
← STORE(‘PrintError’ 1)= 1 at DBI.pm line 646
← STORE(‘AutoCommit’ 1)= 1 at DBI.pm line 646
← STORE(‘Username’ ‘rt’)= 1 at DBI.pm line 649
<> FETCH(‘Username’)= ‘rt’ (‘Username’ from cache) at DBI.pm line 649
← connect= DBI::db=HASH(0xa4cd470)
← STORE(‘dbi_connect_closure’ CODE(0xac7a438))= 1 at DBI.pm line 669
DEBUG: Handle.pm DB connect 2of3
← STORE(‘LongReadLen’ 10000000)= 1 at Handle.pm line 121
DEBUG: Handle.pm DB connect 3of3
← DESTROY(DBI::db=HASH(a4cd470))= undef at rt-setup-database line 415
Checking for existing system user…DISABLED
Before Create System User
Creating system user…
DEBUG: [//opt/rt3/sbin/rt-setup-database 444] New RT User
DEBUG: User_Overlay.pm - Start _BootstrapCreate
DEBUG: /opt/rt3/lib/RT/User_Overlay.pm 484 Before BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 674]
Start BeginTransaction
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 678]
TRANSDEPTH = 1
DEBUG: [/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm 685]
BeginTransaction - return self->dbh->begin_work
DEBUG: [/opt/rt3/lib/RT.pm 287] We DIED - Rollback!
Can’t call method “rollback” on an undefined value at
/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm line 742.
← disconnect_all= (not implemented) at DBI.pm line 678
! ← DESTROY(DBI::db=HASH(a4de1a8))= undef during global destruction
! ← DESTROY(DBI::dr=HASH(a1814ec))= undef during global destruction
make: *** [initialize-database] Error 2

T.J. Maciak

Internet/Intranet Developer
Department of IT
City of Grand Rapids
P: (616)456-3713
F: (616)456-3448From: Stephen Turner [mailto:sturner@MIT.EDU]
Sent: Thursday, June 09, 2005 9:53 AM
To: Maciak, TJ; rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Oracle installation help needed

At Thursday 6/9/2005 08:42 AM, Maciak, TJ wrote:

Hello,
Can’t call method “rollback” on an undefined value at
/usr/lib/perl5/site_perl/5.8.5/DBIx/SearchBuilder/Handle.pm line 742.
make: *** [initialize-database] Error 2

I’m guessing that the database handle is null because the connect failed.
Are you sure that the connect is using a valid username/password?

Steve