-
Конфигурация Oracle 11g DataGuard
База данных Oracle 11g Enterprise Edition, выпуск 11.1.0.6.0 — 64-битная производственная версия
Red Hat Enterprise Linux Server версии 5.3 (Тиканга)
1. Подготовка тестовой среды
1. Основная и резервная базы данных имеют одну и ту же версию Oracle и работают на одной и той же платформе, например Linux, но серверное оборудование может быть разным.
2. Основная база данных должна работать в архивном режиме и обязательно открыть FORCE LOGGING в основной базе данных, чтобы пользователи не могли записать повтор с помощью nologging и других методов, что приведет к сбою передачи соответствующих операций в резервную базу данных.
3. Как основная, так и резервная базы данных могут применяться в одном экземпляре или в архитектуре RAC, а одна и та же конфигурация защиты данных может сочетать логический резервный и физический резерв.
4. Рекомендуется, чтобы база данных использовала одну и ту же архитектуру хранения. Например, если ASM/OMF используется для хранения, ASM/OMF необходимо использовать независимо от того, является ли он основным или резервным.
5. Среда резервной библиотеки такая же, как и среда основной библиотеки.
2. Настройте основную библиотеку
1. Измените основную базу данных на принудительный режим журнала.
изменить принудительное ведение журнала базы данных;
2. Создайте пароль
orapwd file=$ORACLE_HOME/dbs/orapwtest пароль=тестовые записи=3
3. Измените параметры инициализации основной библиотеки.
db_unique_name = 'test01'
db_name указывает имя базы данных, db_unique_name указывает различные имена базы данных (основная база данных и резервная база данных), что является уникальным идентификатором db_name. Фактически, это различие баз данных с одинаковым именем db_name для облегчения применения и управления. Это параметр после 10г.
log_archive_config='DG_CONFIG=(test01,test02)'
test01, test02 — это .db_unique_name
log_archive_dest_1='location=/u01/app/oracle/arch/test/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test01'
log_archive_dest_2 = 'SERVICE=test_db_02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test02'
Определите log_archive_dest_state_1
log_archive_dest_state_1= Enable #По умолчанию включено
log_archive_dest_state_2= включить
/*Следующие части используются для переключения хоста на резервную базу данных*/
fal_server=test_db_02
fal_client=test_db_01
standby_file_management=авто
#Если файлы или пути первичной и вторичной базы данных различаются
db_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
log_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
Рекомендуется использовать файл параметров spfile, чтобы параметры можно было изменять с помощью команд непрерывной библиотеки.
4. Убедитесь, что база данных работает в режиме архивного журнала.
SQL> список архивных журналов
Режим журнала базы данных Нет режима архивирования
Автоматическое архивирование отключено
Назначение архива USE_DB_RECOVERY_FILE_DEST
Самая старая последовательность онлайн-журналов 2
Текущая последовательность журналов 4
Настройте базу данных в режим архивного журнала.
SQL> немедленное завершение работы
SQL> монтирование при запуске
SQL> изменить архивный журнал базы данных;
SQL> изменить базу данных, открытую;
5. Создать резервный журнал на основной базе (для переключения)
изменить базу данных, восстановить управляемую резервную базу данных, отменить;#Не выполнено
SQL>ALTER DATABASE ДОБАВИТЬ РЕЗЕРВНУЮ ГРУППУ ФАЙЛОВ ЖУРНАЛА 4 РАЗМЕР 50M;
SQL>ALTER DATABASE ДОБАВИТЬ РЕЗЕРВНУЮ ГРУППУ ФАЙЛОВ ЖУРНАЛА 5 РАЗМЕР 50M;
SQL>ИЗМЕНИТЬ БАЗУ ДАННЫХ ДОБАВИТЬ РЕЗЕРВНУЮ ГРУППУ ФАЙЛОВ ЖУРНАЛА 6 РАЗМЕР 50M;
mkdir -p /u01/app/oracle/standby/test
SQL> изменить базу данных, добавить резервную группу файлов журнала 4 ('/u01/app/oracle/standby/test/stdby_redo04.log') размером 50 МБ;
SQL> изменить базу данных, добавить резервную группу файлов журнала 5 ('/u01/app/oracle/standby/test/stdby_redo05.log') размером 50 МБ;
SQL> изменить базу данных, добавить резервную группу файлов журналов 6 ('/u01/app/oracle/standby/test/stdby_redo06.log') размером 50 МБ;
SQL>альтер базы данных, восстановление управляемой резервной базы данных, отключение от сеанса;#Не выполнено
3. Создайте резервную базу данных.
1. Создайте файл pwd в резервной базе данных.
orapwd file=$ORACLE_HOME/dbs/orapwtest пароль=тестовые записи=3
Пароль должен быть таким же, как и у основной базы данных.
2. Измените параметры инициализации резервной базы данных, которые отличаются от параметров инициализации основной базы данных, следующим образом:
db_unique_name=test02
log_archive_dest_1='location=/u01/app/oracle/arch/test valid_for=(all_logfiles,all_roles) db_unique_name=test02'
log_archive_dest_2='service=test_db_01 ARCH ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=test01'
fal_client='test_db_02'
fal_server = 'test_db_01'
db_file_name_convert='/u01/app/oracle/oradata/TEST01/datafile','/u01/app/oracle/oradata/TEST02/datafile'
log_file_name_convert='/u01/app/oracle/oradata/TEST01/onlinelog','/u01/app/oracle/oradata/TEST02/onlinelog', '/u01/app/oracle/flash_recovery_area/TEST01/onlinelog','/u01 /app/oracle/flash_recovery_area/TEST01/onlinelog'
После изменения используйте следующий оператор для просмотра
SQL> выберите * из V$DATAGUARD_CONFIG;
DB_UNIQUE_NAME
-------------------------------------------------- ---------------------------------------
тест01
тест02
4. Создайте соответствующие каталоги, каталог файла дампа, каталог файла данных и каталог архива.
mkdir -p /u01/приложение/oracle/oradata
mkdir -p /u01/app/oracle/flash_recovery_area
mkdir -p /u01/app/oracle/arch/test
5. Настройте файлы Listener.ora и tnsnames.ora резервной базы данных, чтобы перезапустить прослушивание с основной базой данных и проверить, может ли tnsping пройти.
6. Запустите резервную базу данных в немонтированном состоянии.
SQL> номер запуска
7. Используйте функцию дублирования RMAN для создания резервной базы данных. 11g может скопировать ее непосредственно в резервную базу данных без создания резервной копии:
RMAN> rman вспомогательный /
подключить целевой sys/test@test_db_01
дублировать целевую базу данных для резервного восстановления nofilenamecheck;
Проверьте состояние резервной базы данных
SQL> выберите роль_базы_данных,режим_защиты,уровень_защиты из v$database;
SQL> выберите последовательность #, примененную из v$archived_log, в порядке последовательности #;
8. Запустите основную библиотеку приложения Redo.
SQL> изменить текущий журнал системного архива;
Резервная база данных, 11g может открыть журнал приложений базы данных только для чтения.
SQL> изменить базу данных, открыть только для чтения;
SQL> изменить базу данных, восстановить управляемую резервную базу данных, отключиться от сеанса;
Вы также можете использовать функцию «Альтерация базы данных» для восстановления управляемой резервной базы данных с использованием отключения текущего файла журнала от журнала приложения;
Если текущий файл журнала не используется, примените резервный архивный журнал.
Использование текущего файла журнала применяется, когда журнал передается в резервный журнал повторов. Он ведется в режиме реального времени и должен иметь резервный журнал повторов.
4. Режим управления и режим только для чтения резервного сервера.
1. Загрузитесь в режим управления.
SQL>немедленное завершение работы;
SQL>номер запуска;
SQL>изменить резервную базу данных для монтирования базы данных;
SQL>альтер базы данных, восстановление управляемой резервной базы данных, отключение от сеанса;
2. Загрузитесь в режиме только для чтения.
SQL>немедленное завершение работы;
SQL>номер запуска;
SQL>изменить резервную базу данных для монтирования базы данных;
SQL>alter база данных открыта только для чтения;
(3) Если вы перейдете в режим только для чтения в режиме восстановления управления
SQL> восстановление управляемой резервной базы данных, отмена;
SQL> изменить базу данных, открыть только для чтения;
В это время вы можете добавлять временные файлы данных в базу данных (при горячем резервном копировании они не сохраняются).
нравиться
изменить температуру табличного пространства, добавить временный файл '/u02/oradata/test/temp01.dbf' размером 100 МБ;
5. Из режима только для чтения в режим управляемого восстановления
SQL> восстановить управляемую резервную базу данных, отключиться от сеанса;
5. Переключение между активной и резервной базами данных.
lsnrctl стоп
SQL> изменить фиксацию базы данных для переключения в физический режим ожидания с завершением сеанса;
SQL> немедленное завершение работы;
SQL> монтирование при запуске;
SQL> изменить базу данных, восстановить управляемую резервную базу данных, отключиться;
lsnrctl старт
Резервное копирование
SQL> изменить фиксацию базы данных для переключения на основную;
SQL> немедленное завершение работы;
SQL> запуск
6. Во вложении ниже находится содержимое файла конфигурации:
слушатель.ора
СЛУШАТЕЛЬ =
(ОПИСАНИЕ=
(АДРЕС = (ПРОТОКОЛ = TCP) (ХОСТ = oracle6) (ПОРТ = 1521))
)
tnsnames.ora
TEST_DB_02 =
(ОПИСАНИЕ=
(ADDRESS_LIST =
(АДРЕС = (ПРОТОКОЛ = TCP)(ХОСТ = 192.168.202.5)(ПОРТ = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test02)
)
)
TEST_DB_01 =
(ОПИСАНИЕ=
(ADDRESS_LIST =
(АДРЕС = (ПРОТОКОЛ = TCP)(ХОСТ = 192.168.202.6)(ПОРТ = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test01)
)
)
файл
test.__db_cache_size=1526726656
test.__java_pool_size=16777216
test.__large_pool_size=16777216
test.__oracle_base='/u01/app/oracle'#ORACLE_BASE устанавливается из среды
test.__pga_aggregate_target=1342177280
test.__sga_target=2013265920
test.__shared_io_pool_size=0
test.__shared_pool_size=436207616
test.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/test/adump'
*.audit_trail='дб'
*.совместимость='11.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/test/control01.ctl','/u01/app/oracle/oradata/test/control02.ctl','/u01/app/oracle/oradata/test/ control03.ctl'
*.db_block_size=8192
*.db_domain='greatsky.com'
*.db_name='тест'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.db_unique_name='test01'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(ПРОТОКОЛ=TCP) (СЕРВИС=testXDB)'
*.fal_client='TEST_DB_01'
*.fal_server='TEST_DB_02'
*.log_archive_config='dg_config=(test01,test02)'
*.log_archive_dest_1='location=/u01/app/oracle/arch/test/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test01'
*.log_archive_dest_2='SERVICE=test_db_02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test02'
*.memory_target=3347054592
*.open_cursors=300
*.процессы=150
*.remote_login_passwordfile='ЭКСКЛЮЗИВНЫЙ'
*.service_names='test.greatsky.com','test01.greatsky.com'
*.standby_file_management='АВТО'
*.undo_tablespace='UNDOTBS1'