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

Сообщения

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

Перемещение ORACLE_HOME с диска на диск (Windows)

Перемещать будем с "C:\\oracle\\product\\12.1.0" в "D:\\oracle\\product\\12.1.0". Экземпляр БД называется DBAX. Заходим на сервера под локальным администратором (по совместительству в группе ora_dba). Экземпляр пока может работать. xcopy  C:\\oracle\\product\\12.1.0 D:\\oracle\\product\\12.1.0 Дожидаемся окончания процесса Открываем первое окно с cmd и выполняем: C:\>set ORACLE_HOME=C:\\oracle\\product\\12.1.0 C:\>set PATH=C:\\oracle\\product\\12.1.0\\OPatch;C:\\oracle\\product\\12.1.0\\bin;%PATH% C:\>opatch version C:\>opatch lsinventory Открываем второе окно с командной строкой: D:\>set PERL5LIB=D:\\oracle\\product\\12.1.0\\perl\\lib D:\>set PATH=D:\\oracle\\product\\12.1.0\\perl\\5.8.3\\bin\\MSWin32-x86-multi-thread;%PATH% D:\>perl %ORACLE_HOME\clone\bin\clone.pl ORACLE_HOME="D:\\oracle\\product\\12.1.0" ORACLE_HOME_NAME="OraDB11gR1_home" ORACLE_BASE="D:\\oracle" Убеждаемся, что: The cloning...

Автоматическое обновление 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...

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

Задача: Провести реимпорт данных с удаленного сервера. Задача осложняется слабым каналом, а также версией 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...

Ошибки ORA-7445 при работе DATA GUARD после обновления на БД 12C

Началось все с того, что БД-источник отказывалась отправлять логи на стендбай. Алерт лог выдавал: Error 1017 received logging on to the standby ------------------------------------------------------------ Check that the primary and standby are using a password file and remote_login_passwordfile is set to SHARED or EXCLUSIVE, and that the SYS password is same in the password files.       returning error ORA-16191 ------------------------------------------------------------ При этом файл паролей корректный (скопирован с источника). Посмотрев алерт на стендбае, увидел: Physical standby fails to sync with the primary, because of the Error: ORA-7445: exception encountered: core dump [PC:0x2223829] [ACCESS_VIOLATION] [ADDR:0x7FFFFFFF8] [PC:0x2223829] [UNABLE_TO_READ] [] Обе проблемы оказались следствиями одного и того же бага: BUG:17535265 Проблема:  В группу ОС ORA_OPER (была создана установщиком 12С) не был назначен...

Проверка идентичности файлов на 100+ серверах.

Задача: подтверждение идентичности групп файлов на большом количестве серверов. Решение: состоит из 4 файлов, 2 пакетных, текстового (со списком серверов) и файла powershell. 1. основной файл: rem создание необходимых для работы директорий. if not exist log md log if not exist temp md temp rem для всех файлов из servers.txt вызываем файл из п.2 for /f %%i in (server.txt) do start /MIN call robo.cmd %%i   rem ждем пока не отработают все задания сбора статистики :StartLoop ping 127.0.0.1 /n 5 if exist temp\*p.lock GoTo :StartLoop rem на основе файлов отчета по каждому серверу создаем один общий findstr /i "older newer new" log\*.log > log\SOFT_STAT.txt rem вызов сценария powershell. форматирование итогового файла  rem (нужно, чтоб потом загрузить результат в БД) powershell -file replace.ps1 "log\SOFT_STAT.txt" 2. robo.cmd сбор статистики для одного сервера (из списка servers.txt) @echo off rem проверка физической доступности опрашиваемого сер...

robocopy. Новый взгляд на копирование файлов

Чрезвычайно полезный и мощный инструмент. Совмещает возможости copy и xcopy одновременно предлагая массу новых возможностей. Из наиболее интересных: /Z - копирование по сети с возобновлением, /MIR - зеркалирование (копирование с одновременным удалением файлов, которых больше нет на источтике), /MT - многопоточное копирование, /XF, /XD - исключения файлов или каталогов из копирования. /R, /W - количесвтво повторов при ошибке и время ожидания между повторами тонкая настройка логирования. /MON:n /MOT:n - realtime мониторинг источника и синхронизация через каждые n изменений (n минут для MOT). Создание службы для организации  realtime  репликации:  sc create "Robocopy-Service" binPath=  ".\robocopy.exe" start=auto