Утилита LogMiner. Пакет DBMS_LOGMNR
Процесс использования пакетов LogMiner: создание словаря данных; импорт файлов журнала повторного выполнения. Функциональные возможности DBMS_LOGMNR и DBMS_LOGMNR_D. Параметр utl_file_dir и режим ARCHIVELOG. Дополнительное журналирование базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.07.2012 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Государственное учреждение образования
"Белорусский государственный технологический университет"
Факультет издательского дела и полиграфии
Кафедра информационных систем и технологий
Пояснительная записка
по курсовой работе:
"Утилита LogMiner. Пакет DBMS_LOGMNR"
Выполнила:
Ревяко В.А.
курс 3 группа 9
проверил:
доц. Смелов В.В
Минск 2011
Содержание
- Введение
- 1. Пакеты LogMiner
- 2. Предварительные установки
- 2.1 Параметр utl_file_dir
- 2.2 Режим ARCHIVELOG
- 2.3 Дополнительное журналирование базы данных
- 3. Словарь данных LogMiner
- 4. Пример использования средств LogMiner
- Заключение
Введение
Файлы журналов повторного выполнения и архивные файлы сервера Oracle очень важны, особенно для восстановления базы данных. Для того чтобы прочитать внесенные в базу изменения, которые содержаться в архивном файле журнала повторов, необходимо открыть указанный файл и изучить его содержимое. Для этого существует специальный инструмент под названием LogMiner. Анализ файлов может потребоваться в случаях, если необходимо определить, когда и кем был изменён объект базы данных, проверить, какие действия выполнялись с объектом, отменить транзакцию.
Так же с помощью LogMiner можно анализировать файл журнала, первоначально созданный в другой базе данных. Даже версии серверов при этом могут не совпадать. Можно перенести архивный файл журнала повторного выполнения в другую систему и анализировать его там.
Процесс использования пакетов LogMiner состоит из двух этапов. На первом -- создается словарь данных для работы пакетов LogMiner. Именно это и позволяет анализировать файл журнала повторного выполнения не в той базе данных, где он был сгенерирован (пакеты LogMiner не используют существующий словарь данных). Используется словарь данных, экспортированный во внешний файл с помощью пакета DBMS_LOGMNR_D. Пакеты LogMiner можно использовать и без этого словаря данных, но разобраться в полученных результатах при этом практически невозможно.
На втором этапе импортируются файлы журнала повторного выполнения, и запускается LogMiner. После запуска основного пакета LogMiner можно просматривать содержимое файлов журнала повторного выполнения с помощью SQL-операторов. Для анализа содержимого загруженных файлов журнала используется представление V$LOGMNR_CONTENTS.
1. Пакеты LogMiner
Функциональные возможности LogMiner реализуются двумя пакетами:
· DBMS_LOGMNR
· DBMS_LOGMNR_D.
Пакет DBMS_LOGMNR_D содержит всего одну процедуру - BUILD. Она применяется для создания словаря данных, используемого пакетом DBMS_LOGMNR при загрузке файла журнала повторного выполнения. Словарь позволяет сопоставить идентификаторам объектов имена таблиц, определить имена и типы данных столбцов по порядковому номеру и т.д. Использовать процедуру DBMS_LOGMNR_D.BUILD очень просто. Она имеет два параметра:
· DICTIONARY_FILENAME. Имя файла словаря, который необходимо создать.
· DICTIONARY_LOCATION. Каталог, в котором этот файл будет создан.
Пакет DBMS_LOGMNR состоит из трех процедур:
· ADD_LOGFILE. Зарегистрировать набор файлов журнала для анализа.
· START_LOGMNR. Заполнить данными представление V$LOGMNR_CONTENTS.
· END_LOGMNR. Освободить все ресурсы, выделенные при работе LogMiner. Эта процедура вызывается для корректного освобождения ресурсов перед завершением сеанса или при окончании работы с пакетами LogMiner.
2. Предварительные установки
Перед началом работы с LogMiner необходимо установить некоторые параметры и изменить режим базы данных.
· Установить параметр инициализации utl_file_dir
· Установить режим ARCHIVELOG
· Установить дополнительное журналирование базы данных - SUPPLEMENTAL LOG DATA
2.1 Параметр utl_file_dir
Стандартный пакет UTL_FILE позволяет читать и создавать текстовые файлы в файловой системе сервера в среде PL/SQL.
В файле параметров инициализации необходимость явно перечислять каталоги, к которым необходим доступ на запись.
Изменять параметр инициализации в процессе работы сервера нельзя. Для добавления или удаления каталога необходимо перезапускать экземпляр.
Пакет DBMS_LOGMNR_D, с помощью которого создается файл словаря данных, для выполнения ввода-вывода использует средства пакета UTL_FILE.
Рис.1 - изменение параметра utl_file_dir
2.2 Режим ARCHIVELOG
База данных Oracle может работать в двух режимах:
· NOARCHIVELOG
· ARCHIVELOG.
Если база данных не работает в режиме ARCHIVELOG, данные рано или поздно будут потеряны.
Чтобы сервер Oracle мог сохранять данные файла журнала повторного выполнения, перед тем как файл будет перезаписан, необходимо перевести базу данных в режим ARCHIVELOG. Тогда сервер будет архивировать журналы и никакие данные не будут утеряны.
Для перевода базы данных в режим ARCHIVELOG (рис. 2) необходимо:
· остановить экземпляр Oracle - shutdown immediate;
· запустить экземпляр Oracle в режиме mount;
· перевести базу данных в режим ARCHIVELOG -
alter database archivelog
· открыть базу данных alter database open.
Рис. 2 - перевод базы данных в режим ARCHIVELOG
2.3 Дополнительное журналирование базы данных
Supplemental logging - это процесс записи дополнительной информации в журнал во время выполнения операций изменения (например, изменения строки). Существует два уровня supplemental logging:
· database-level supplemental logging
· table-level supplemental logging.
Database-level supplemental logging. Существует 2 типа database-level supplemental logging:
· minimal supplemental logging
· identification key logging.
Первый в отличие от второго не добавляет значительную нагрузку на базу данных.Рекомендуется как минимум включать minimal supplemental logging.
Minimal supplemental logging - в этом режиме база данных журналирует дополнительный объем данных, необходимый для идентификации, группировки и соединения операций Redo, связанных с DML изменениями.
Включить: ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Выключить: ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
Database-Level Identification Key Logging. Используя этот режим, можно включить журналирование изменений для всех таблиц в базе данных.
Database identification key logging имеет ряд режимов:
· ALL - безусловно заставляет базу записывать в журналы изменения для всех столбцов в изменяемой строке
· PRIMARY KEY - безусловно (даже если первичный ключ не меняется) заставляет базу записывать в журналы изменения для первичного ключа в изменяемой строке.
· UNIQUE - при условии, что изменяется столбец, входящий в уникальный или bitmap индекс, журналирует изменения для всех столбцов, принадлежащие этому индексу
· FOREIGN KEY - при условии, что изменяется столбец, входящий в FK, журналирует изменения для всех столбцов FK.
На рис. 3 показано включение режимов дополнительного журналирования базы данных.
файл журналирование база данный
Рис. 3 - дополнительное журналирование базы данных
3. Словарь данных LogMiner
Чтобы средства LogMiner могли сопоставить внутренним идентификаторам объектов и столбцов соответствующие имена, необходим словарь данных. Имеющийся в базе данных словарь при этом не используется. Словарь данных должен загружаться из внешнего файла. Это необходимо для того, чтобы журналы повторного выполнения можно было анализировать в другой базе данных. Кроме того, текущий словарь данных в базе может поддерживать уже не все объекты, находившиеся в базе данных в момент генерации файла журнала повторного выполнения, вот почему словарь данных необходимо импортировать.
Для создания файла словаря необходимо, чтобы были выполнены следующие требования:
· установлен параметр utl_file_dir (см. пункт 2.1.)
· схема, в которой будет вызываться пакет DBMS_LOGMNR_D, должна иметь привилегию EXECUTE ON SYS.DBMS_LOGMNR_D, или ей должна быть предоставлена роль с привилегий выполнения этого пакета. По умолчанию роль EXECUTE_CATALOG_ROLE имеет привилегию для выполнения этого пакета (рис. 4).
Рис. 4 - назначение роли EXECUTE_CATALOG_ROLE
После настройки пакета UTL_FILE и получения привилегии EXECUTE ON DBMS_LOGMNR_D создаём файл словаря. Для этого нужно вызвать пакет DBMS_LOGMNR_D с процедурой BUILD (рис. 5).
рис. 5 - создание словаря данных LogMiner
Выполненная выше команда, в каталоге c:\oracle\temp (который мы указали при установке параметра utl_file_dir) создала файл dictionary_logminer. Это обычный текстовый файл, который можно просматривать в текстовом редакторе (рис. 6, рис. 7). Файл содержит SQL-подобные операторы, которые анализируются и выполняются процедурой запуска основного пакета LogMiner. Теперь, при наличии файла словаря, можно посмотреть, какая информация содержится в представлении V$LOGMNR_CONTENTS.
Рис.6 - словарь данных LogMiner
Рис. 7 - словарь данных LogMiner
4. Пример использования средств LogMiner
Для наглядного представления работы Logminer сгенерируем некоторые транзакции, которые потом будем искать в файлах журналов. Например, пользователь VIKA, в своей схеме создаёт таблицу Test и делает в ней некоторые изменения (рис. 8).
Рис. 8 - генерация транзакций
Далее необходимо найти имеющиеся на сервере файлы журналов повторного выполнения. Для этого делаем запрос к представлению v$logfile (рис. 9). Из рисунка видно, что на сервере имеется три redo-файла.
рис. 9 - поиск redo-файлов
Теперь загружаем полученные файлы в LogMiner. Для этого используется пакет DBMS_LOGMNR с процедурой ADD_LOGFILE (рис. 10).
Процедура ADD_LOGFILE вызывается еще до запуска LogMiner. Она создает список файлов журнала, которые будут обрабатываться при выполнении процедуры START_LOGMNR для заполнения представления VSLOGMNR_CONTENTS. Процедура ADD_LOGFILE принимает следующие параметры:
· LOGFILENAME. Полное имя файла архивного журнала повторного выполнения, который необходимо проанализировать.
· OPTIONS. Задает, добавлять указанный файл или удалять. В качестве значения задаются следующие константы пакета DBMS_LOGMNR:
ь DBMS_LOGMNR.NEW. Начать новый список. Если список уже существует, он очищается.
ь DBMS_LOGMNR.ADD. Добавить файл в уже существующий или пустой список.
ь DBMS_LOGMNR.REMOVEFILE. Удалить файл из списка.
Рис. 10 - загружаем Redo в LogMiner
Далее стартуем LogMiner, используя процедуру START_LOGMNR (рис. 11) и в качестве параметра передаём полное имя словаря созданного процедурой DBMS_LOGMNR_D.BUILD.
Рис. 11 - запуск LogMiner
Теперь можно просматривать представление V$LOGMNR_CONTENTS. Представление V$LOGMNR_CONTENTS содержит по одной строке для каждого логического изменения в базе данных, выбранного из обработанных файлов журналов. На рис. 12-13 показаны все столбцы представления:
Рис. 12 столбцы представления V$LOGMNR_CONTENTS
Рис. 13 столбцы представления V$LOGMNR_CONTENTS
Для просмотра представления используем оператор SELECT. Выбираем наиболее важные столбцы, которые помогут нам разобраться, что было изменено, когда и кем.
Рис. 14. - оператор SELECT
В результате запроса получаем следующие данные (рис. 15, 16, 17):
рис. 15 - системный номер, время, схема, в которой были изменения, кто их проделал.
Рис. 16 - sql _redo
На рисунке 16 показан столбец sql_redo, который содержат SQL-подобные операторы, представляющие логические операции повторного выполнения, построенные на основе одной или нескольких записей архивного журнала повторного выполнения. Мы видим, что в столбце полностью отображаются проделанные нами операторы.
Чтобы отменить транзакции, нужно воспользоваться данными из столбца sql_undo, который содержит обратные sql_redo операции (рис. 17).
Рис. 17 - sq_undo
Последняя процедура - DBMS_LOGMNR.END_LOGMNR (рис. 18).
Она завершает сеанс LogMiner и очищает представление V$LOGMNR_CONTENTS.
После вызова DBMS_LOGMNR.END_LOGMNR любые попытки обратиться к этому представлению приведут к ошибке.
Рис. 18 - завершение работы LogMiner
Заключение
Средства LogMiner позволяют определить, что происходило в базе данных, и с этой задачей справляются прекрасно.
Мы увидели, как пакеты LogMiner помогают при поиске "кто и когда это сделал" - именно для этого средства LogMiner и используются.
Средства LogMiner можно использовать и для отмены ошибочной транзакции, если удастся получить операторы SQL для отмены и повторного выполнения.
Процедуры пакета не попадут в список наиболее часто используемых, но иногда без них не обойтись.
Размещено на Allbest.ru
Подобные документы
Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.
курсовая работа [185,6 K], добавлен 08.11.2008Этапы создания базы данных. Тестирование программной продукции с распечаткой всех используемых форм. Способ хранения данных. Блок-схемы к запросам. Алгоритмы выполнения каждого запроса. Вывод на экран простейшего интерфейса. Открытие файлов для записи.
дипломная работа [549,4 K], добавлен 05.11.2011Разработка удаленной базы данных и приложения-клиента для доступа к электронным источникам литературы, содержащихся на жестком диске сервера предприятия в виде упакованных архивов файлов и пакетов файлов. Реляционное исчисление доменов. Средства Delphi.
дипломная работа [2,7 M], добавлен 24.03.2011Основы проектирования базы данных (БД). Модели, типы и функциональные возможности БД. Практическая разработка БД для горнолыжной базы. Сохранение данных в таблицах. Типы запросов как средства выбора необходимой информации. Создание отчетов и макросов.
курсовая работа [53,3 K], добавлен 12.06.2014Описание предметной области, постановка задач. Краткая характеристика традиционных способов обработки информации. Классификация СУБД, их функциональные возможности. Структура базы данных Microsoft Office Access. Создание форм, запросов, отчетов в базах.
курсовая работа [1,4 M], добавлен 12.10.2014Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".
курсовая работа [1,6 M], добавлен 07.03.2015Краткая характеристика, главные преимущества и область применения MS Access. Базы данных и системы управления базами данных. Описание пошагового создания базы данных, таблиц, форм, запроса и отчета. Особенности и функциональные возможности MS Access.
курсовая работа [3,4 M], добавлен 23.09.2010Разработка словаря, содержащего термины по патентоведению, в виде базы данных. Систематизация данных путем разделения текста на отдельные файлы по буквам алфавита. Создание файла "Содержание" с гиперссылками для обеспечения быстрого доступа к информации.
презентация [278,1 K], добавлен 16.10.2013Архитектура базы данных. Требования к именованию файлов в операционной системе. Величина приращения при увеличении и максимальный размер. Выделение пространства для таблиц и индексов. Таблица Index Allocation Map. Принцип работы журнала транзакций.
презентация [48,3 K], добавлен 10.11.2013Создание программ, позволяющих создавать базы данных. Создание таблицы базы данных. Создание схемы данных. Создание форм, отчетов, запросов. Увеличение объема и структурной сложности хранимых данных. Характеристика системы управления базой данных Access.
курсовая работа [2,1 M], добавлен 17.06.2013