SYBASE8 (Задания по бд), страница 3

2015-08-16СтудИзба

Описание файла

Файл "SYBASE8" внутри архива находится в папке "documentation к лаб.раб. и курсу БД". Документ из архива "Задания по бд", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "SYBASE8"

Текст 3 страницы из документа "SYBASE8"

Опция side позволяет определить, какое имя диска-копии заблокировать: primary - в колонке name таблицы sysdevices; secondary - в колонке mirrorname (по умолчанию - secondary).

Опция mode показывает: отмена копирования - процесс временный (retain) или постоянный (remove). По умолчанию - retain.

Для рестарта процесса копирования необходимо использовать команду:

disk remirror

name="<имя диска>"

С помощью команды waitfor mirrorexit можно в приложение включить команды, которые нужно выполнить во время сбоя диска-копии:

begin

waitfor mirrorexit

<выполняемые команды>

end

Для копирования диска Master необходимо в runserver-файл внести команду dataserver.

В системе UNIX добавляется - r флаг и имя диска-копии:

dataserver -d/dev/rsdlf -r/dev/rs0e -e/sybase/install/errorlog

В системе VMS добавляется имя диска-копии:

dataserver /device=(DUA0:[dbdevices] master.dat, -

DUB1:[dbmirrors] mirror.dat) -

/errorfile=sybase_system:[sybase.install] errorlog

Создание пользовательских БД

Пользовательские БД создаются с помощью команды create database. Все БД создаются с помощью БД master. Для того, чтобы создать БД, пользователь должен иметь доступ к БД master (добавляется с помощью процедуры sp_adduser) и должен иметь привилегию на использование команды create database.

По команде create database чистится каждая страница на диске БД. Это может занимать по времени от нескольких секунд до нескольких минут, так как это зависит от размера БД и от быстродействия вашей системы. Если вы создаете БД для того, чтобы восстановить ее с дампа, вы можете использовать опцию в команде create database, которая пропускает чистку страниц (шаг чистки страниц будет выполнен после завершения восстановления).

Синтаксис команды:

create database <имя БД>

[on {default | <диск БД>}[=<размер>]

[,<диск БД>[=<размер>]]...]

[log on <диск БД> [=<размер>]

[,<диск БД> [=<размер>]]...]

[with override]

[for load]

Самая простая форма команды create database создает БД на дисках по умолчанию, доступных на вашем сервере, например:

create database newpubs

Структура on позволяет определить название одного или более дисков БД и размер области памяти для каждого диска в Мб. Все диски БД, перечисленные в команде create database, должны значиться в таблице sysdevices, т.е. должны были проинициализированы с помощью команды disk init. Если вы используете ключевое слово default, то БД будет храниться на одном или нескольких дисках БД по умолчанию.

Пример 1: создать БД размером 4 Мб на диске по умолчанию.

create database newpubs

on default=4

Пример 2: создать БД размером 5 Мб на двух дисках (3 Мб и 2 Мб) и журнал транзакций на третьем диске размером 2 Мб.

create database newdb

on medata=3, newdata=2

log on tranlog=2

По команде create database SQL-сервер выполняет следующие шаги:

1) проверяет на уникальность имя БД;

2) проверяет доступность указанного в команде диска БД;

3) находит неиспользованный идентификационный номер для новой БД;

4) назначает память для БД на определенных дисках БД и обновляет таблицу master.. sysusages для отображения этого назначения;

5) вставляет запись в таблицу sysdatabases;

6) делает копию БД model в области памяти новой БД, т.е. в новой БД создаются системные таблицы;

7) чистит оставшиеся страницы в БД (create database... for load пропускает этот шаг).

Таким образом, новая БД изначально содержит множество системных таблиц с элементами, которые описывают эти системные таблицы. Новая БД наследует все ваши изменения в БД model, например:

1) добавление имен пользователей;

2) добавление объектов;

3) наборы опций БД. Первоначально, в БД model опции выключены. Если вы хотите, чтобы все БД вашего нового пользователя получили в наследство определенные опции, вы можете изменить опции в БД model с помощью системной процедуры sp_dboption.

Предоставить полномочие на использование команды create database может только системный администратор. Во многих инсталляциях системные администраторы получают монополию на использование create database для того, чтобы централизовано контролировать месторасположение БД и доступ к дискам БД.

В таких случаях системные администраторы создают новые БД для других пользователей, передавая им право владения (1 способ).

Для того, чтобы создать БД и отдать во владение другому пользователю, системный администратор:

1) запускает команду create database;

2) подключается к новой БД с помощью команды use;

3) запускает системную процедуру sp_changedbowner.

Другой способ: Системный администратор предоставляет полномочие на создание БД.

То, что системный администратор может оперировать внешней защитой системных серверов, является надежной предосторожностью.

Если в команде create database не использовалась структура log on, то определить диск для журнала можно с помощью системной процедуры sp_logdevice:

sp_logdevice <имя БД>, <имя диска>

Диск БД, который указывается во втором параметре, должен быть проициализирован с помощью disk init и должен быть доступен БД с помощью команды create или alter database.

Для смены владельца БД системный администратор запускает системную процедуру sp_chandedbowner:

sp_changedbowner <loginame> [, true]

Например: sp_chandebowner APB

Новый владелец должен уже иметь входное имя на SQL-сервере.

Увеличение размера БД

Если необходимо расширить область памяти для БД, то надо использовать команду alter database. Полномочием на использование этой команды обладает владелец БД. Синтаксис команды:

alter database <имя БД>

[on {default | <имя диска БД>}[=<размер>]

[,<имя диска БД>[=<размер>]]...]

[log on {default | <имя диска БД>}[=<размер>]

[,<имя диска БД>[=<размер>]]...]

[with override]

[for load]

Пример: увеличить объем памяти для БД newpubs на 5 Мб для данных, используя 2 диска (2 и 3 Мб), и на 1 Мб для журнала.

alter database newpubs

on pubsdata1 = 2, pubsdata2 = 3

log on tranlog1 = 1

Замечание: Каждый раз, когда используется команда alter database, необходимо дампировать БД master.

Команда уничтожения БД

drop database <имя БД> [,<имя БД>]...

По этой команде освобождается область памяти, занимаемая этой (этими) БД и уничтожаются ссылки на нее в системных таблицах БД master.

Пример: drop database MPEI_teach

Создание и использование сегментов

Сегментами называются подмножества дисков БД, доступных определенной БД SQL-сервера. Имя сегмента - это метка, которая описывает один или более дисков БД. Имена сегментов используются в командах create table и create index для размещения таблиц или индексов на определенных дисках БД. Использование сегментов увеличивает эффективность SQL-сервера и дает возможность системному администратору или владельцу БД более широкого контроля за месторасположением, размером и использованием памяти определенных объектов БД.

Например:

1) Если таблица расположена на одном диске, а ее негрупповые индексы на другом, то время, требуемое для чтения/записи на диске, уменьшается, так как уменьшаются перемещения головок на дисках;

2) Если большую таблицу разместить на двух дисках, то можно улучшить время ее чтения/записи;

3) SQL-сервер хранит данные типа text и image в отдельной последовательности страниц данных. По умолчанию эта последовательность страниц расположена в том же сегменте, что и сама таблица. Так как чтение поля типа text требует одну операцию чтения в базовой таблице и одну операцию чтения текстовой страницы в последовательности страниц, то расположение последовательности страниц на отдельном физическом диске может улучшить это чтение;

4) Если таблицы и индексы расположены в определенных сегментах, то их размер не может превысить объем памяти на дисках, выделенного под эти сегменты, и другие объекты БД не могут претендовать на эту память. Но, когда нужно, сегменты могут быть расширены с помощью включения дополнительных дисков;

5) Возможно использование порогового значения, пересылаемого вам в том случае, когда памяти в определенном сегменте БД становится меньше, чем это значение.

Каждая БД SQL-сервера может содержать до 32 сегментов.

При первом создании БД SQL-сервер создает 3 сегмента в БД:

1) сегмент system - для хранения системных таблиц;

2) сегмент logsegment - для хранения журнала;

3) сегмент default - для хранения всех остальных объектов БД.

Для использования сегментов SQL-сервер предоставляет следующие команды и процедуры:

1) sp_addsegment - определение сегмента в БД;

2) create table и create index - создание объектов БД в сегментах;

3) sp_dropsegment - удаление сегмента из БД;

