Лабораторная работа №3
1. Создание табличных пространств.
а) Создать табличное пространство №1, со следующими свойствами:
Бригады | Вариант |
1,2,3,10,13 | Один файл данных, размером 20 мегабайт, авторасширяемый. Выделение экстентов одинакового размера по 48 килобайт. Автоматическое управление пространством в сегментах. |
4,5,6,11,14 | Два файла данных, размером 30 мегабайт, неавторасширяемые. Выделение экстентов одинакового размера по 96 килобайт. Автоматическое управление пространством в сегментах. |
7,8,9,12 | Один файл данных, размером 10 мегабайт, авторасширяемый, максимальный размер – 80 мегабайт. Автоматическое определение размера выделяемых экстентов. Автоматическое управление пространством в сегментах. |
б) Задать расположение OMF файлов, создать табличное пространство №2 с OMF-файлом и со следующими свойствами:
Бригады | Вариант |
1,6,7,12 | «Большое» табличное пространство. Размер файла данных 50 мегабайт. Автоматическое управление пространством в сегментах. |
2,5,8,11,14 | «Большое» табличное пространство, размер не указывается, автоматическое управление пространством в сегментах. После создания, увеличить размер файла на 15 мегабайт. Установить авторасширение файлов данных. |
3,4,9,10,13 | Обычное табличное пространства, размер файла не указывается, автоматическое управление пространством в сегментах. После создания добавить еще один файл размером 20 мегабайт. |
в) Создать табличное пространство №3 с OMF-файлом и со следующими свойствами:
Бригады | Вариант |
1,2,7,12 | Выделение экстентов одинакового размера по 32 килобайта. Ручное управление пространством в сегментах. |
3,4,9,10,11 | Выделение экстентов одинакового размера по 192 килобайта. Автоматическое управление пространством в сегментах. |
5,6,7,8,13,14 | Автоматическое определение размера выделяемых экстентов. Ручное управление пространством в сегментах. |
в) Получить из представлений dba_tablespaces и dba_data_files, для созданных табличных пространств следующую информацию:
Название табличного пространства, его состояние, пути и размеры, входящих в него файлов данных, параметры управления экстентами, пространством в сегментах, является ли «bigfile» табличным пространством.
г) Для созданных табличных пространств получить количество свободного пространства. Сравнить с данными о размерах файлов данных из пункта в).
2. Операции с таблицами
а) Создать пользователя, который сможет использовать табличные пространства, созданные в пункте 1. Подключиться под учетной записью этого пользователя создать две таблицы:
Таблица №1 включает столбцы:
Числовой автонумеруемый, с первичным ключем;
Строковый столбец типа varchar2, с индексом.
Параметры хранения таблицы:
Бригады | Вариант |
1,6,7,12 | Размерность varchar2 столбца 400. Таблица в табличном пространстве №1. PCTFREE – 10. |
2,5,8,11,14 | Размерность varchar2 столбца 1000. Таблица в табличном пространстве №2. PCTFREE – 40. |
3,4,9,10,13 | Размерность varchar2 столбца 1500. Таблица в табличном пространстве №1. PCTFREE – 30. |
Параметры хранения индекса:
Бригады | Вариант |
1,3,9,14 | Индекс в табличном пространстве №2, PCTFREE - 30 |
2,5,8,11,12 | Индекс в табличном пространстве №1, PCTFREE - 20 |
4,6,7,10,13 | Индекс в табличном пространстве №3, PCTFREE - 50 |
Таблица №2 включает столбцы:
Числовой автонумеруемый, с первичным ключем;
Числовой столбец;
Строковый столбец типа varchar2 размерности 400;
lob – столбец.
Таблицу разместить в табличном пространстве, занимающем наибольший объем (из трех созданных).
Параметры хранения lob-столбца:
Бригады | Вариант |
1,2,7,11,14 | lob-столбец расположен в том же табличном пространстве что и таблица |
3,5,9,12 | lob - столбец расположен в табличном пространстве №1 |
4,6,8,10,13 | lob-столбец расположен в табличном пространстве №3 |
Выполнить одновременное заполнение данными таблиц №1 и №2
Заполнение данными таблицы №1:
Бригады | Вариант |
1,6,7,12 | 20000 строк, длина значения вставляемого в строковый столбец - 100% от его размерности. |
2,5,8,11,14 | 30000 строк, длина значения вставляемого в строковый столбец - 80% от его размерности. |
3,4,9,10,13 | 40000 строк, длина значения вставляемого в строковый столбец - 60% от его размерности. |
Заполнение данными таблицы №2:
Бригады | Вариант |
1,6,4,12 | 10000 строк, размер файла помещаемого в lob - столбец – 200kb |
2,3,9,10,14 | 15000 строк, размер файла помещаемого в lob - столбец – 400kb |
5,7,8,11,13 | 20000 строк, размер файла помещаемого в lob - столбец – 150kb |
Для одновременного заполнения данными использовать python-сценарий из указаний (пункт 2.4).
г) Для созданных объектов (включая lob-столбец) получить информацию:
1) Для каждого сегмента - название, тип сегмента, табличное пространство, объем в байтах и блоках, кол-во экстентов, средний размер экстента в блоках.
2) фрагментацию сегментов данных (на основе представления dba_extents).
Привести информацию о свободном пространстве для всех созданных табличных пространств.
д) Выполнить удаление данных из созданных таблиц.
Бригады | Вариант |
1,6,4,12 | Таблица №1 – первые 50% строк. Таблица №2 – удалить каждую вторую строку. |
2,3,9,10,14 | Таблица №1 – последние 30% строк. Таблица №2 – первые 30% строк. |
5,7,8,11,13 | Таблица №1 – должна остаться только каждая 10 строка. Таблица №2 – последние 50% строк. |
(чтобы получить каждую n-ю строку используйте в where блоке функцию mod(id, n) = 0, где id – автонумеруемый столбец идентификатор).
Получить информацию о количестве незанятых блоков в таблице.
е) Выполнить сжатие пространства таблиц
Бригады | Вариант |
1,4,9,10,13 | Для таблицы №1 и таблицы №2 с опцией cascade |
3,5,7,11 | Для таблицы №1 без опции cascade и таблицы №2 с опцией cascade |
2,6,8,12,14 | Для таблицы №1 с опцией cascade и таблицы №2 без опции cascade |
Привести информацию о свободном пространстве для всех созданных табличных
пространств.
Привести информацию из пункта г)
ж) Переместить для таблицы №2 в табличное пространство №1:
Бригады | Вариант |
1,6,7,12 | Сегмент данных и все остальные сегменты |
2,5,8,11,14 | Индекс и lob-сегмент. |
3,4,9,10,13 | Сегмент данных и lob-сегмент. |
Привести информацию о свободном пространстве для всех созданных табличных
пространств.
Привести информацию из пункта г)
3. Работа с корзиной
а) Проверить режим использования корзины, если отключена, то включить. Удалить таблицу №1. Получить список объектов в корзине. Получить информацию о свободном пространстве в табличном пространстве, в котором находилась таблица.
б) Восстановить таблицу из корзины. Проверить, что таблица восстановлена
в) Повторно удалить таблицу:
Бригады | Вариант |
1,2,3,4 | Удалить таблицу из корзины после выполнения drop table. |
5,6,7,8 | Удалить таблицу без помещения в корзину, предварительно отключив использование корзины. |
9,10,11, | После выполнения drop table очистить корзину полностью. |
12,13 | После выполнения drop table очистить корзину для табличного пространства, в котором расположена таблица. |
4. Операции с табличными пространствами.
а) Уменьшить размер файла (или файлов) табличного пространства №1 до минимально возможного размера.
б) Повторно получить информацию о свободном месте в табличном пространстве №1.
в) Перевести табличное пространство №2 в состояние:
Бригады | Вариант |
1,4,8,10,13 | Offline |
2,5,9,11 | Read Only |
3,6,7,12 | Backup |
Получить информацию о его состоянии.
Попытаться выполнить:
Чтение данных из созданной ранее таблицы.
Модификацию данных в созданной ранее таблице.
Перевести табличное пространство в состояние online.
Контрольные вопросы на защиту:
1. Табличные пространства и файлы базы данных, отношение между ними.
2. Физическая и логическая структура базы данных.
3. Блоки, экстенты и сегменты.
4. Классификация табличных пространств по назначению.
5. Классификация табличных пространств по их характеристикам.
6. Операции над табличными пространствами.
7. Получение информации о пространстве, занимаемом объектами б. д. и о свободном пространстве.
8. Операции над сегментами.
9. Назначение параметра хранения pctfree.
10. Корзина, операции с ней.


