Provided by: firebird3.0-utils_3.0.2.32703.ds4-11ubuntu2_amd64 bug


       fbsvcmgr - access services API of Firebird


       fbsvcmgr service_mgr parameter...
       fbsvcmgr host:service_mgr parameter...


       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.


        fbsvcmgr service_mgr user sysdba password \
        masterke action_db_stats \
        dbname employee sts_hdr_pages


        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

           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


               fbsvcmgr service_mgr -user sysdba -password masterke \
               -info_server_version -info_implementation

           will report both server version and it's implementation:

               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
               (Windows-only) Forces use of windows trusted authentication.

               (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
               specify it to avoid executing database-wide triggers


       Alex Peshkov, "peshkoff at"

       This manual page was written by Damyan Ivanov 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.