Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри
Шрифт:
Интервал:
Закладка:
Firebird поставляется с набором инструментов командной строки для сервера и администрирования баз данных. Обычно они работают одинаково в Linux/UNIX и в командной строке MS-DOS. Помните, что в Linux/UNIX команды, параметры и переключатели являются чувствительными к регистру. В Windows - нет.
Интерактивный инструмент запросов isql упомянут в этой главе и полностью документируется в главе 37. Другие инструменты командной строки описываются в следующих разделах.
fbmgr/ibmgr
fbmgr/ibmgr является командой и интерфейсом командной строки для демона Суперсервера в Linux для запуска и останова Суперсервера Firebird в Linux. Скрипт командной строки fbmgr (ibmgr в версии 1.0.x) предоставляет интерфейс для выполняемого модуля сервера fbmgr.bin (ibmgr.bin в версии 1.0.x). Детальное описание представлено в этой главе.
instsvc.exe
Это интерфейс командной строки сервиса Суперсервера на платформах Windows NT для инсталляции, запуска и останова Суперсервера Firebird в Windows. Детальное описание представлено в этой главе.
gbak
Эта утилита предназначена для резервного копирования и восстановления баз данных. Поскольку она работает на уровне структур и форматов данных, gbak является единственной корректной утилитой для копирования. Она также обнаруживает разрушения базы данных, освобождает дисковое пространство, появившееся в результате удалений, разрешает незавершенные транзакции, позволяет разделять базы данных на несколько файлов. Она также используется для создания переносимой копии с целью восстановления вашей базы данных на другой аппаратной платформе или для обновления ODS (On-Disk Structure) вашей базы данных.
! ! !
ВНИМАНИЕ! Никогда не используйте утилиты копирования файлов типа tar/gzip, WinZip, Microsoft Backup, средства копирования файловой системы или утилиты сторонних разработчиков для копирования и переноса баз данных, если сервер работает или у вас нет твердой уверенности, что база данных не повреждена. Базы данных, которые переносятся как копии файлов, будут содержать неубранный мусор.
. ! .
Подробности использования gbak см. в главе 38.
gsec
Этот инструмент поддержки списка пользователей и их паролей является интерфейсом командной строки для базы данных security.fdb; он управляет записями пользователей на сервере Firebird. Подробности использования gsec см. в главе 34.
gfix
Это набор общих вспомогательных утилит для изменения свойств баз данных, устранения небольших повреждений базы данных, выполнения различных задач чистки и т.д. Утилита также предоставляет средство администратора для отключения конкретных баз данных до завершения работы сервера. Она может быть использована вместе с утилитой gbak для восстановления некоторых типов нарушений в базе данных (см. разд. "Ремонт базы данных" приложения 4).
Подробности использования gfix см. в главе 39.
gstat
Этот инструмент получения статистики собирает и отображает статистические сведения по индексам и данным базы данных. Подробную информацию об использовании gstat см. в разд. "Темы оптимизации" главы 18.
fb_lock_printЭта утилита формирует статистические данные файла блокировок, который поддерживается в Firebird для управления последовательностью изменений базы данных несколькими транзакциями. Она может быть полезным инструментом анализа проблем взаимной блокировки.
Подробности использования fb_lock_print см. в главе 40.
Введение в isql
Утилита командной строки isql (Interactive SQL) объединяет инструменты и техники использования SQL для поддержки объектов базы данных, управления транзакциями, отображения метаданных и обработки скриптов определения базы данных. Интерфейс командной строки доступен на всех платформах. Настоящее краткое введение даст вам возможность начать работу по подключению к базе данных и созданию вашей первой базы данных.
Запуск isql
Есть несколько различных способов соединения с базой данных при использовании isql. Один способ- стартовать утилиту из командной строки в интерактивном режиме. Для начала в окне командной строки перейдите к каталогу /bin корневого каталога инсталляции Firebird, где инсталлирована программа isql, и запустите isql следующим образом.
Для сервера POSIX:
[[email protected]]# ./isql <нажмите Return/Enter> Для сервера Windows:
C:Program FilesFirebirdFirebird_1_5bin>isql <нажмите Return/Entei>
Утилита выведет следующее сообщение:
Use CONNECT or CREATE DATABASE to specify a database (Используйте CONNECT или CREATE DATABASE для указания базы данных)
Использование isql
Соединившись с базой данных, вы можете выполнять запросы к ее данным и метаданным, используя обычные операторы динамического SQL, а также специальное подмножество операторов, которые работают только в окружении isql.
Оператор CONNECT
Оператор CONNECT является стандартным оператором SQL для соединения с базой данных. Здесь предполагается, что вы пока не изменили пароль у пользователя SYSDBA. Если вы это уже сделали (что рекомендуется), то используйте ваш пароль пользователя SYSDBA.
Каждый из операторов командной строки в следующих примерах является одним оператором.
Для соединения с сервером Linux/UNIX введите:
SQL> CONNECT 'hotchicken:/opt/firebird/examples/employee.fdb' user 'sysdba' password 'masterkey';
Для соединения с сервером Windows:
SQL> CONNECT
'WINSERVER:С:Program FilesFirebirdFirebird_1_5examplesemployee.fdb'
user 'SYSDBA' password 'masterkey';
! ! !
ПРИМЕЧАНИЕ. В Классическом сервере под Linux и в Суперсервере под Windows существует возможность соединения с базой данных локально, например:
CONNECT '/opt/firebird/examples/employee.fdb' - Linux Классический сервер.
CONNECT 'c:Program FilesFirebirdFirebird_1_5examplesemployee.fdb' - Windows Суперсервер.
. ! .
Убедитесь, что вы заканчиваете каждый оператор SQL символом точка с запятой (;). Если вы забудете это сделать, то увидите следующее в подсказке продолжения утилиты isql:
CON>
Когда вы увидите подсказку продолжения, просто введите точку с запятой и нажмите клавишу <Enter/Return>. В этот момент isql проинформирует вас, что вы соединены:
DATABASE 'hotchicken:/opt/firebird/examples/employee.fdb', User: sysdba SQL>
Если сервер работает под Windows, вы увидите следующее:
DATABASE "WINSERVER:С:Program FilesFirebirdFirebird_1_5examplesemployee.fdb",
User: sysdba
SQL>
Продолжим играть с базой данных employee.fdb. Вы можете использовать isql для запроса данных, получения информации о метаданных, создания объектов базы данных, выполнения скриптов определения данных и многого другого.
Чтобы вернуться к подсказке командной строки, введите
SQL> QUIT;
Создание базы данных с использованием isql
Существует более одного способа создания базы данных с использованием isql. Здесь приведен один простой способ интерактивного создания базы данных - тем не менее для работы с серьезной базой данных вы должны создавать и поддерживать объекты метаданных, используя скрипты определения данных (они также называются скриптами DDL, скриптами SQL, скриптами метаданных и скриптами схемы). Эта тема детально рассматривается в разд. "Скрипты схемы"главы 14.
Если сейчас вы соединены с базой данных через утилиту isql, отсоединитесь с помощью следующей команды:
SQL> QUIT;
Затем заново стартуйте утилиту без соединения с базой данных. Для сервера Linux:
[[email protected]]# ./isql
Use CONNECT or CREATE DATABASE to specify a database
Для сервера Windows:
С:Program FilesFirebirdFirebird_1_5bin>isql Use CONNECT or CREATE DATABASE to specify a database
Оператор CREATE DATABASE
Теперь вы можете создать вашу новую базу данных интерактивно. Предположим, что вы хотите создать базу данных test.fdb на сервере Windows и сохранить ее в каталоге data на диске D:
SQL> CREATE DATABASE 'D:datatest.fdb' user 'SYSDBA' password 'masterkey';
База данных будет создана, и через некоторое время снова появится подсказка. Теперь вы соединены с новой базой данных и можете продолжать создавать в ней тестовые объекты.
Для проверки того, что база данных действительно существует, введите запрос:
SQL> SELECT * FROM RDB$RELATIONS; <нажмите Enter>
Экран будет заполнен большим количеством данных! Этот запрос выбирает все строки из системной таблицы, в которой Firebird сохраняет метаданные для таблиц. "Пустая" база данных не является пустой - она содержит базу данных, которая будет заполняться метаданными, как только вы начнете в ней создавать объекты.
! ! !
СОВЕТ. Почти все объекты метаданных в базах данных Firebird имеют идентификаторы, начинающиеся с символов "RDB$".
. ! .
Чтобы вернуться назад в подсказку командной строки, введите:
SQL> QUIT;
Полную информации по использованию isql см. в главе 57.
Пора дальшеЧасть II рассказывает об архитектуре клиент-сервер. В главе 5 рассматривается терминология и различные модели реализации сетей клиент-сервер. В главах 6 и 7 более подробно рассматриваются серверы и клиенты Firebird соответственно.
ЧАСТЬ II. Клиент-сервер.
ГЛАВА 5. Введение в архитектуру клиент-сервер.
Обычно система клиент-сервер является парой программных модулей, разработанных для связи друг с другом через сеть посредством согласованного протокола. Клиентский модуль отправляет запросы через сеть слушающей программе сервера, а сервер отвечает на запросы.