Каталог статей
Меню сайта


Форма входа


Категории раздела
Oracle DB [72]
Materials concerning Oracle database
Howto [24]
Все про Oracle [65]
Разработка на SQL и PL/SQL для Oracle, анализ работы базы
Построение Web-интерфейса: все что касается JSF, ADF и AJAX [9]
Разное [19]
Solaris [46]
Что касается администрирования Solaris
Linux [29]
Заметки по настройке Linux
AIX [1]
AIX, настройка Oracle на AIX
Java [15]
Cryptography [10]
Windows [1]
Java [35]
PostgreSQL [2]


Поиск


Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Приветствую Вас, Гость · RSS 20.05.2024, 04:15
    Главная » Статьи » Howto

    Как развернуть Standby Oracle
    Установка Standby Database

    1.    Возможные варианты

        а) Режим защиты (protection mode): max protection, max availability (LGWR посылает redo на Standby, режим SYNC или ASYNC), max performance (ARCn посылает redo на Standby)
        б) Размещение — другая машина, неизменное наименование файлов и директории размещения



    2.    Технические особенности

        2.1. На первичной базе не должно быть объектов, не поддерживаемых логическим standby. Наличие таких объектов можно выяснить с помощью view DBA_LOGSTDBY_UNSUPPORTED.

        
        В текущий момент в базе есть объекты, не поддерживающие логический Standby: DOMAIN_TOOLS.CHAINED_ROWS (rowid) и DOMAIN.OBJECT_CHANGES (Compression). Изменения по этим объектам не будут передаваться на Standby (сообщений об ошибках не будет).

        2.2. На первичной базе все таблицы должны иметь уникальный ключ. Наличие таблиц без ключа можно проверить с помощью view DBA_LOGSTDBY_NOT_UNIQUE.

        Сейчас в базе 120 таблиц без уникального ключа.    

    На резервной базе должен быть запущен процесс remote file server (RFS), который принимает данные redu, отправляемые первичной базой.



    3.    Последовательность операций

    3.1.    Установить Oracle Database

    3.1.1.    Проверить пререквизиты

    общая информация по системе:
    prtconf
    metadb -i
    cfgadm -al


    а) набор установленных пакетов

    pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt

    SUNWsprox — не установлен на piglet !
    SUNWsprox – был в Solaris 9, в документации на  Solaris 10 забыли поправить. Для 10 не нужен.

    (монтировать cdrom:
    ls -al /dev/sr* |awk '{print "/" $11}'
    mount -F hsfs -o ro /dev/dsk/c0t3d0s2 /mnt/cd
    )


    б) должна быть установлена Sun One Studio 11

    в) нужны патчи:

    showrev -p – посмотреть текущий список патчей


    127111-02 SunOS 5.10: libc patch
    137111-04 SunOS 5.10: kernel patch
    117837-05: C++ compiler optimizer patch
    117846-08: C++ compiler Optimization patch
    118682-01

    gnu-c
    rda

    /usr/sbin/patchadd -p | grep patch_number

    г) локальный IP адрес и полное доменное имя должны быть в /etc/hosts

    е) создать группы dba, oinstall и пользователя oracle

    Для oracle выставить переменные окружения

    ORACLE_HOSTNAME=somehost.us.example.com
    DISPLAY=local_host:0.0  
    TMP, TMPDIR, ORACLE_BASE, ORACLE_SID

    не должны быть установлены

    ORACLE_HOME и TNS_ADMIN


    ж) проверить/поменять параметры ядра (Resource Control)

    project.max-sem-ids > 100
    process.max-sem-nsems > 256
    project.max-shm-memory > 4294967296
    project.max-shm-ids > 100


    prctl -n project.max-shm-memory $$
    prctl -n project.max-shm-memory -i project default
    prctl -n project.max-shm-memory -v 4gb -r -i project oracle
    projmod -s -K "project.max-shm-memory=(priv,4gb,deny)" oracle
    newtask -v -p default


    и) создать директории: Oracle Base, Oracle Inventory, Oracle Home

        3.1.2. Выполнить установку ПО

    ?? Oracle Universal Installer ?? или скриптом?

    Базу при установке не создаем.

        3.1.3. Сконфигурировать Oracle Net
        3.1.4. Сконфигурировать автостарт базы

    3.2.    Cоздать физический Standby
     
    3.2.1. Подготовить первичную базу

    ALTER DATABASE FORCE LOGGING;
    создать файл паролей
    сконфигурировать параметры для транспортировки REDO на Standby: LOG_ARCHIVE_CONFIG, LOG_ARCHIVE_DEST_1, LOG_ARCHIVE_DEST_2

    LOG_ARCHIVE_DEST_STATE_1=ENABLE
    LOG_ARCHIVE_DEST_STATE_2=ENABLE
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    сконфигурировать параметры переключения в standby: FAL_SERVER, FAL_CLIENT, DB_FILE_NAME_CONVERT, STANDBY_FILE_MANAGEMENT


    3.2.2.    Создать Backup первичной базы (с помощью RMON например)
    3.2.3.    Создать controlfile для Standby-базы на первичной базе

    ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/boston.ctl';

    3.2.4.    Подготовить файл параметров для  Standby-базы

        CREATE PFILE='/tmp/initboston.ora' FROM SPFILE;

    поменять некоторые параметры (DB_UNIQUE_NAME, SERVICE_NAMES и т.д....)

    3.2.5.    Установить Oracle и создать Instance Standby-базы

    создать файл паролей
    сконфигурировать listener
    установить таймаут в SQLNET.ORA: SQLNET.EXPIRE_TIME=2
    создать имена Oracle Net service names.
    Восстановить базу из backup'а
    rman:
    nls_date_format=dd-mm-yy hh24:mi:ss
    export NLS_LANG=american_america.we8iso8859p15






    Стартовать: STARTUP OPEN READ ONLY;

    startup mount pfile=rdb_init.ora;


    3.2.6.    Включить применение REDO на Standby базе

    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION

    !! Открыть базу в режиме READ ONLY

    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
    ALTER DATABASE OPEN;

    !! Переключить standby базу в режим primary

    на primary:
    ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH
    SESSION SHUTDOWN;
    SHUTDOWN IMMEDIATE;
    STARTUP MOUNT;

    на standby:
    SELECT SWITCHOVER_STATUS FROM V$DATABASE;
    - должен быть или TO PRIMARY or SESSIONS ACTIVE

    ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

    ALTER DATABASE OPEN;


    !!(при этом нужно убедиться, что присутствуют TEMP-файлы
    select tablespace_name,file_name,bytes from dba_temp_files;
    и redo-файлы
    alter system switch logfile;
    select group#, status from v$log;
    ALTER SYSTEM CHECKPOINT GLOBAL;
    alter database clear logfile group 1;

    )

    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;


    на бывшем primary:

    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE
     DISCONNECT FROM SESSION;
    /opt/oracle10/product/11.1.0/Db_1/admin/rdb/diag/rdbms/rdb/rdb/trace


    3.3.    Перевести Standby из физического в логический


    3.3.1.    Сконфигурировать на резервной базе Redo Log

    Размер standby redo log должен быть в точности равен или быть больше, чем размер лог файла на первичной базе.

    alter database add standby logfile group 3 ('/u01/app/oracle/oradata/stdby/redo_3a.dbf','/u01/app/oracle/oradata/stdby/redo_3b.dbf') size 200M;


    На резервной базе должно быть, по крайней мере, на 1 группу больше, чем на первичной базе. В зависимости от количества потоков (threads) и нагрузки может потребоваться большее количество групп standby redo log.

    !! Важно, чтобы параметры MAXLOGFILES и MAXLOGMEMBERS на первичной базе позволяли установить требуемое количество лог файлов и групп, иначе придется пересоздавать первичную базу.

    Проверить созданный standby log можно так:

    SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;


    3.3.2.    Остановить применение лога на резервной (физической) базе

    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


    3.3.3.    Сгенерировать на первичной базе словарь для LogMiner


    begin
      DBMS_LOGSTDBY.BUILD;
    end;


    3.3.4.    Запустить на резервной базе переход к логическому резерву и перезапустить базу


    ALTER DATABASE RECOVER TO LOGICAL STANDBY <новый sid>;

    STARTUP MOUNT;
    ALTER DATABASE OPEN RESETLOGS;


    Добавить файл во временное файловое пространство

    ALTER TABLESPACE TEMP1 ADD TEMPFILE
    3.3.3.    Запустить режим логического Standby
    ALTER DATABASE START LOGICAL STANDBY APPLY;



    Категория: Howto | Добавил: basil (28.10.2010)
    Просмотров: 2535 | Комментарии: 5 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Бесплатный конструктор сайтов - uCoz