NAME¶
fbsvcmgr - access services API of Firebird
SYNOPSYS¶
- fbsvcmgr service_mgr parameter...
- fbsvcmgr host:service_mgr parameter...
DESCRIPTION¶
Firebird (like interbase 6 and before) never had a way to access services API
from command line. With the exception of
-service switch of
gbak(1) and total use of services API in
gsec(1) since version
2.0, to use services one had to use third party GUI or write himself a program
using C or other programming language. Use of GUI is almost always not a
problem, when you work with local machine or machine in your LAN. But in case,
when you connect to remote unix server using any text-only connection, use of
services is almost impossible. And this is really a problem sometimes.
The
fbsvcmgr utility solves this problem. With it you may use any
service, implemented by firebird. To use this utility you should be familiar
with firebird services API -
fbsvcmgr does NOT emulate traditional
utilities' switches, it is just frontend to the services API.
The first required parameter of command line is services manager you want to
connect to. For local connection use simply
service_mgr, to attach to
remote machine something like
hostname:service_mgr is required. When
required, additional service parameter blocks (SPB), including any values,
follow. Any of them may (or may not) be prefixed with single
- (minus)
sign for clarity. For long command lines, typical for fbsvcmgr, use of '-'
makes command line better human-readable and has no other effects.
Compare:
fbsvcmgr service_mgr user sysdba password \
masterke action_db_stats \
dbname employee sts_hdr_pages
and
fbsvcmgr service_mgr -user sysdba -password \
masterke -action_db_stats -dbname \
employee -sts_hdr_pages
Syntax of service parameter blocks, as understood by
fbsvcmgr, almost
exactly matches the one you may see in
ibase.h include file or Borland
InterBase 6.0 API documentation. To save typing and make command line a bit
shorter, slightly abbreviated form is used. All SPB parameters have one of two
forms:
isc_spb_VALUE or
isc_VALUE1_svc_VALUE2. Accordingly in
the first case you should type simply
VALUE, and for the second -
VALUE1_VALUE2. For example:
present in ibase.h becomes
------------------------- -----------------
isc_spb_dbname dbname
isc_action_svc_backup action_backup
isc_spb_sec_username sec_username
isc_info_svc_get_env_lock info_get_env_lock
and so on. As an exception,
isc_spb_user_name may be specified as either
user_name or simply
user.
The full description of all SPB parameters can be found int the InterBase 6.0
beta documentation. It is some 40 pages long, so it is not duplicated here.
There are a couple of differences, though, which are described below. Another
reference is the
ibase.h file distributed by the Firebird project.
- multiple actions in single request
- Using fbsvcmgr you may perform single action (and get results of it's
execution when available) or get multiple information items from services
manager. For example:
fbsvcmgr service_mgr -user sysdba -password masterke -action_display_user
will list all users of local firebird server:
SYSDBA Sql Server Administrator 0 0
QA_USER1 0 0
QA_USER2 0 0
QA_USER3 0 0
QA_USER4 0 0
QA_USER5 0 0
GUEST 0 0
SHUT1 0 0
SHUT2 0 0
QATEST 0 0
And:
fbsvcmgr service_mgr -user sysdba -password masterke \
-info_server_version -info_implementation
will report both server version and it's implemenation:
Server version: LI-T2.1.0.15740 Firebird 2.1 Alpha 1
Server implementation: Firebird/linux AMD64
But attempt to mix all of this in single command line:
fbsvcmgr service_mgr -user sysdba -password masterke \
-action_display_user -info_server_version -info_implementation
raises an error:
Unknown switch "-info_server_version"
- Buggy documentation
- Some parameters have buggy form in Borland beta documentation. When in
trouble, consult ibase.h first for correct form.
isc_spb_rpr_list_limbo_trans was forgotten in Borland beta
documentation, but present in fbsvcmgr.
- No licensing stuff
- Everything concerning licensing was removed from interbase 6.0 and
therefore not supported here.
- No access to config file
- Config file view/modification is not supported in firebird since 1.5 and
therefore is not implemented here.
- Items added in firebird 2.1
- trusted_auth
- (Windows-only) Forces use of windows trusted authentication.
- dbname
- (Only for actions related to security). It is equivalent to the
-database switch of the gsec(1) utility. Note that in
gsec(1) this switch is mostly used to specify remote server you
want to administer. In fbsvcmgr the name of the server is already
given in services manager name (first parameter), therefore this parameter
in most cases is not needed.
- Items added in firebird 2.5
- bkp_no_triggers
- specify it to avoid executing database-wide triggers
AUTHOR¶
Alex Peshkov, "peshkoff at mail.ru"
This manual page was written by Damyan Ivanov dmn@debian.org for the Debian
project. Permission is granted to use this document, with or without
modifications, provided that this notice is retained. If we meet some day, and
you think this stuff is worth it, you can buy me a beer in return.