4) sp_extendsegment - добавление дополнительных дисков к существующему сегменту;

5) sp_placeobject - назначение будущих выделений памяти для таблицы или индекса в определенном сегменте;

6) sp_helpsegment - выдача информации о распределении сегментов для БД или данных в определенном сегменте;

7) sp_helpdb - выдача информации о сегментах на каждом диске БД.

Создание сегментов

1 шаг: Инициализация физического диска с помощью команды disk init;

2 шаг: Сделать диск БД доступным для БД, используя структуру on в командах create database или alter database;

3 шаг: Определение сегмента БД с помощью системной процедуры sp_addsegment следующим образом:

sp_addsegment <имя сегмента>, <имя БД>, <имя диска БД>

Например: создание сегмента seg_mydisk1 в БД mydata на диске БД mydisk1:

sp_addsegment seg_mydisk1, mydata, mydisk1

Расширение сегментов

Для того, чтобы включить дополнительный диск в уже существующий сегмент уже существующей БД, необходимо использовать процедуру sp_extendsegment:

sp_extendsegment <имя сегмента>, <имя БД>, <имя диска БД>

Например: добавить диск БД pubs_dev2 к существующему сегменту bigseg

sp_extendsegment bigseg, pubs2, pubs_dev 2

Другой пример: увеличить размер сегмента по умолчанию в вашей БД

sp_extendsegment "default", mydata, newdevice

Размещение объектов в сегменте

Осуществляется с помощью процедуры sp_placeobject:

sp_placeobject <имя сегмента>, <имя объекта>

Например: размещение таблицы mytab в сегменте bigseg

sp_placeobject bigseg, mytab

Уничтожение сегментов

Осуществляется с помощью процедуры sp_dropsegment:

sp_dropsegment <имя сегмента>, <имя БД>

По этой команде уничтожается сегмент из указанной БД. Нельзя уничтожить сегмент, содержащий объекты БД. Либо нужно перенести объекты в другой сегмент, либо уничтожить эти объекты, и только потом уничтожить сегмент.

Используя эту процедуру, можно уничтожить диск БД в определенном сегменте:

sp_dropsegment <имя сегмента>, <имя БД>, <имя диска БД>

Например: уничтожить диск БД pubs_dev2 из сегмента bigseg -

sp_dropsegment bigseg, pubs2, pubs_dev2

Управление входными именами в SQL-сервере и пользователями БД

Процесс добавления новых входных имен в SQL-сервере, добавления пользователей БД и предоставление им полномочий на использование команд и объектов БД распределяется между управляющим системной защитой, системным администратором и владельцем БД.

Этот процесс состоит из следующих шагов:

1) управляющий системной защитой создает входное имя для нового пользователя с помощью процедуры sp_addlogin;

2) системный администратор или владелец БД добавляет пользователя к БД с помощью процедуры sp_adduser; с помощью этой же процедуры можно пользователю дать псевдоним или назначить пользователю группу; группы добавляются с помощью процедуры sp_addgroup;

3) системный администратор, владелец БД или владелец объектов БД предоставляет пользователю или группе определенные привилегии на определенные команды и объекты БД; пользователи или группы, в свою очередь, имеют полномочие предоставлять полномочия на использование объектов другим пользователям или группам.

Добавление входных имен в SQL-сервер

Синтаксис команды:

sp_addlogin <входное имя>, <пароль> [, <имя БД по умолч.>]

[,<язык поль-ля по умолч.> [,<полное имя >]]

<входное имя> и <пароль> - обязательные параметры.

<пароль> можно изменить, используя процедуру sp_password.

<имя БД по умолчанию> дает возможность пользователю работать с этой БД после входа в SQL-сервер без указания команды use. Системный администратор может изменить имя этой БД с помощью процедуры sp_modifylogin. При запуске процедуры sp_adduser необходимо указать это же имя БД.

Если не указывается параметр <имя БД по умолч.>, то БД по умолчанию для пользователя является БД master.

<Язык пользователя по умолчанию> - это язык, на котором выдаются все приглашения и сообщения для пользователя. Если этот параметр опускается, то используется язык SQL-сервера. Системный администратор также может изменить этот язык с помощью процедуры sp_modifylogin.

<полное имя> - это полное имя пользователя.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5258
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее