![]() |
|
Программирование >> Oracle
398 Глава 8 спортирование базы данных, она проверит весь словарь данных и найдет в нем любую логическую несогласованность. Кроме того, она полностью просмотрит каждую таблицу в базе данных, читая все строки. Если имеется таблица со сбойным блоком, этот блок будет найден. Утилита не выявляет определенные типы логических повреждений, например индекс, указывающий на несуществующие строки, поскольку просто просматривает таблицы, но обнаружит наиболее существенные ошибки (индекс всегда можно пересоздать, а вот пересоздание таблицы иногда невозможно). Поскольку утилита ЕХР полностью читает таблицу, она также находит блоки, требующие очистки. Это дополнительный шанс предотвратить спорадические ошибки ORA-01555 (подробнее об этом см. в главе 5). После экспортирования всей базы данных и проверки результатов (поиска ошибок в журналах), я делаю полный импорт в режиме SHOW. Эта процедура имеет интересный побочный эффект: создает большой журнальный файл, содержащий все операторы ЯОД, текст всех процедур, триггеров, представлений и т.д. В экстренных случаях я неоднократно использовал этот журнал для восстановления пропавшего фрагмента кода. Кроме того, если таблица случайно удалена, можно быстро восстановить ее из файла DMP, не обращаясь к реальным резервным копиям. Если есть место для хранения файлов DMP (они очень хорошо упаковываются), я рекомендовал бы выполнять экспортирование базы данных в часы минимальной нагрузки. В разделе Экспортирование больших объемов данных будет представлен сценарий для UNIX-систем, экспортирующий данные непосредственно в сжатые файлы, что позволяет экономить много места. Извлечение операторов ЯОД Утилита ЕХР - замечательное средство извлечения операторов ЯОД, формирующих базу данных (как было показано в главе 6). С ее помощью очень просто получить подробный оператор CREATE для многих объектов. В разделе Получение операторов ЯОД мы подробно рассмотрим эту возможность. Клонирование схем Утилиты ЕХР и IMP можно использовать для клонирования схемы с целью тестирования. С помощью опций FROMUSER и TOUSER команды IMP данные с легкостью переносятся от одного пользователя к другому. Это также официально поддерживаемый метод переименования пользователя: необходимо экспортировать схему пользователя, импортировать эти данные в схему нового пользователя и, проверив успешность операции, удалить учетную запись старого пользователя. Перенос табличных пространств Утилиты ЕХР и IMP могут использоваться для переноса табличного пространства или набора табличных пространств. Эта возможность, доступная только в Oracle 8i, позволяет взять сформатированные файлы данных из одного экземпляра и подключить их к другому. Рассмотрим ситуацию, когда на общедоступном Web-сайте необходимо опубликовать большой каталог. Можно создать каталог с внутренней стороны брандма- Импорт и экспорт 399 уэра, настроить и протестировать его. Затем для публикации каталога можно просто экспортировать соответствующее табличное пространство и все связанные с ним пространства (со всеми служебными структурами наподобие индексов) и скопировать полученные файлы данных на серверы вне брандмауэра. Не нужно больше сбрасывать и загружать данные для их публикации - переключение со старого каталога на новый выполняется очень быстро. Преимущества использования этого приема в среде хранилищ данных очевидны: вместо классического процесса ETL (Extract, Transform, Load - извлечь, преобразовать, загрузить) можно выполнить только L (Load - загрузить), присоединив файлы данных из оперативной базы к хранилищу данных и использовав для преобразования операторы SQL. Я также интенсивно использовал эту возможность в среде тестирования и разработки. Чтобы протестировать программное обеспечение, всегда приходится сбрасывать базу данных. С помощью переносимых табличных пространств это можно сделать быстро, без восстановления всей базы данных, что позволяет тестировать в одной и той же базе данных несколько разных проектов (они не будут сбрасывать данные друг друга). Таким образом, можно использовать один экземпляр базы данных, а не держать по экземпляру для каждого проекта. Пересоздание экземпляров Использование утилит ЕХР и IMP -эффективный способ пересоздания экземпляра небольшого размера. Если, например, необходимо изменить размер блока базы данных, утилиты ЕХР и IMP оказываются подходящим средством. Возможно, для экземпляров с большим объемом данных это неприемлемо из-за большой продолжительности процесса, но для систем с объемом данных в несколько гигабайт - это вариант. Я бы не стал применять такой подход для экземпляра с терабайтами данных (да и вообще для базы данных объемом более 15 гигабайт). Копирование данных с одной платформы на другую Утилиты ЕХР и IMP - прекрасное средство копирования данных с одной платформы на другую, даже путем пересылки их по электронной почте. Если создать файл DMP на одной платформе, его можно импортировать на любой другой - данные хранятся в виде, не зависящем от платформы, хотя файл DMP и двоичный. Есть и другие варианты творческого использования этих утилит, но основные уже перечислены. Теперь я постараюсь ответить на часто задаваемые вопросы, возникающие при использовании утилит ЕХР и IMP, и опишу применение этих утилит. Особенности использования утилит В этом разделе мы рассмотрим многие из часто задаваемых по поводу утилит IMP и ЕХР вопросов типа Как сделать... . Прежде всего я опишу наиболее существенные опции утилит и их назначение. 400 Глава 8 Опции Параметры для утилит ЕХР и IMP задаются в виде пар имя-значение. Используется или такой вызов: exp parametername = value или: exp parametername = (value1,value2,value3...) Второй метод удобен для выполнения определенных операций, например, экспортирования на уровне таблиц, а также для экспортирования нескольких таблиц за раз. Опции утилит IMP и ЕХР можно задавать в файле параметров, чтобы не набирать их постоянно в командной строке. Как ЕХР, так и IMP поддерживает опцию HELP = Y, которая выдает на экран краткую информацию об использовании. Она пригодится в том случае, когда требуется уточнить имя параметра. Если просто ввести в командной строке ЕХР или IMP и нажать клавишу Enter, утилиты будут запушены в интерактивном режиме и начнут поочередно запрашивать значения необходимых параметров. Параметры утилиты ЕХР Вот что выдаст ЕХР, ес передать только параметр HELP = Y: С:\ехр>ехр help=y Export: Release 8.1.6.0.0 - Production on Mon Mar 19 14:11:23 2001 (c) Copyright 1999 Oracle Corporation. All rights reserved. You can let Export prompt you for parameters by entering the EXP command followed by your username/password: Example: EXP SCOTT/TIGER Or, you can control how Export runs by entering the EXP command followed by various arguments. To specify parameters, you use keywords: Format: EXP KEYWORD=value or KEYWORD=(valuel,value2,...,valueN) Example: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) or TABLES=(T1:P1,T1:P2), if T1 is partitioned table USERID must be the first parameter on the command line. Keyword Description (Default) Keyword Description (Default) USERID username/password FULL export entire file (N) BUFFER size of data buffer OWNER list of owner usernames FILE output files (EXPDAT.DMP) TABLES list of table names COMPRESS import into one extent (Y) RECORDLENGTH length of 10 record GRANTS export grants (Y) INCTYPE incremental export type INDEXES export indexes (Y) RECORD track incr. export (Y)
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |