Скачать 93.9 Kb.
|
Лабораторная работа №3 Указания к выполнению. 1. Работа с табличными пространствами и файлами 1.1 Создание табличного пространства: create tablespace <�название> --параметры файла данных datafile <путь к файлу> size {К|M} autoextend off| on next {K|M} --управление экстентами extent management local | dictionary --размер экстентов autoallocate --размер экстентов выбирается автоматически | uniform size {K|M} --равного размера --управление пространством сегментов автоматическое/ручное SEGMENT SPACE MANAGEMENT AUTO | MANUAL; 1.2 Создание табличных пространств с файлами OMF Параметр, указывающий расположение OMF db_create_file_dest При установке значения параметра необходимо указывать реально существующий каталог. Создание табличного пространства с ОМF: create tablespace <�название>; Для указания размера файла: create tablespace <�название> datafile size <�размер>; 1.3 «Большое» табличное пространство (bigfile) create bigfile tablespace <�имя> ... включает только один файл данных. 1.4 Изменение табличного пространства: Добавление файла: alter tablespace <�название> add datafile|tempfile <�путь к файлу> size {К|M} autoextend on|off; Изменение состояния табличного пространства: alter tablespace <�название> online|offline; alter tablespace <�название> read only|read write; alter tablespace <�название> begin|end backup; Уничтожение табличного пространства: drop tablespace <�название> including contents; 1.5 Изменение файлов данных. Изменение размера: alter database <�имя базы> datafile <�путь>|<�номер> resize {K|M}; Изменение параметров авторасширения: alter database <�имя базы> datafile <�путь>|<�номер> autoextend on off| on next {K|M}; Перевод в состояние offline: alter database <�имя базы> datafile <�путь>|<�номер> offline {drop}; Для табличного пространства типа bigfile файл данных может изменяться, непосредственно, через табличное пространство: alter tablespace <�имя> resize <�размер>; 1.6 Получение информации о табличных простаранствах Табличные пространства: dba_tablespaces tablespace_name – название block_size – размер блока в байтах initial_extent - размер первого выделяемого для объекта экстента status – состояние contents – тип содержимого, данные, сегменты отката, временное logging – протоколируются ли изменения в данных в журналы extent_management – управление экстентами, локальное или по словарю. allocation_type – тип размера экстентов (одинаковый размер или автоматически) segment_space_management – тип управления пространством в сегментах bigfile – является ли «большим» Файлы: dba_data_files, dba_temp_files file_name – путь к файлу file_id – идентификатор tablespace_name – табличное пространство bytes – размер в байтах blocks – кол-во блоков Свободное место в табличном пространстве dba_free_space: tablespace_name - табличное пространство file_id - идентификатор файла block_id - начальный блок bytes - размер свободной области в байтах blocks - количество блоков в свободной области 2. Создание таблицы 2.1 Типы столбцов Число – number, для автонумерации - number generated as identity Строка переменной длины varchar2(размерность) Бинарный - blob 2.2 Спецификации параметров хранения для таблицы create table <�имя >( столбцы ) tablespace <�табличное пространство> pctfree <�значение>; Спецификации параметров хранения для индекса create index <�имя> on <�таблица>(<�столбцы>) tablespace <�табличное пространство> pctfree <�значение>; 2.3 Создание таблицы с LOB-столбцом create table <�имя_таблицы> (id number, <�имя столбца> blob) [lob (<�имя столбца>) store as [<�имя сегмента>] (tablespace <�имя табличного пространства для lob-сегмента>)]; Если не указывать имя сегмента, то оно будет назначено автоматически. Если не указывать параметры хранения lob-столбца, то он сохранится в том же табличном пространстве, что и таблица. 2.4 Моделирование одновременной вставки Для таблиц create table tbl1( id number generated as identity, col1 varchar2(100) ); и create table tbl2( id number generated as identity, col1 number, col2 blob ); Сценарий на Python запускающий параллельно две процедуры вставки:
Функция insert_data вставляет в таблицу tbl1 n-записей, при этом в столбец col1 вставляется значение длиной в k символов. Функция insert_data_lob data вставляет в таблицу tbl2 n-записей, в lob-столбец col2 вставляются данные из файла. Для запуска необходимо предварительно установить python 2.7.13 и библиотеку cx_Oracle (дистрибутивы расположены в \\pmi-ais-00\Distribs). Сценарий запускать из оболочки IDLE, устанавливаемой вместе с Python. Первоначально, следует запустить процедуры вставки без использования мультипроцессного режима, со вставкой только одной записи, чтобы убедиться в отсутствии ошибок. Т.е. if __name__ == "__main__": insert_data(1,1) insert_data_lob(1) Обратите внимание, что отступы должны выполняться либо только пробелами, либо только табуляцией. Подробная информация о работе с Oracle и Python: http://www.oracle.com/technetwork/articles/dsl/mastering-oracle-python-1391323.html 3. Операции с сегментами/экстентами 3.1 Получение информации о сегментах и экстентах Сегменты: dba_segments owner – пользователь которому принадлежит сегмент segment_name – имя сегмента segment_type – тип сегмента tablespace_name – табличное пространство в котором расположен сегмент bytes – размер в байтах blocks – кол-во блоков Экстенты: dba_extents: owner - пользователь которому принадлежит сегмент segment_name – имя сегмента segment_type – тип сегмента tablespace_name – табличное пространство extent_id - № экстента file_id - № файла данных block_id - № первого блока экстента bytes – кол-во байт blocks – кол-во блоков На основе представления dba_extents можно оценить фрагментацию сегмента, получив отношение разности последнего и первого блока max(block_id+blocks-1) – min(block_id) к общему числу блоков сегмента. Обратите внимание, что если табличное пространство включает более одного файла, то в запросе нужно получать данную информацию для каждого файла. 3.2 Получение информации о занятых и свободных блоках в сегментах. Процедуры пакета dbms_space 3.2.1 DBMS_SPACE.SPACE_USAGE - сводная информация о занятости блоков сегмента Входные параметры: segment_owner – владелец сегмента; segment_name – сегмент; segment_type – тип сегмента (TABLE, INDEX, CLUSTER и.т.д.); Выходные параметры: unformatted_blocks – кол-во неформатированных блоков; unformatted bytes – объем в байтах неформатированного пространства; fs1_blocks – кол-во блоков, имеющих от 0 до 25% свободного пространства; fs1_bytes – объем в байтах блоков, имеющих от 0 до 25% свободного пространства; fs2_blocks - кол-во блоков, имеющих от 25% до 50% свободного пространства; fs2_bytes - --/--; fs3_blocks - кол-во блоков, имеющих от 50% до 75% свободного пространства; fs3_bytes - --/--; fs4_blocks - кол-во блоков, имеющих от 75% до 100% свободного пространства; fs4_bytes - --/--; ful1_blocks – кол-во полностью занятых блоков; full_bytes – – объем в байтах полностью занятых блоков. Пример вызова (перед первым вызовов в sqlplus нужно выполнить: set serveroutput on) declare unf number; unfb number; fs1 number; fs1b number; fs2 number; fs2b number; fs3 number; fs3b number; fs4 number; fs4b number; full number; fullb number; begin dbms_space.space_usage('USR','TBL1', 'TABLE', unf, unfb, fs1, fs1b, fs2, fs2b, fs3, fs3b, fs4, fs4b, full, fullb); dbms_output.put_line('From 25% to 50% space used in '||fs2||' blocks'); end; / 3.2.1 DBMS_SPACE.UNUSED_SPACE - сводная информация о незанятом пространстве в блоках сегмента (для табличных пространств с автоматическим управлением пространством в сегментах). Входные параметры: segment_owner – владелец сегмента; segment_name – сегмент; segment_type – тип сегмента (TABLE, INDEX, CLUSTER и.т.д.); Выходные параметры: total_blocks – кол-во блоков в сегменте total_bytes – объем в байтах unused_blocks – кол-во незанятых блоков unused_bytes – объем в байтах незанятых блоках last_used_extent_file_id – номер последнего экстента, содержащего данные last_used_extent_block_id – номер первого блока последнего экстента, содержащего данные last_used_block –номер последнего блока в последнем экстенте, содержащего данные. Пример вызова: declare total_blocks number; total_bytes number; unused_blocks number; unused_bytes number; lastextf number; last_extb number; lastusedblock number; begin DBMS_SPACE.UNUSED_SPACE('USR', 'TBL1', 'TABLE', total_blocks, total_bytes, unused_blocks, unused_bytes, lastextf, last_extb, lastusedblock); dbms_output.put_line('Total unused blocks: '||unused_blks); end; / 3.2.3 DBMS_SPACE.FREE_BLOCKS (для табличных пространств с ручным управлением пространством в сегментах) Входные параметры: segment_owner – владелец сегмента; segment_name – сегмент; segment_type – тип сегмента (TABLE, INDEX, CLUSTER и.т.д.); freelist_group_id – номер группы свободных блоков Выходные параметры: free_blks – кол-во свободных блоков Пример вызова: declare free_blks number; begin DBMS_SPACE.FREE_BLOCKS('USR', 'TBL1', 'TABLE', 0, free_blks); dbms_output.put_line('Total free blocks: '||free_blks); end; / 3.3 Оптимизация занятого пространства в таблице. Необходимо разрешить перемещение строк: alter table <имя таблицы> enable row movement; Выполнить сжатие: alter table <�имя таблицы> shrink space [cascade]; 3.4 Перемещение сегментов между табличными пространствами Таблицы alter table <�имя таблицы> move tablespace <�табличное пространство> Индекса alter index <�имя индекса> rebuild tablespace <табличное пространство> Сегмента lob-столбца alter table <�имя таблицы> move lob(<�имя столбца>) store as (tablespace <�табличное пространство>); При наличии индексов выполнить перестроение тех индексов, для которых в представлении dba_indexes поле status имеет значение UNUSABLE. alter index <�имя индекса> rebuild; 4. Корзина. Параметр инициализации RECYCLEBIN, возможные значения ON и OFF. Может устанавливаться на уровне сеанса. Получение информации об объектах в корзине Представление dba_recyclebin либо команда show recyclebin Команда show recyclebin отображает лишь те объекты, удаление которых можно отменить. Восстановление объекта: flashback table <�имя> to before drop [rename to <�новое имя>]; <�имя> - либо исходное имя объекта, либо имя сгенерированное для корзины Окончательное удаление объекта purge table <�имя>; Окончательное удаление всех объектов, относящихся к одному табличному пространству: purge tablespace <�табличное пространство>; Очистка всей корзины : purge recyclebin; |
Методические указания для студентов по выполнению лабораторных работ... Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной... |
Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа... Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать... |
||
Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная... Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»... |
Лабораторная работа №7 Тема: «Арифметические операции. Битовые команды» Методические указания к выполнению лабораторных работ по мдк 01. 01 «Системное программирование» |
||
Методические указания к выполнению лабораторных работ по дисциплине радиолокационные системы Лабораторная работа №1 «Изучение принципов построения штатной радиолокационной киа» |
Лабораторная работа №10. Изучение принципа действия и функциональной... Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции |
||
Лабораторная работа №1 «Создание общих ресурсов и управление ими» Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование» |
Стандартное задание 7 Расширенное задание 8 Рекомендации по выполнению... Данное методическое пособие представляет собой руководство по установке и настройке необходимого программного обеспечения и выполнению... |
||
Лабораторная работа № Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка... |
Лабораторная работа №27 Лабораторная работа №28 Контрольные работы... Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов» |
||
Методические указания к лабораторным работам по дисциплине «Технологии... Лабораторная работа 2 Составление календарного плана разработки портала вуза 16 |
Лабораторная работа №9 Данная лабораторная работа оформляется в виде файла word с расширением файла docx или doc и прикрепляется в виде ссылки на файл к... |
||
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа... «Проектирование систем реального времени» для студентов специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем... |
Методические указания для выполнения лабораторных работ и «Базы данных» Лабораторная работа №1 «Организация хранения данных в субд ms access» |
||
Лабораторная работа 1 Тема работы: Установка операционной системы.... Оответствии с инструкциями преподавателя, последовательность действий, описанных в частях 1 и 2, может быть скорректирована с учетом... |
Лабораторная работа «Построение контуров изображения с использованием... Ивших на уроках математики понятие о математических кривых и графиках функций. Данная лабораторная работа может быть использована... |
Поиск |