Добавлен: 16.03.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Пример 1 управляющего файла
60
Пример 2 управляющего файла
61
Журнальный файл (Log File)
• С
оздается утилитой SQL*Loader, когда она начинает выполняться.
• Если файл нельзя создать, выполнение прекращается.
• Журнальный файл содержит детальную информацию о загрузке, в том числе и описание ошибок, возникших в ходе загрузки.
62
Файл некорректных записей
(Bad File)
•
Содержит записи, которые были отбракованы
либо при проверке утилитой SQL*Loader, либо при вставке сервером Oracle.
•
Записи файла данных отвергаются утилитой
SQL*Loader, если формат входных данных
неверен.
•
Если запись файла данных принята утилитой
SQL*Loader, она передается для вставки в таблицу в виде строки таблицы.
•
База данных Oracle проверяет правильность
строки. Если строка правильная, она вставляется в таблицу; в противном случае, запись отвергается и SQL* Loader записывает ее в файл некорректных записей.
63
Файл отвергнутых записей
(Discard File)
• Создается, если только он необходим
и если было задано его создание.
• Этот файл содержит не подходящие
для загрузки записи, которые не
удовлетворили хотя бы одному из
критериев отбора, заданных в управляющем файле.
64
Способы загрузки данных
SQL*Loader может использовать следующие способы загрузки данных:
• Обычная загрузка
- Генерируется SQL-команда INSERT
- Другие пользователи могут обращаться к таблице одновременно с SQL*Loader
• Прямая загрузка
- Высокая производительность загрузки
- Монопольная блокировка таблиц
65
Сравнение обычной и прямой загрузки
66
Загрузка данных с помощью
ОЕМ
67
Доступ к возможностям
SQL*Loader можно получить через
Oracle Enterprise
Manager.
Мастер проведет по шагам настройки опций SQL*Loader.
ИТОГИ
• SQL*Loader – утилита командной строки, которая используется для загрузки даннных из внешних источников в БД Oracle.
• Может использовать обычный и прямой методы загрузки
68
Курс: Администрирование Oracle
11g
Тема. Утилиты Oracle для перемещения данных.
Часть 1. Oracle Data Pump
Автор: Барабанщиков И.В.
План
• Обзор утилит Oracle для перемещения данных
• Традиционный экспорт\импорт
• Oracle Datapump
70
Перемещение данных
Ситуации, когда необходимо перемещать данные в/из БД:
• Получение данных из внешних источников
• Перенос данных из одной БД в другую
• Миграция БД со старой версии на новую
• Загрузка данных в хранилище данных
71
Утилиты Oracle
Утилиты СУБД Oracle для перемещения данных:
• Утилиты для импорта/экспорта
-
Старые утилиты Импорта/Экспорта
-
Oracle Data Pump
• Утилиты для загрузки данных
-
Oracle SQL*Loader
72
API для перемещения данных
73
Традиционный
Экспорт/Импорт
• Работают в режиме клиент-сервер (толстый
клиент)
• Не масштабируются для больших БД
• Медленная выгрузка и загрузка данных
• Не работают в параллельном режиме
• Трудно мониторить выполнение заданий
• Трудно встраивать в приложения (нет API)
74
Параметры утилиты Import
75
Способ запуска 1
Значения параметров устанавливаются после запуска утилиты в результате ответа на вопросы
76
Способ запуска 2
Значения параметров устанавливаются в командной строке при запуске утилиты
77
Oracle Datapump
• Технология экспорта/импорта данных
и метаданных СУБД Oracle Database
10g/11g
• Замена традиционных утилит
экспорта/импорта (exp и imp )
• Новая серверная инфраструктура и утилиты (expdp и impdp )
• Имеется документированный API для разработчиков
• Много новых возможностей по сравнению с утилитами exp и imp
• Утилиты exp/imp оставлены в целях
совместимости
78
Архитектура Oracle Datapump
• Инфраструктура для поддержки
“тонкого клиента”
• Экспорт/импорт происходит на
сервере
• dmp-файл формируется на файловой системе сервера
• Клиент только управляет процессами
экспорта/импорта
• Поддержка параллельности (Только для версии Enterprise Edition)
79
80
Серверный процесс
• Клиентский процесс делает вызов Datapump
API.
• Получив запрос
DBMS_DATAPUMP.OPEN
серверный процесс создает задание (job)
• Job состоит из:
-
Master Table
,
- очередей
, используемых для коммуникации между процессами,
-
Master Control Process (MCP)
• После запуска задания серверный
процесс может проверять очередь
статусов
81
Master Control Process
• На каждое задание создается один МСР
• MCP контролирует выполнение задания
• МСР записывает в Master Table следующую информацию:
- описание задания
- состояние задания
- данные о рестарте
- информацию о файле дампа
• Задание разбивается на
последовательность шагов
выгрузки/загрузки
• На каждом шаге MCP делает вызовы к процессам-работникам (worker)
82
Процессы-работники и очереди
• Получив запрос START_JOB, МСР создает
определенное число процессов-
работников.
• Процессы-работники выполняют задачи
по выгрузке/загрузке данных, которые им назначил МСР.
• МСР записывает информацию о
прогрессе выполнения задания и
ошибках в очередь статусов.
• Серверный процесс получает данные о прогрессе задания из этой очереди.
• Очередь команд и управления
используется для коммуникации между
МСР и workers.
83
Возможности Oracle Datapump
• Рестарт и останов экспорта/импорта на произвольной точке
• Гибкий (fine-granted) выбор объекта
• Трансформация DDL при импорте
(метаданные выгружаются в XML)
• Предварительная оценка размера dmp- файла
• Детальный мониторинг с любого места
• Импорт по сети
- Из одной БД в другую
- На “лету”: без промежуточного dmp- файла
84
85
Использование Oracle
Datapump
• Создаем директорию в СУБД для dmp- файлов
SQL> CREATE DIRECTORY dump_dir AS
‘/backup/oradata’;
• Выдаем привилегии на директорию
SQL> GRANT READ,WRITE ON DIRECTORY dump_dir TO scott;
• Выполняем экспорт
C:\app>EXPDP scott/tiger@orcl
TABLES=employees
DUMPFILE=dump_dir:employees.dmp
NOLOGFILE=y
86
Итоги
• Утилиты Oracle
Datapump – мощное
средство («насос») для перемещения данных.
• Работают быстрее, чем традиционные утилиты импорта/экспорта.
• Работают на сервере
БД
• Могут быть
рестартованы без
потери данных.
87
Курс: Администрирование
СУБД Oracle 11g
Тема: Резервное
копирование и
восстановление БД. Часть
4
Автор: Барабанщиков И.В.
План
• Создание резервных копий с помощью
RMAN
• Сопровождение резервных копий
• Восстановление БД
• Enterprise Manager и RMAN
Создание резервной копии БД в режиме ARCHIVELOG
Если БД работает в режиме
ARCHIVELOG, то можно делать резервное копирование при открытой БД.
В этом случае при восстановлении БД будут использоваться журнальные файлы.
Шаги резервного копирования:
1. Запустить RMAN.
2. Установить соединение с целевой БД.
3. Выполнить команду BACKUP DATABASE.
RMAN> BACKUP DATABASE PLUS
ARCHIVELOG;
Пример скрипта RMAN
sql 'alter system archive log current';
backup archivelog all delete all input;
backup database plus archivelog;
allocate channel for maintenance type
disk;
crosscheck backup;
delete expired backup;
crosscheck archivelog all;
delete expired archivelog all;
delete obsolete device type disk;
release channel;
Создание резервной копии БД в режиме NOARCHIVELOG
• Если БД работает в режиме
NOARCHIVELOG, то можно создавать резервную копию только, если БД находится в согласованном состоянии.
• Перед резервированием БД должна быть корректно остановлена, а затем стартована в режиме MOUNT.
• После извлечения из резервной копии восстановление БД не требуется.
Шаги создания резервной копии
БД в режиме NOARCHIVELOG
1. Запустить RMAN.
2. Установить соединение с целевой БД.
3. Остановить БД, затем смонтировать её:
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT
4. Выполнить команду BACKUP
DATABASE:
RMAN> BACKUP
DATABASE;
5. Открыть БД для использования:
RMAN> ALTER DATABASE OPEN;
Сопровождение резервных копий копий
• Выделение канала для задачи сопровождения:
allocate channel for maintenance device
type disk;
• Проверка наличия копий, информация о которых хранится в репозитарии RMAN:
crosscheck backup;
• Удаление из репозитория резервных копий, которые отсутствуют на диске:
delete expired backup;
• Удаление устаревших резервных копий:
delete obsolete backup;
Восстановление целой БД
Сценарий: потеряны файлы данных, управляющие файлы и файлы оперативного журнала сохранились .
Шаги восстановления:
1.
Запустить RMAN.
2.
Установить соединение с целевой БД.
3.
Стартовать экземпляр в режиме MOUNT.
4.
Извлечь файлы из резервной копии:
RMAN>restore database;
5.
Восстановить БД:
RMAN>recover database;
6.
Открыть БД.
RMAN>alter database open;
Восстановление БД
Enterprise Manager и RMAN
• Enterprise Manager предоставляет графический интерфейс к возможностям утилиты RMAN.
• На вкладке Availability можно выполнить основные задачи резервного копирования и восстановления БД.
Создание резервных копий в
EM
Сопровождение резервных копий в
EM
Восстановление БД в ЕМ
Итоги
• Резервное копирование и восстановление БД
Oracle можно делать с помощью RMAN или
Entrprise Manager.
• Наилучшим вариантом является использование утилиты
RMAN.
Курс: Администрирование
СУБД Oracle 11g
Тема: Резервное
копирование и
восстановление БД. Часть
3
Автор: Барабанщиков И.В.
План
• Параметры инициализации
• FLASH RECOVERY AREA
• Подключение к RMAN
• Просмотр конфигурации
• Конфигурирование RMAN
• Политика удержания резервов
• Просмотр структуры БД
Параметры инициализации
Для управления резервными копиями важны следующие параметры:
• CONTROL_FILE_RECORD_KEEP_TIME – число дней, в течении которых RMAN пытается сохранить данные о резервных копиях в управляющем файле.
• DB_RECOVERY_FILE_DEST – расположение области Flash Recovery Area
(FRA).
• DB_RECOVERY_FILE_DEST_SIZE - устанавливает лимит на максимальный размер FRA.
Flash Recovery Area
Flash Recovery
Area - это каталог на диске, где Oracle хранит все файлы, которые необходимы для восстановления
БД:
- Резервные копии
- Архивные журналы
- Журналы
Flashback
Использование RMAN
• Запуск RMAN
$ rman TARGET /
$ rman TARGET SYS@prod
NOCATALOG
$ rman TARGET / CATALOG
rco@catdb
• Выполнение команд
RMAN>SHOW ALL
RMAN>BACKUP DATABASE;
• Выход из RMAN
RMAN> EXIT
Просмотр конфигурации
RMAN
Конфигурирование RMAN
• Конфигурирование устройства, где
будут создаваться резервные копии:
CONFIGURE DEFAULT DEVICE TYPE TO disk;
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
• Конфигурирование типа резервной
копии (Image Copy или Backup Set):
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO
COPY; CONFIGURE DEVICE TYPE DISK BACKUP TYPE
TO BACKUPSET;
• Конфигурирование каналов:
CONFIGURE CHANNEL DEVICE TYPE DISK
MAXPIECESIZE 2G; CONFIGURE CHANNEL DEVICE
TYPE DISK FORMAT /tmp/%U;
Уровень параллелизма
Определяет количество серверных сеансов, которые будут использованы для создания резервной копии:
RMAN> CONFIGURE DEVICE TYPE disk
PARALLELISM 2;
Политика удержания резервов
Политика удержания определяет, как
долго RMAN должен хранить резервы.
Политика удержания задается:
• Числом резервов (redundancy)
CONFIGURE RETENTION POLICY TO REDUNDANCY
1;
• Количеством дней (recovery window)
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW
OF 28 DAYS;
Резервные копии, которые не удовлетворяют политике удержания, помечаются как устаревшие (obsolete).
Политика удержания резервов
Просмотр структуры БД
RMAN> REPORT SCHEMA;
Report of database schema for database with db_unique_name USER350
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 325 SYSTEM *** /u01/student/dbockstd/oradata/USER350system01.dbf
2 325 SYSAUX *** /u01/student/dbockstd/oradata/USER350sysaux01.dbf
4 5 USERS *** /u02/student/dbockstd/oradata/USER350users01.dbf
5 60 DATA01 *** /u02/student/dbockstd/oradata/USER350data01.dbf
6 2 INDEX01 *** /u03/student/dbockstd/oradata/USER350index01.dbf
7 1 COMP_DATA *** /u02/student/dbockstd/oradata/USER350comp_data.
dbf
8 34 UNDO02 *** /u01/student/dbockstd/oradata/USER350undo02.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 50 TEMP 50 /u01/student/dbockstd/oradata/USER350temp01.dbf
Итоги
• RMAN – это гибкая, настраиваемая утилита резервного копирования
• Для удобства работы с
RMAN надо сконфигурировать ее параметры.
• При необходимости отдельные параметры можно менять при каждом сеансе работы.