Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике 3.9 Резервное копирование и восстановлениеОперации резервного копирования и восстановления в Oracle можно разделить на три вида: 1. Логическое резервное копирование - производится при помощи входящей в состав Oracle утилиты ехр, которая позволяет экспортировать всю базу, заданные схемы или таблицы. В случае экспорта всей базы выполняется так называемый полный экспорт (при этом экспортируются все таблицы базы данных) или инкрементный (выгружаются таблицы, изменившиеся с момента последнего экспорта). Для Oracle 10g ХЕ, в котором объем базы не превышает 4 Гбайт, можно пользоваться полным экспортом. 2. Физическое резервное копирование - выполняется после установки базы и предполагает копирование файлов данных, управляющих файлов, оперативных журналов повтора и файла init.ora с настройками базы. 3. Оперативное резервное копирование - осуществляется в базе, функционирующей в режиме ARCHIVELOG. В этом режиме производится архивация оперативных журналов повтора и ведется журнал всех транзакций.
Для небольших учебных баз данных наиболее простым и надежным является полное логическое резервное копирование и физическое резервное копирование. Логическое резервное копирование выполняется при помощи утилиты ехр.ехе, размещенной в папке oraclexeapporacleproduct10.2.0serverBIN. Утилита является консольным приложением, получающим параметры через командную строку. Поскольку параметров обычно бывает много (5-10 штук), удобно создать профиль с параметрами и затем передать его утилите экспорта при помощи параметра parfile. Рассмотрим пример типовых профилей. Для начала решим наиболее распространенную задачу — создание резервной копии одной или нескольких схем. В качестве примера рассмотрим копирование схемы STUDENT с учебным примером. Для этого создадим текстовый файл exp_stud.prm, содержащий следующие строки: USERID = имя/пароль
Затем произведем экспорт, выполнив команду ехр parfile=exp_stud.prm, в результате чего будет создан файл ora10stud.dmp, содержащий резервную копию схемы STUDENT. Этот файл имеет бинарный формат и очень хорошо сжимается любым архиватором, поэтому для автоматизации процедуры резервного копирования удобно создать ВАТ- файл, содержащий команду экспорта и вызов архиватора для сжатия полученного дампа. В нашем случае параметр USERID содержит имя и пароль для доступа к базе данных, параметр LOG задает имя файла, в который записывается протокол работы, параметр FILE задает имя файла резервной копии, OWNER — одна или несколько экспортируемых схем (если указывается несколько схем, то они перечисляются через запятую). Для выполнения полного экспорта профиль немного изменится: USERID = имя/пароль
Важным моментом является то, что экспорт конкретной схемы можно выполнять от имени ее владельца, но для полного экспорта необходимо обладать ролью DBA, в противном случае попытка полного экспорта завершится ошибкой ЕХР-00023 с сообщением «Must be a DBA to do Full Database or Tablespace export». Размер дампа в случае полного экспорта пустой базы Oracle 10g ХЕ составляет 43 Мбайт (9 Мбайт после сжатия WinRar). Настоятельно рекомендуется выполнять периодическое резервное копирование даже на учебной базе — известны десятки и сотни случаев, когда в ходе изучения Oracle происходит повреждение базы, удаление пользователя или иная операция, приводящая к потере созданных объектов. Логический импорт является зеркальной операцией по отношению к экспорту и выполняется при помощи утилиты IMP. В ходе импорта необязательно импортировать всю имеющуюся в дампе информацию — можно произвести импорт заданных схем или таблиц. Параметры утилиты IMP удобно размещать в профилях, например для импорта схемы STUDENT можно применить профиль следующего вида: USERID = student/student LOG = oralOstudimp.log
FILE =
oralOstud.dmp
Параметр FROMUSER указывает, из каких учетных записей в дампе берется информация, a TOUSER — в какие учетные записи она импортируется. Это очень удобная возможность утилиты импорта, так как она позволяет импортировать данные одной схемы в другую. Параметры ROWS (строки таблиц), GRANTS (полномочия на объекты), INDEXES (индексы) указывают, какие типы объектов импортируются. Рассмотрим несколько типичных ситуаций, встречающихся на практике: необходимо импортировать объекты учетной записи STUDENT в учетную запись STUDENT1. В этом случае следует задать параметры FROMUSER=STUDENT и TOUSER= STUDENT1; Перед импортом необходимо удалить все объекты из схемы, иначе в процессе импорта будут выдаваться ошибки IMP-00015 для каждой импортируемой таблицы (импорт данных в этом случае не производится). Если по каким-либо причинам необходимо загрузить данные в существующую таблицу, то можно применить параметр IGNORE=Y. что приведет к игнорированию ошибок при создании объектов и к продолжению импорта данных. Однако в случае применения параметра IGNORE=Y необходимо учитывать, что в таблицах без первичного ключа может возникнуть удвоение записей (так как каждая операция импорта загружает новые данные, а старые при этом не уничтожаются). У IMP есть одна интересная функция — вместо выполнения команд в базе данных эта утилита выводит их в протокол, генерируя тем самым скрипты, содержащие DML-операторы. Для включения этой функции необходимо указать параметр SHOW=Y.
|
1 |
Оглавление
|