ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.04.2021

Просмотров: 1846

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

!

6

Пр

акт

ич

еск

ое

зан

ят
ие

1

Об

щи

е

во

пр

ос

ы

уст

ано

вк

и

и

ад

ми

ни

стр

ир

ова

ни

я

СУ

БД

ЛИ

НТ

ЕР

!

!

 
 

E-

mail

mar

ket

@re

lex.r

u

ЗАО

1.2. 

Создание

базы

данных

Для

создания

базы

данных

используется

утилита

 gendb. 

Примечание

Далее

будем

предполагать

что

создавать

базу

требуется

в

директории

 /home/linter.

Пусть

требуется

создать

базу

данных

с

именем

 TEST 

в

каталоге

 /home/linter/db01, 

и

назначить

администратора

с

именем

 DBA 

и

паролем

 ABC123. 

Для

этого

1.

Создадим

каталог

db01

в

каталоге

/home/linter

2.

Установим

значение

переменной

 SY00: 

set SY00=/home/linter/db01

3.

Запустим

утилиту

gendb

4.

Выполним

команду

создания

базы

данных

:  

create database "TST" username "DBA" password "ABC123"; 

5.

Завершим

работу

команды

gendb 

командой

exit

База

данных

готова

к

работе

Более

подробную

информацию

о

ключах

запуска

и

командах

утилиты

  gendb 

можно

получить

в

разделе

документации

  «

Генерация

системной

базы

данных

и

настройка

ядра

». 

1.3. 

Запуск

ядра

Для

запуска

ядра

в

простейшем

случае

необходимо

выполнить

команду

linter

 (

для

ОС

  Windows  NT 

и

выше

  –  linternt.exe

). 

Параметры

функционирования

ядра

как

то

местоположение

базы

данных

длина

очереди

запросов

длина

очереди

сортировок

имя

лог

-

файла

и

прочие

задаются

в

командной

строке

.  

Рассмотрим

практические

задания

для

ОС

семейства

  Unix. 

Для

ОС

  Windows 

действия

выполняются

аналогично

Примечание

Студенты

выполняют

запуск

двух

ядер

.

Пусть

требуется

запустить

на

одной

машине

два

ядра

Для

этого

создадим

вторую

базу

данных

1.

Создадим

каталог

db02

в

катилоге

/home/linter

2.

Установим

значение

переменной

 SY00: 

set SY00=/home/linter/db02

3.

Запустим

утилиту

gendb

4.

Выполним

команду

создания

базы

данных

:  

create database "TST2"; 

5.

Завершим

работу

команды

gendb 

командой

exit

По

умолчанию

имя

АБД

будет

 SYSTEM 

и

его

пароль

 MANAGER. 

1.

Установим

значение

параметра

 MBX: 

export LINTER_MBX=1 

2.

Запустим

ядро

на

первой

базе

linter /base=/home/linter/db01 /local 

3.

Установим

значение

параметра

 MBX: 


background image

!

!

Пр

акт

ич

еск

ое

зан

ят
ие

1

Об

щи

е

во

пр

ос

ы

уст

ано

вк

и

и

ад

ми

ни

стр

ир

ова

ни

я

СУ

БД

ЛИ

НТ

ЕР

!

7

 
 

E-

mail

mar

ket

@re

lex.r

u

ЗАО

export LINTER_MBX=2 

4.

Запустим

ядро

на

второй

базе

linter /base=/home/linter/db02 /local 

Для

получения

более

подробной

информации

о

ключах

запуска

ядра

можно

получить

в

разделе

документации

 «

Запуск

и

останов

СУБД

». 

1.4. 

Выполнение

 SQL-

запросов

Для

выполнения

 SQL-

запросов

предназначена

утилита

 inl. 

Примечание

Студенты

работают

с

 inl.

Попробуем

соединиться

с

БД

и

выбрать

список

всех

объектов

хранящихся

в

системной

таблице

 $$$SYSRL: 

1.

Запускаем

утилиту

 inl. 

2.

Соединяемся

с

 SQL-

сервером

 (

ядром

) – 

вводим

имя

пользователя

и

пароль

Примечание

При

соединении

с

локальным

ядром

  (

когда

узел

не

указывается

), 

а

на

данной

машине

запущено

два

ядра

соединение

происходит

с

ядром

,  MBX 

которого

совпадает

с

 MBX 

клиентского

приложения

.

3.

Подаем

на

выполнение

следующий

запрос

inl> select $$$S13 from $$$SYSRL; 

При

этом

появится

результат

выборки

4.

Создадим

таблицу

 T11 

с

целочисленным

и

символьным

полем

inl> create table T11 (I int, S char(20)); 

5.

Вставим

в

нее

данные

inl> insert into T11 values (1, ‘first’); 
inl> insert into T11 values (2, ‘second’); 

6.

Проверим

содержимое

таблицы

inl> select * from T11; 

При

этом

появится

результат

выборки

1.5. 

Останов

ядра

Для

штатного

останова

ядра

необходимо

выполнить

команду

shut

и

передать

ей

в

командной

строке

имя

пользователя

с

правами

системного

администратора

его

пароль

и

имя

узла

на

котором

запущено

ядро

.  

Завершим

работу

двух

ядер

которые

были

запущены

в

предыдущем

примере

1.

Ядро

которое

было

запущено

вторым

остановим

в

первую

очередь

поскольку

переменная

 LINTER_MBX=2: 

shut –u SYSTEM/MANAGER 

2.

Установим

переменную

 LINTER_MBX 

в

 1. 

3.

Завершим

работу

первого

ядра

shut –u DBA/ABC123 


background image

!

8

Пр

акт

ич

еск

ое

зан

ят
ие

1

Об

щи

е

во

пр

ос

ы

уст

ано

вк

и

и

ад

ми

ни

стр

ир

ова

ни

я

СУ

БД

ЛИ

НТ

ЕР

!

!

 
 

E-

mail

mar

ket

@re

lex.r

u

ЗАО

1.6. 

Настройка

параметров

ядра

Настроим

размеры

очередей

базы

данных

При

остановленном

ядре

, c

конфигурируем

базу

для

работы

с

большим

количеством

запросов

на

вставку

предполагая

что

база

находится

в

каталоге

  db02 

относительно

текущего

в

базе

 4000 

таблиц

и

около

 9000 

столбцов

export SY00= /home/linter/db01 

(

устанавливаем

 SY00)

gendb 

(

запускаем

 gendb)

gendb> set TRUETYPECOMMIT OFF; 

(

сбрасывем

полный

 COMMIT)

gendb> set TABLES 5000; 

(

очередь

таблиц

с

запасом

)

gendb> set COLUMNS 10000; 

(

очередь

столбцов

с

запасом

)

gendb> set FILES 1000; 

(

очередь

столбцов

с

запасом

)

gendb> exit; 

linter /pool=3000 /spool=300 

(

при

запуске

ядра

делаем

побольше

пул

ядра

)

Запустим

ядро

СУБД

с

увеличенным

размером

памяти

Пример

: linter /base= /home/linter/db01 /pool=3000 /

spool=600 

Полное

описание

ключей

запуска

ядра

СУБД

ЛИНТЕР

находится

в

разделе

 «

Запуск

и

останов

СУБД

» 

пользовательской

документации

1.7. 

Настройка

сетевого

обмена

между

клиентами

и

сервером

Для

организации

обмена

клиент

-

сервер

на

стороне

