2002-11-11 15:48:44 +01:00
|
|
|
TROUBLESHOOTING
|
|
|
|
===============
|
|
|
|
|
|
|
|
A lot of what is explained below should be done automatically by the install
|
2009-01-15 09:29:17 +01:00
|
|
|
process. It is explained here just in case it didn't do it correctly for
|
2002-11-11 15:48:44 +01:00
|
|
|
your circumstance.
|
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
1) HOW DO I TELL IF IT IS WORKING?
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
Here is a quick smoke test to see if everything is working:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$cd /opt/firebird/examples
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$/opt/firebird/bin/isql
|
2002-11-11 15:48:44 +01:00
|
|
|
>connect employee.gdb;
|
|
|
|
>select rdb$relation_name from rdb$relations;
|
|
|
|
>exit;
|
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
(You may need to provide the SYSDBA password in some cases)
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$/opt/firebird/bin/isql
|
2002-11-11 15:48:44 +01:00
|
|
|
>connect employee.gdb user sysdba password <password>;
|
|
|
|
>select rdb$relation_name from rdb$relations;
|
2009-01-15 09:29:17 +01:00
|
|
|
>show tables;
|
2002-11-11 15:48:44 +01:00
|
|
|
>exit;
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
Where password will be either masterkey, or present in the
|
|
|
|
file /opt/firebird/SYSDBA.password.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
For a test using networking:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$/opt/firebird/bin/isql
|
|
|
|
>connect 'localhost:/opt/firebird/examples/employee.gdb';
|
2002-11-11 15:48:44 +01:00
|
|
|
>select rdb$relation_name from rdb$relations;
|
|
|
|
>exit;
|
|
|
|
|
|
|
|
On a remote machine you can try the above replacing localhost with
|
2009-01-15 09:29:17 +01:00
|
|
|
the server name. Remember, you may need to specify the username/password
|
|
|
|
to get this to work.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2) HOW DO I CHECK THAT THE SERVER IS RUNNING
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
You can check if the server is running by:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
netstat -an | grep 3050
|
|
|
|
|
|
|
|
If something is listening on port 3050 then the server is running.
|
|
|
|
If something is not running, then see next topics.
|
|
|
|
|
|
|
|
|
|
|
|
3) TROUBLESHOOTING CLASSIC SERVER INSTALL
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
The classic server works in two modes. The first mode allows you
|
|
|
|
to directly open the database files and does not need a server.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
To test this mode, open the database using only the directory path:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
$isql
|
2009-01-15 09:29:17 +01:00
|
|
|
>connect '/opt/firebird/examples.gdb';
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
In the second mode, requests are serviced by the inetd process. To test
|
|
|
|
this mode, open the database with a connection string that includes the
|
|
|
|
server name or IP:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
$isql
|
2009-01-15 09:29:17 +01:00
|
|
|
>connect 'localhost:/opt/firebird/examples.gdb';
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
The configuration files for setting up the inetd (or xinetd) for the
|
|
|
|
classic server are as follows:
|
|
|
|
|
|
|
|
The /etc/services file needs an entry as follows:
|
|
|
|
gds_db 3050/tcp # InterBase Database Remote Protocol"
|
|
|
|
|
|
|
|
|
|
|
|
For inetd the /etc/inetd.conf file should have a line as follows
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
gds_db stream tcp nowait.30000 root /opt/firebird/bin/gds_inet_server gds_inet_server
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
You will need to restart the inetd process before the server will work.
|
|
|
|
$ps -ef | grep inetd
|
|
|
|
will give you the process id and
|
|
|
|
|
|
|
|
$kill -HUP <pid>
|
2009-01-15 09:29:17 +01:00
|
|
|
will instruct it to reread its configuration file and listen on port 3050.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
Recent Linux systems Redhat 7.0, Mandrake 7.2, and later have xinetd.
|
|
|
|
The process is fairly similar, except the firebird service is described via
|
2002-11-11 15:48:44 +01:00
|
|
|
a file in /etc/xinetd.d/firebird. There is a template version of this file
|
2009-01-15 09:29:17 +01:00
|
|
|
in /opt/firebird/misc/firebird.xinetd, you should only need to copy the
|
2002-11-11 15:48:44 +01:00
|
|
|
file to that directory.
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
After copying the file, to get the xinetd process to re-read its
|
|
|
|
configuration files, first find the xinetd process id:
|
|
|
|
|
2002-11-11 15:48:44 +01:00
|
|
|
$ ps -ef | grep xinetd
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
Then send it a restart signal:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
$kill -USR2 <pid>
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
The process will reread its configuration file and listen on port 3050.
|
|
|
|
|
|
|
|
See the topic SERVER STILL WONT START for more info if required.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
4) TROUBLESHOOTING SUPER SERVER INSTALL
|
|
|
|
|
|
|
|
Super server runs as an inetd process. There should be an fbguard process
|
|
|
|
running and several (usually 3) fbserver threads running.
|
|
|
|
|
|
|
|
The server should start with
|
|
|
|
$/etc/init.d/firebird start
|
|
|
|
|
|
|
|
Installation problems for super usually revolve around the server not
|
|
|
|
starting up correctly during installation.
|
|
|
|
|
|
|
|
Often this is caused by either lack of permission to connect via tcp
|
|
|
|
to the server process or a prior install (perhaps a classic server )
|
|
|
|
already running.
|
|
|
|
|
|
|
|
One bad side effect is that this could result in the initial SYSDBA
|
|
|
|
password not being set correctly.
|
|
|
|
|
|
|
|
If there are problems you may need to check the actual file for correct
|
2009-01-15 09:29:17 +01:00
|
|
|
install location.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
If running the /etc/init.d/firebird start script does not work, then see
|
2002-11-11 15:48:44 +01:00
|
|
|
the topic SERVER STILL WONT START for more debugging info.
|
2009-01-15 09:29:17 +01:00
|
|
|
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
5) SERVER STILL WONT START
|
|
|
|
|
|
|
|
If you are really having problems try running the server programs
|
2009-01-15 09:29:17 +01:00
|
|
|
directly. In this case, unsatisfied links or error messages will show
|
|
|
|
up in the console.
|
|
|
|
|
|
|
|
To invoke superserver:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$/opt/firebird/bin/fbserver # for super
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
To invoke classic:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$/opt/firebird/bin/fb_inet_server # for classic
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
and take note of any error messages.
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
There may be a problem with an unsatisfied dynamic library link. This
|
|
|
|
occurs when firebird requires a library, or version of a library, that
|
|
|
|
you do not have installed.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
You can check the dynamic library requirements as follows:
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
$ldd /opt/firebird/bin/fbserver
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
If you are still stuck, try posting a question to the support newsgroup at:
|
|
|
|
http://tech.groups.yahoo.com/group/firebird-support/
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
6) PROBLEMS CONNECTING TO SERVER
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
There can be problems if DNS is not configured correctly.
|
|
|
|
Incorrect DNS configuration will result in problems looking up the
|
|
|
|
host's name or IP. If this is the case, placing specific entries in the
|
|
|
|
/etc/hosts file is a good place to start.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
Try to connect to the server using telnet, note space between server
|
|
|
|
name and port.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
$telnet server 3050
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
This will tell you if you can get to the server. Failure could be because
|
|
|
|
of some firewall blockage. The most common problem is simply that the
|
|
|
|
server is not running.
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
7) WHY ARE MY DATABASES OWNED BY ROOT
|
2002-11-11 15:48:44 +01:00
|
|
|
|
|
|
|
|
2009-01-15 09:29:17 +01:00
|
|
|
8) WHAT IS THE DIFFERENCE
|