I installed perl and all the modules needed to connect to oracle
as well as all the modules needed for RT. However rt’s
installation script dies when it tries to connect to the database
which other perl scripts can do.
I believe that the Oracle DBD requires several environment variables
to be set, including SID. Ensure that they are set and exported in
your environment, and ensure that the startup scripts for mod_perl
(if you’re using mod_perl) have the environment variables set as
by exported what do you mean? and what variables does mod_perl need…
and that doesn’t explain why other scripts can connect to the same
database using the same install of perl and dbd?
The difference between:
$ FOO=bar; export FOO
is that in the first case, subprocesses (i.e., scripts and such
launched by your shell) cannot access $FOO, while in the second case
they can – export marks the variable as propogatable (is that a word?).
I was attempting to imply that, perhaps, the enviroment under which you
are running the programs does have the appropriate Oracle environment
variables defined and properly exported in your startup files, while the
environment under which you are running the installer (root?) does not.
Note that if you are not using a sh-alike (sh, bash, ksh?), this is not
an issue, but, again, if you are running the install script as root, the
shell is most likely sh (does any *nix ship with root’s shell as something
As far as what environment variables Oracle uses, that I cannot help you
with; I’m not an Oracle user, but this has come up on the mod_perl list
enough that I’m starting to recognize the symptoms. A search of the
mod_perl guide for Oracle
comes up with some helpful information, e.g.:
There is not enough love in the world to squander it on anything
by human beings.