Лабораторная работа №3 Указания к выполнению


Скачать 93.9 Kb.
Название Лабораторная работа №3 Указания к выполнению
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
Лабораторная работа №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 запускающий параллельно две процедуры вставки:

import sys

import cx_Oracle

from multiprocessing import Process
def insert_data(n,k):

""" n – amount of rows inserted

k – width of string

"""

try:

conn=cx_Oracle.connect('логин/пароль')

cursor=conn.cursor()

for i in (xrange(n)):

cursor.execute("""insert into tbl1(col1) values (:col1)

""",{'col1':'a'*k})

cursor.close()

conn.commit()

conn.close()

except Exception as e:

print e

conn.rollback()

conn.close()
def insert_data_lob(n):

""" n – amount of rows inserted

k – width of string

"""

try:

conn=cx_Oracle.connect('логин/пароль')

cursor=conn.cursor()

fl = open('путь к вставляемому файлу','r')

col2 = fl.read()

cursor.setinputsizes(col2=cx_Oracle.BLOB)

for i in (xrange(n)):

cursor.execute("""insert into tbl2(col1,col2) values (:col1,:col2)

""",{'col1':i,'col2':col2})

cursor.close()

conn.commit()

conn.close()

except Exception as e:

print e

conn.rollback()

conn.close()
def main():

p1 = Process(target=insert_data,args=(5000,30))

p2 = Process(target=insert_data_lob,args=(5000,))

p1.start()

p2.start()

p1.join()

p2.join()

if __name__ == "__main__":

main()



Функция 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;

Похожие:

Лабораторная работа №3 Указания к выполнению icon Методические указания для студентов по выполнению лабораторных работ...
Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа...
Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная...
Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №7 Тема: «Арифметические операции. Битовые команды»
Методические указания к выполнению лабораторных работ по мдк 01. 01 «Системное программирование»
Лабораторная работа №3 Указания к выполнению icon Методические указания к выполнению лабораторных работ по дисциплине радиолокационные системы
Лабораторная работа №1 «Изучение принципов построения штатной радиолокационной киа»
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №10. Изучение принципа действия и функциональной...
Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №1 «Создание общих ресурсов и управление ими»
Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование»
Лабораторная работа №3 Указания к выполнению icon Стандартное задание 7 Расширенное задание 8 Рекомендации по выполнению...
Данное методическое пособие представляет собой руководство по установке и настройке необходимого программного обеспечения и выполнению...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №
Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №27 Лабораторная работа №28 Контрольные работы...
Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов»
Лабораторная работа №3 Указания к выполнению icon Методические указания к лабораторным работам по дисциплине «Технологии...
Лабораторная работа 2 Составление календарного плана разработки портала вуза 16
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа №9
Данная лабораторная работа оформляется в виде файла word с расширением файла docx или doc и прикрепляется в виде ссылки на файл к...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа...
«Проектирование систем реального времени» для студентов специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем...
Лабораторная работа №3 Указания к выполнению icon Методические указания для выполнения лабораторных работ и «Базы данных»
Лабораторная работа №1 «Организация хранения данных в субд ms access»
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа 1 Тема работы: Установка операционной системы....
Оответствии с инструкциями преподавателя, последовательность действий, описанных в частях 1 и 2, может быть скорректирована с учетом...
Лабораторная работа №3 Указания к выполнению icon Лабораторная работа «Построение контуров изображения с использованием...
Ивших на уроках математики понятие о математических кривых и графиках функций. Данная лабораторная работа может быть использована...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск