К основному контенту

Сообщения

Показаны сообщения с ярлыком "backup"

Полное восстановление БД Oracle на новую машину.

Предварительное замечание: если (вдруг) используется windows предварительно нужно создать новый экземпляр с помощью oradim. Итак: export ORACLE_SID=mysid Создаём pfile с необходимыми параметрами cat > initmysid.ora <<EOF db_name=yourdbname db_unique_name=instance EOF В большинстве случаев этого достаточно startup nomount Восстанавливаем controlfile из имеющейся резервной копии. RMAN> restore controlfile from '/home/oracle/stage/o1_mf_s_819826669_8x7w7g70_.bkp'; shutdown immediate startup mount; Сообщаем базе, где лежат резервные копии: RMAN> catalog start with '/home/oracle/stage'; Перед тем как восстанавливать БД неплохо было бы узнать последний хороший scn, дабы уберечься от ошибки на последней стадии (alter database open resetlogs ). Самый простой способ сделать это такой - после восстановления контрольного файла подключаемся as sysdba к mount базе и выполняем следующий запрос: SQL> column scn format 999999999999999 se...

Влияние параметра DB_ULTRASAFE на производительность базы.

Рекомендации по результатам расследования инцидента с повреждёнными блоками на промышленном кластере. Рекомендации orachk (раздел Maximum Availability Architecture (MAA) Scorecard): Провести настройку параметров: DB_BLOCK_CHECKSUM=FULL DB_LOST_WRITE_PROTECT=TYICAL/FULL DB_BLOCK_CHECKING=MEDIUM/FULL To achieve the most comprehensive data corruption prevention and detection , use Oracle Active Data Guard and configure DB_BLOCK_CHECKSUM,DB_LOST_WRITE_PROTECT and DB_BLOCK_CHECKING database initialization parameters on the primary database and all standby databases in a Data Guard environment. Установку этих параметров по отдельности можно заменить на установку единого параметра DB_ULTRA_SAFE: DATA_ONLY - эквивалент: DB_BLOCK_CHECKING = MEDIUM. DB_LOST_WRITE_PROTECT = TYPICAL. DB_BLOCK_CHECKSUM = FULL. DATA_AND_INDEX - эквивалент: DB_BLOCK_CHECKING = FULL. DB_LOST_WRITE_PROTECT = TYPICAL. DB_BLOCK_CHECKSUM = FULL. Для установки степени влияния указанных ...

Автоматическое обновление snaphot standby

Задача: раз в сутки обновлять snapshot standby базу до актуального состояния. Делается это путем перевода в physycal standby и наката накопленных за день архивов.  После завершения обновления база снова переключается в snapshot standby. Для Windows: @echo off set ORACLE_SID=axtest set ORACLE_HOME=G:\oracle\ora11204 set prim_db=prd set std_db=std set cred=sys/p@S$w0Rd echo #################################################################### echo Refresh started at %time%  echo . echo #################################################################### set role = PHYSICAL %ORACLE_HOME%\bin\dgmgrl %cred%@%prim_db% "convert database %std_db% to %role% standby" echo  Now we are waiting for apply to finish. It'll take some time. echo ... :wait  ping 127.0.0.1 -n 30 >null %ORACLE_HOME%\bin\dgmgrl %cred%@%prd% "show database %std%" > log\lag.tmp for /f "tokens=3 delims= " %%i in ('find "Transport Lag" log\lag.tmp...

Работа с архивлогами

Включение режима архивлог. CONNECT sys AS SYSDBA STARTUP MOUNT EXCLUSIVE -- really exclusive ? ALTER DATABASE ARCHIVELOG; -- NOARCHIVELOG to disable ARCHIVE LOG START; ALTER DATABASE OPEN; Список архивлогов, которые не были забекаплены list archivelog all backed up 0 times to disk/sbt_tape; Есть баг, когда Golden Gate держит архзивлоги, которые реально ему уже не нужны: RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process В таком случае, при острой необходимости можно их удалить с ключом force. Для пущей безопасности удалить можно только уже забекапленные логи и те, которые старше одного дня. delete force archivelog all backed up 1 times to device type sbt_tape completed before 'sysdate-1'; Как вытащить арихвлог из имеющегося бекапа. RMAN> run {  allocate channel t1 type 'sbt_tape';  set archivelog destination to 'C:\REPL';  restore archivelog sequence between 46435 and  46438 ;  release channel...

Использование flashback database

Настройка 1. Настроен ли Flashback select flashback_on from v$database; FLASHBACK_ON ------------------ NO 2. Настройка FRA show parameter db_recovery_file_dest show parameter db_recovery_file_dest_size Если не настроена alter system set db_recovery_file_dest='+<FRA Diskgroup>' SCOPE=spfile; alter system set db_recovery_file_dest_size=100G SCOPE=spfile; 3. Настройка Flashback shutdown immediate; startup mount; alter database flashback on; alter database open; select flashback_on from v$database; FLASHBACK_ON ------------------ YES alter system set db_flashback_retention_target=2880; 4. Создание точки восстановления. CREATE RESTORE POINT before_upgrade; CREATE RESTORE POINT before_upgrade GUARANTEE FLASHBACK DATABASE; Откат изменений с использованием технологии flashback. CONN / AS SYSDBA SHUTDOWN IMMEDIATE STARTUP MOUNT EXCLUSIVE --не уверен, что обязательно exclusive ? FLASHBACK DATABASE TO RE...

Улучьшения планировщика заданий в Oracle 12c

Планировщик двенадцатого оракла позволяет запускать задания основанные на скриптах (bash/rman). Это особенно удобно в среде RAC, так как расписание будет храниться в едином хранилище, а не в crontab каждого узла. В старых версиях тоже была возможность вызывать внешние скрипты, но для этого требовались определенные танцы с бубном. Сейчас же всё легко и просто. Для создания этих заданий требуются привилегии CREATE JOB, CREATE EXTERNAL JOB и  CREATE CREDENTIAL . 1.  Для начала нужно создать ссылку на учетную запись ОС. С этими правами и будет работать скрипт. BEGIN  DBMS_CREDENTIAL.create_credential(                          credential_name   => 'oracle_os',                          username          => 'oracle',               ...

Использование Oracle Total Recall

1. Создание табличного пространства под архив:   CREATE TABLESPACE FLASH_ARCH_TS datafile         SIZE 10M AUTOEXTEND ON NEXT 100M; 2. Создание архива с периодом хранения год: CREATE FLASHBACK ARCHIVE FLASH_ARCH TABLESPACE FLASH_ARCH_TS RETENTION 1 YEAR; 3. Выдача прав для использования архива:    GRANT FLASHBACK ARCHIVE ON FLASH_ARCH TO DBAX;    ALTER FLASHBACK ARCHIVE FLASH_ARCH SET DEFAULT; 4. Включение архива для новой таблицы: CREATE TABLE  FB_TEST  (   id          NUMBER,   text  VARCHAR2(50)    ) FLASHBACK ARCHIVE [FLASH ARCH];   или    ALTER TABLE FB_TEST FLASHBACK ARCHIVE [ FLASH_ARCH] ;  для уже существующей таблицы. 5. Тест. Пробуем вставить данные в таблицу, затем убеждается, что 5 секунда назад их не было. insert into  FB_TEST    values(1,'test'); commit; select * from  FB_TEST   AS O...

Импорт схемы БД с удаленного сервера.

Задача: Провести реимпорт данных с удаленного сервера. Задача осложняется слабым каналом, а также версией Oracle - Standart Edition One, которая не поддерживает datapump опции compression = all. Имя схемы передается в качестве параметра (%1) для пакетного файла. rem Считаем, что имя хоста совпадает с именем базы в TNS set rem_hst=REMOTE rem rem_dir - это data_pump_dir на удаленной машине. set rem_dir=oracle\ora11\RDBMS\log rem Login и пароль для net use'a set rem_usr=localhost\dbax set rem_psw=p@S$w0Rd rem Экспорт дампа и архивирование его через wmic. expdp  dbax/ p@S$w0Rd @%rem_hst% dumpfile=%1.dmp schemas=%1 logfile=%1.log reuse_dumpfiles=yes wmic /node:"%rem_hst%" /user:%rem_usr% /password:"%rem_psw%" process call create "zip E:\%rem_dir%\%1.zip E:\%rem_dir%\%1.dmp" rem Копирование с возобновлением в случае падения сети. net use \\%rem_hst%\e$ /user:%rem_usr% %rem_psw% :copy copy \\%rem_hst%\e$\%rem_dir%\%1.zip c:\app\oracle\da...

Настройка Streaming replication в Postgresql

1. Настроить ключи ssh для пользователя репликации 2. Настроить pg_hba.conf на master и  slave host  replication  all  192.168.0.1/32  trust host  replication  all  192.168.0.2/32  trust 3. На master: vi postgresql.conf wal_level = hot_standby max_wal_senders = 5 wal_keep_segments = 32 archive_mode    = on     archive_command = 'cp %p /path_to/archive/%f' 4. Клонировать master на  slave psql -c "SELECT pg_start_backup('label', true)" rsync -C -a --delete -e ssh --exclude postgresql.conf --exclude postmaster.pid \ --exclude postmaster.opts --exclude pg_log --exclude pg_xlog \ --exclude recovery.conf master_db_datadir/ slavedb_host:slave_db_datadir/ psql -c "SELECT pg_stop_backup()" или pg_basebackup -R -D /srv/pgsql/standby -h 192.168.0.1 -p 5432 5. На  slave : vi postgresql.conf hot_standby = on vi datadir/recovery.conf standby_mod...