README.user.troubleshooting 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. TROUBLESHOOTING
  2. ===============
  3. A lot of what is explained below should be done automatically by the install
  4. process. It is explained here just in case it didn't do it correctly for
  5. your circumstance.
  6. 1) HOW DO I TELL IF IT IS WORKING?
  7. Here is a quick smoke test to see if everything is working:
  8. $cd /opt/firebird/examples
  9. $/opt/firebird/bin/isql
  10. >connect employee.gdb;
  11. >select rdb$relation_name from rdb$relations;
  12. >exit;
  13. (You may need to provide the SYSDBA password in some cases)
  14. $/opt/firebird/bin/isql
  15. >connect employee.gdb user sysdba password <password>;
  16. >select rdb$relation_name from rdb$relations;
  17. >show tables;
  18. >exit;
  19. Where password will be either masterkey, or present in the
  20. file /opt/firebird/SYSDBA.password.
  21. For a test using networking:
  22. $/opt/firebird/bin/isql
  23. >connect 'localhost:/opt/firebird/examples/employee.gdb';
  24. >select rdb$relation_name from rdb$relations;
  25. >exit;
  26. On a remote machine you can try the above replacing localhost with
  27. the server name. Remember, you may need to specify the username/password
  28. to get this to work.
  29. 2) HOW DO I CHECK THAT THE SERVER IS RUNNING
  30. You can check if the server is running by:
  31. netstat -an | grep 3050
  32. If something is listening on port 3050 then the server is running.
  33. If something is not running, then see next topics.
  34. 3) TROUBLESHOOTING CLASSIC SERVER INSTALL
  35. The classic server works in two modes. The first mode allows you
  36. to directly open the database files and does not need a server.
  37. To test this mode, open the database using only the directory path:
  38. $isql
  39. >connect '/opt/firebird/examples.gdb';
  40. In the second mode, requests are serviced by the inetd process. To test
  41. this mode, open the database with a connection string that includes the
  42. server name or IP:
  43. $isql
  44. >connect 'localhost:/opt/firebird/examples.gdb';
  45. The configuration files for setting up the inetd (or xinetd) for the
  46. classic server are as follows:
  47. The /etc/services file needs an entry as follows:
  48. gds_db 3050/tcp # InterBase Database Remote Protocol"
  49. For inetd the /etc/inetd.conf file should have a line as follows
  50. gds_db stream tcp nowait.30000 root /opt/firebird/bin/fb_inet_server gds_inet_server
  51. You will need to restart the inetd process before the server will work.
  52. $ps -ef | grep inetd
  53. will give you the process id and
  54. $kill -HUP <pid>
  55. will instruct it to reread its configuration file and listen on port 3050.
  56. Recent Linux systems Redhat 7.0, Mandrake 7.2, and later have xinetd.
  57. The process is fairly similar, except the firebird service is described via
  58. a file in /etc/xinetd.d/firebird. There is a template version of this file
  59. in /opt/firebird/misc/firebird.xinetd, you should only need to copy the
  60. file to that directory.
  61. After copying the file, to get the xinetd process to re-read its
  62. configuration files, first find the xinetd process id:
  63. $ ps -ef | grep xinetd
  64. Then send it a restart signal:
  65. $kill -USR2 <pid>
  66. The process will reread its configuration file and listen on port 3050.
  67. See the topic SERVER STILL WONT START for more info if required.
  68. 4) TROUBLESHOOTING SUPER SERVER INSTALL
  69. Super server runs as an inetd process. There should be an fbguard process
  70. running and several (usually 3) fbserver threads running.
  71. The server should start with
  72. $/etc/init.d/firebird start
  73. Installation problems for super usually revolve around the server not
  74. starting up correctly during installation.
  75. Often this is caused by either lack of permission to connect via tcp
  76. to the server process or a prior install (perhaps a classic server )
  77. already running.
  78. One bad side effect is that this could result in the initial SYSDBA
  79. password not being set correctly.
  80. If there are problems you may need to check the actual file for correct
  81. install location.
  82. If running the /etc/init.d/firebird start script does not work, then see
  83. the topic SERVER STILL WONT START for more debugging info.
  84. 5) SERVER STILL WONT START
  85. If you are really having problems try running the server programs
  86. directly. In this case, unsatisfied links or error messages will show
  87. up in the console.
  88. To invoke superserver:
  89. $/opt/firebird/bin/fbserver # for super
  90. To invoke classic:
  91. $/opt/firebird/bin/fb_inet_server # for classic
  92. and take note of any error messages.
  93. There may be a problem with an unsatisfied dynamic library link. This
  94. occurs when firebird requires a library, or version of a library, that
  95. you do not have installed.
  96. You can check the dynamic library requirements as follows:
  97. $ldd /opt/firebird/bin/fbserver
  98. If you are still stuck, try posting a question to the support newsgroup at:
  99. http://tech.groups.yahoo.com/group/firebird-support/
  100. 6) PROBLEMS CONNECTING TO SERVER
  101. There can be problems if DNS is not configured correctly.
  102. Incorrect DNS configuration will result in problems looking up the
  103. host's name or IP. If this is the case, placing specific entries in the
  104. /etc/hosts file is a good place to start.
  105. Try to connect to the server using telnet, note space between server
  106. name and port.
  107. $telnet server 3050
  108. This will tell you if you can get to the server. Failure could be because
  109. of some firewall blockage. The most common problem is simply that the
  110. server is not running.
  111. 7) WHY ARE MY DATABASES OWNED BY ROOT
  112. 8) WHAT IS THE DIFFERENCE