Создание групп онлайнового журнала
Новые группы онлайнового журнала можно создавать как на этапе создания базы данных, так и позднее. Если это возможно, лучше сформировать все необходимые группы файлов журнала во время создания базы данных.
Для создания новой группы онлайнового журнала используется команда SQL ALTER DATABASE с параметром ADD LOGFILE.
НапALTER DATABASE
ADD LOGFILE ('logl', 'log2') SIZE 500K;
В этом предложении необходимо полностью специфицировать имена новых членов журнала, чтобы указать, где должны располагаться новые файлы операционной системы. В противном случае эти файлы будут созданы в умалчиваемом каталоге сервера базы данных. Если необходимо перекрыть существующий файл операционной системы, то его размер можно не указывать.
В предложении ALTER DATABASE с параметром ADD LOGFILE можно специфицировать номер, идентифицирующий группу, посредством опции GROUP:
ALTER DATABASE
ADD LOGFILE GROUP 10 ('logic', Чодгс*) SIZE 500K;
Использование номеров групп облегчает администрирование этими группами. Однако номера должны лежать в интервале между 1 и MAXLOGFILES. He следует пропускать номера групп, так как это расходует лишнюю память в управляющих файлах базы
данных.
Для создания новых онлайновых групп журнала повторения необходимо иметь системную привилегию ALTER DATABASE.
Создание членов онлайнового журнала
В некоторых ситуациях может потребоваться не создавать полную группу онлайнового журнала. Группа может уже существовать, но быть неполной из-за потери одного или нескольких членов (например, как следствие сбоя диска). В этом случае необходимо добавить дополнительные члены в существующую группу с помощью команды SQL ALTER DATABASE с параметром ADD LOGFILE MEMBER. Например:
ALTER DATABASE
ADD LOGFILE MEMBER '!og2b' TO GROUP 2;
В этом предложении имена файлов должны быть специфицированы, а их размеры - нет. Размер новых членов определяется размером существующих членов указанной группы журнала.
Наряду с номером группы, в команде ALTER DATABASE можно указать целевую группу путем перечисления всех остальных ее членов. Например:
ALTER DATABASE
ADD LOGFILE MEMBER *log2c' ТО С1од2а\ 'log2b');
Переименование и перемещение членов онлайнового журнала Для того чтобы изменить местоположение членов онлайнового журнала, используется процедура их переименования. Такая процедура необходима, например, если диск, содержащий некоторые файлы журнала, вскоре будет удален, или если файлы журнала расположены на одном диске с файлами данных, и их требуется переместить, чтобы уменьшить соперничество.
Прежде чем переименовывать онлайновые члены журнала, следует проверить, что новые онлайновые файлы журнала уже существуют. Шаги, описанные ниже, всего лишь модифицируют внутренние указатели на файлы в управляющих файлах базы данных. Они не реализуют физическое переименование или создание файлов операционной системы. Чтобы скопировать существующие онлайновые файлы журнала на новое место, используются средства операционной системы. Чтобы переименовать члены онлайнового журнала, используется команда SQL ALTER DATABASE с параметром RENAME FILE.
Например:
ALTER DATABASE
RENAME FILE 'logla', Чодга'
TO 'logic*, '1од2с';
В качестве примера рассмотрим следующую ситуацию.
■ База данных в настоящий момент смонтирована, но закрыта.
■ Онлайновый журнал дуплексирован: одна группа состоит из членов LOG1A и LOG IB, вторая - из членов LOG2A и LOG2B. Файлы членов LOG1A и LOG2A расположены на
диске А, файлы LOG IB и LOG2B - на диске В.
■ Онлайновые файлы журнала, находящиеся на диске А, должны быть перемещены на диск С. Их новые имена будут отражать новое местоположение: LOGIC и LOG2C.
Для осуществления этой операции необходимо выполнить перечисленные ниже действия.
1.Сделать резервную копию базы данных.
Прежде чем вносить любые структурные изменения в базу данных (переименование или перемещение членов журнала является таковым), необходимо сделать ее полную копию (включая контрольный файл) на случай каких-либо проблем при выполнении предстоящей операции.
2. Скопировать онлайновые файлы журнала на новое место.
Файлы операционной системы, такие как члены журнала, должны копироваться с помощью соответствующих команд операционной системы.
В рассматриваемом примере файлы LOG1A и LOG2A с диска А должны быть скопированы в новые файлы LOGIC и LOG2C на диск С.
3. Переименовать члены онлайнового журнала. Для этого используется команда SQL ALTER DATABASE с опцией RENAME FILE.
4. Открыть базу данных для нормальной работы.
Изменения в онлайновом журнале будут иметь эффект при очередном открытии базы данных. Открытие БД может потребовать останова текущего экземпляра, если он ранее уже открывал другую базу данных. В противном случае достаточно просто открыть базу данных в текущем экземпляре.
5. Сделать копию контрольного файла.
После переименования или перемещения некоторых файлов журнала необходимо немедленно скопировать управляющий файл базы данных на случай возникновения каких-либо проблем в будущем.
Для переименования членов онлайнового журнала повторения необходимо иметь системную привилегию ALTER DATABASE. Кроме того, могут потребоваться также привилегии операционной системы для копирования файлов на новое место и привилегии
для открытия и копирования базы данных.
Do'stlaringiz bilan baham: |