сервера

 (

машины

где

находится

база

данных

и

запущенное

ядро

запускается

сетевой

сервер

  (

утилита

  dbs), 

а

на

стороне

клиента

 (

машины

с

клиентским

программным

обеспечением

сетевой

клиент

 (

утилита

 dbc). 

Примечания

В

ОС

 Windows 

утилиты

имеют

имена

 dbs_wnt.exe 

и

 dbc_wnt.exe 

соответственно

.

В

 UNIX-

подобных

ОС

утилиты

имеют

имена

 dbs_tcp 

и

 dbc_tcp 

соответственно

.

Выполним

настройку

работы

с

двумя

базами

на

одной

машине

Для

этого

1.

Запустим

два

ядра

как

было

указано

в

пункте

 «

Запуск

ядра

»; 

2.

Запустим

сетевой

сервер

для

первого

ядра

командой

dbs_tcp -P 1060 -M 1 

3.

Запустим

сетевой

сервер

для

второго

ядра

командой

dbs_tcp -P 1061 -M 2 

4.

Отредактируем

файл

 nodetab, 

добавив

в

него

строки

DB001    LOCAL   1 

DB002    LOCAL   2 

Здесь

 LOCAL 

указывает

то

что

сервер

находится

на

той

же

машине

что

и

клиент

а

номер

 1 

или

 2 

указывает

номер

 MBX. 

5.

Запустим

сетевой

клиент

dbc_tcp 


background image

!

!

Пр

акт

ич

еск

ое

зан

ят
ие

1

Об

щи

е

во

пр

ос

ы

уст

ано

вк

и

и

ад

ми

ни

стр

ир

ова

ни

я

СУ

БД

ЛИ

НТ

ЕР

!

9

 
 

E-

mail

mar

ket

@re

lex.r

u

ЗАО

Теперь

утилиты

запускаемые

на

локальной

машине

могут

использовать

узлы

DB001 

и

  DB002, 

и

работать

с

базами

из

каталогов

  /home/linter/db01 

и

  /home/linter/db02 

соответственно

6.

Запустим

утилиту

 inl 

и

сделаем

соединение

с

первой

базой

inl –u DBA/ABC123 –n DB001 

7.

Запустим

утилиту

 inl 

и

сделаем

соединение

со

второй

базой

inl –u SYSTEM/MANAGER –n DB002 

Работа

с

сервером

в

локальной

сети

полностью

аналогична

рассмотренной

ситуации

Для

этого

следует

завести

в

файле

 nodetab 

описание

удаленного

сервера

базы

данных

и

перезапустить

сетевой

клиент

Если

имя

машины

сервера

допустим

, dbsrv, 

сеть

поддерживает

обмен

по

протоколу

TCP/IP, 

адрес

сервера

 12.123.122.33, 

и

мы

хотим

соединиться

со

второй

базой

 (

для

которой

сетевой

сервер

запущен

с

портом

  1061) 

то

запись

в

файле

  nodetab 

на

клиенте

будет

выглядеть

следующим

образом

dbserv   TCPIP   12.122.123.33      1061     1    20   0 

Теперь

на

машине

клиента

запускается

сетевой

клиент

и

клиентские

приложения

могут

обращаться

к

базе

данных

с

сервера

например

так

inl –u SYSTEM/MANAGER –n dbserv 

1.8. 

Создание

резервных

копий

базы

данных

Для

создания

резервной

копии

базы

используется

утилита

  lhb, 

которая

позволяет

создавать

резервные

копии

без

остановки

ядра

Пусть

требуется

создать

полный

архив

базы

данных

Предположим

что

запущено

ядро

на

базе

из

  /home/linter/db01, 

и

архив

следует

сохранить

в

файле

  /home/linter/

db01_full.lhb. 

Тогда

команда

на

сохранение

базы

будет

такой

lhb s –u DBA/ABC123 –f  /home/linter/db01_full.lhb 

Пусть

требуется

создать

архив

  /home/linter/db01_sprav.lhb, 

в

котором

будут

находиться

только

таблицы

пользователя

 DBA: 

lhb s –u DBA/ABC123 –f  /home/linter/db01_dba.lhb –only DBA 

Пусть

требуется

создать

архив

 /home/linter/db01_doc.lhb, 

в

котором

будут

находиться

только

таблицы

и

представления

с

префиксом

 T: 

lhb s –u DBA/ABC123 –f  /home/linter/db01_t.lhb –ot T* -ov T* 

Предположим

что

был

сбой

и

база

в

каталоге

  /home/linter/db01 

сильно

испорчена

Чтобы

не

тратить

время

на

тестирование

и

исправление

ошибок

в

базе

а

также

последующее

тестирование

всех

функций

клиентских

приложений

разворачиваем

из

архива

 db01_full.lhb 

базу

в

каталог

 /home/linter/db01_temp. 

lhb r –f  /home/linter/db01_full.lhb –p /home/linter/db01_temp 

Предположим

что

были

испорчены

часть

таблиц

пользователя

  DBA. 

Восстановим

все

таблицы

этого

пользователя

lhb r –u DBA/ABC123 –f  /home/linter/db01_dba.lhb –only DBA 

1.9. 

Тестирование

базы

данных

Если

был

сбой

питания

сервера

или

жесткий

диск

с

базой

начал

выходить

из

строя

или

стали

некорректно

функционировать

клиентские

утилиты

то

необходимо

протестировать

базу

данных

Для

этого

1.

Завершаем

работу

ядра


background image

!

10

Пр

акт

ич

еск

ое

зан

ят
ие

1

Об

щи

е

во

пр

ос

ы

уст

ано

вк

и

и

ад

ми

ни

стр

ир

ова

ни

я

СУ

БД

ЛИ

НТ

ЕР

!

!

 
 

E-

mail

mar

ket

@re

lex.r

u

ЗАО

Примечание

Сэмулируем

сбой

данных

в

файл

  3.01 

на

место

какого

-

нибудь

из

символов

 0xFF 

запишем

например

пробел

 (0x20). 

2.

Запускаем

полное

тестирование

базы

данных

testdb /home/linter/db01 –p 1000 

Утилита

выведет

полный

список

ошибок

и

предложение

об

исправлении

этих

ошибок

3.

Запускаем

тестирование

базы

данных

с

исправлением

найденных

ошибок

testdb /home/linter/db01 –p 1000 -r 

Ошибки

базы

данных

если

это

возможно

будут

исправлены

.