Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
11.02.2015
Размер:
135 Кб
Скачать
☆

Операторы задания прав доступа в базе данных.

Выдавать и забирать права доступа к таблице может владелец таб-

лицы, Администратор Базы Данных (имеющий DBA права), а так же

пользователь, которому было выдано право выдавать права (Опера-

тором GRANT WITH GRANT OPTIONS)

---------------------------------------------------------------

REVOKE ALL ON customer FROM PUBLIC

GRANT ALL ON customer TO iwanow, petrow WITH GRANT OPTION

GRANT UPDATE(fname,lname,company, sity),SELECT

ON customer TO PUBLIC

REVOKE CONNECT FROM sidorowa, root

REVOKE DBA FROM ivanov

---------------------------------------------------------------

Отобрать у вас права DBA (если вы, конечно, им являетесь) может

только другой DBA.

На время транзакции все измененные строки автоматически блоки-

руются системой от изменения (но не от просмотра). Вы можете

явно локировать всю таблицу целиком, тогда система не будет

блокировать строки по отдельности. Вы можете блокировать табли-

цу целиком не только от изменения но и от просмотра.

---------------------------------------------------------------

BEGIN WORK

LOCK TABLE kadry

. . .

UNLOCK TABLE kadry

. . .

LOCK TABLE kadry EXCLUSIVE

---------------------------------------------------------------

Если ваш оператор пытается записать в блокированную другим

пользователем строку, то оператор "сваливается". Вы можете ус-

тановить для своей программы режим "Ждать разблокирования

строк".

---------------------------------------------------------------

SET LOCK MODE TO WAIT

---------------------------------------------------------------

Операторы транзакций и восстановления данных.

В базе данных, не имеющей системного журнала невозможно выпол-

нение транзакций и восстановления до текущей контрольной точки.

Поскольку за все хорошее приходится платить, наличие системного

журнала у базы данных вызывает заметный рост накладных расходов

и замедление работы запросов. К тому же при активной работе

с базой системный журнал быстро "распухает". За ним нужно сле-

дить и периодически чистить.

Указать базе новый системный журнал.

---------------------------------------------------------------

START DATABASE zawod WITH LOG IN "/ARM/log/zawod"

---------------------------------------------------------------

Восстанавливают разрушенную (например из-за сбоя оборудования)

базу данных так:

---------------------------------------------------------------

В среде UNIX

1. Уничтожают остатки базы.

2. Заливают вместо них копию базы с ленты (например, недельной

давности) используя команду cpio или утилиту INFORMIX dbimport.

3. Входят в среду INFORMIX и выполняют операторы:

DATABASE kadry EXCLUSIVE # чтобы никто не лез

ROLLFORWARD DATABASE kadry # прогнать базу вперед

# по системному журналу

CLOSE DATABASE # теперь всем можно работать

---------------------------------------------------------------

Транзакция

---------------------------------------------------------------

BEGIN WORK # начать транзакцию

. . . # операторы

IF все нормально THEN COMMIT WORK

ELSE ROLLBACK WORK

END IF

---------------------------------------------------------------

Если во время транзакции программа "свалилась" то INFORMIX ав-

томатически сделает откатку.

Соседние файлы в папке Темы