Oracle data problem

Using RT 3.8.5, Perl 5.10.1, mod_perl 2.0.4, and Apache 2.2.13. I
have the following Oracle client packages installed on my CentOS 5.3
x86_64 box:
oracle-instantclient11.1-basic-11.1.0.7.0-1
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1
oracle-instantclient11.1-devel-11.1.0.7.0-1

My Oracle server is running on a separate server from the RT
application. I have confirmed connectivity using SQL*Plus.

When I run the “make initialize-database” step the RT user is created
by the script, but the moment I get to the coredata step I get the
following output:

Now inserting RT core system objects
[Fri Oct 2 20:55:52 2009] [warning]: DBD::Oracle::st execute failed:
ORA-04043: object Users does not exist (DBD ERROR: Can’t match some
parameters to LOB fields in the table, check type and name) [for
Statement “INSERT INTO Users (Comments, RealName, Creator, Password,
LastUpdatedBy, Created, id, Name, LastUpdated) VALUES (?, ?, ?, ?, ?,
?, ?, ?, ?)” with ParamValues: :p1=‘Do not delete or modify this user.
It is integral to RT’s internal database structures’, :p2=‘The RT
System itself’, :p3=‘1’, :p4=‘NO-PASSWORD’, :p5=‘1’, :p6=‘2009-10-02
20:55:52’, :p7=‘8’, :p8=‘RT_System’, :p9=‘2009-10-02 20:55:52’] at
/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Handle.pm
line 509, line 1.
(/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Handle.pm:509)
[Fri Oct 2 20:55:52 2009] [warning]: RT::Handle=HASH(0x14928068)
couldn’t execute the query ‘INSERT INTO Users (Comments, RealName,
Creator, Password, LastUpdatedBy, Created, id, Name, LastUpdated)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)’ at
/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Handle.pm
line 522
DBIx::SearchBuilder::Handle::SimpleQuery(‘RT::Handle=HASH(0x14928068)’,
‘INSERT INTO Users (Comments, RealName, Creator, Password, Las…’,
‘HASH(0x14b6a958)’, ‘The RT System itself’, 1, ‘NO-PASSWORD’, 1,
‘2009-10-02 20:55:52’, 8, …) called at
/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Handle.pm
line 357
DBIx::SearchBuilder::Handle::Insert(‘RT::Handle=HASH(0x14928068)’,
‘Users’, ‘Comments’, ‘HASH(0x14b6a958)’, ‘RealName’, ‘The RT System
itself’, ‘Creator’, 1, ‘Password’, …) called at
/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Handle/Oracle.pm
line 105
DBIx::SearchBuilder::Handle::Oracle::Insert(‘RT::Handle=HASH(0x14928068)’,
‘Users’, ‘Comments’, ‘HASH(0x14b6a958)’, ‘RealName’, ‘The RT System
itself’, ‘Creator’, 1, ‘Password’, …) called at
/opt/rt-3.8.5/perl-5.10.1/lib/site_perl/5.10.1/DBIx/SearchBuilder/Record.pm
line 1293
DBIx::SearchBuilder::Record::Create(‘RT::User=HASH(0x14a9ae90)’,
‘Comments’, ‘Do not delete or modify this user. It is integral to
RT’s in…’, ‘RealName’, ‘The RT System itself’, ‘Creator’, 1,
‘Password’, ‘NO-PASSWORD’, …) called at
/opt/rt-3.8.5/rt-3.8.5/sbin/…/lib/RT/Record.pm line 289
RT::Record::Create(‘RT::User=HASH(0x14a9ae90)’, ‘id’, 8,
‘Comments’, ‘Do not delete or modify this user. It is integral to
RT’s in…’, ‘Password’, ‘NO-PASSWORD’, ‘LastUpdatedBy’, 1, …)
called at /opt/rt-3.8.5/rt-3.8.5/sbin/…/lib/RT/User_Overlay.pm line
388
RT::User::_BootstrapCreate(‘RT::User=HASH(0x14a9ae90)’,
‘Name’, ‘RT_System’, ‘RealName’, ‘The RT System itself’, ‘Comments’,
‘Do not delete or modify this user. It is integral to RT’s in…’,
‘Creator’, 1, …) called at
/opt/rt-3.8.5/rt-3.8.5/sbin/…/lib/RT/Handle.pm line 593
RT::Handle::InsertInitialData(‘RT::Handle=HASH(0x14928068)’)
called at ./rt-setup-database line 230
main::action_coredata(‘action’, ‘coredata’) called at
./rt-setup-database line 166
(/opt/rt-3.8.5/perl-5.10.1/lib/5.10.1/Carp.pm:47)
Couldn’t finish ‘coredata’ step.

I have manually verified the USERS table does in fact exist:

$ sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on Fri Oct 2 16:56:08 2009

Copyright © 1982, 2008, Oracle. All rights reserved.

SQL> connect rtdb_user/xxx@orasvr/db1
Connected.
SQL> describe users
Name Null? Type


ID NOT NULL NUMBER(11)
NAME NOT NULL VARCHAR2(200)
PASSWORD VARCHAR2(40)
COMMENTS CLOB
SIGNATURE CLOB
EMAILADDRESS VARCHAR2(120)…

I strongly doubt this is a compilation problem because the "rtdb_user"
is created and I can see the RT login screen in my web browser. I
have tried populating the database this with both root and the RT
user’s login, both of which are able to connect to the database using
SQL*Plus and have their environment variables set to the following:
NLS_NCHAR=AL32UTF8
NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Thoughts?

Matt Miller wrote:

Using RT 3.8.5, Perl 5.10.1, mod_perl 2.0.4, and Apache 2.2.13. I
have the following Oracle client packages installed on my CentOS 5.3
x86_64 box:
oracle-instantclient11.1-basic-11.1.0.7.0-1
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1
oracle-instantclient11.1-devel-11.1.0.7.0-1

My Oracle server is running on a separate server from the RT
application. I have confirmed connectivity using SQL*Plus.

I strongly doubt this is a compilation problem because the “rtdb_user”
is created and I can see the RT login screen in my web browser. I
have tried populating the database this with both root and the RT
user’s login, both of which are able to connect to the database using
SQL*Plus and have their environment variables set to the following:
NLS_NCHAR=AL32UTF8
NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Thoughts?
Yes, a bug in DBD::Oracle-1.23. Check your version and if it is 1.23
downgrade to 1.22 and you’ll be fine. I found this bug and searching the
archives of both devel and user should find a post of mine about it.

Regards,

Joop