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

Перемещение 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 of OraDB11gR1_home was successful.

Проверяем что inventory аналогично первому окну:
D:\\>set ORACLE_HOME=D:\\oracle\\product\\12.1.0
D:\\>set PATH=D:\\oracle\\product\\12.1.0\\OPatch;D:\\oracle\\product\\12.1.0\\bin;%PATH%
D:\\>opatch version
D:\\>opatch lsinventory

Останавливаем службы "Listener" и "OracleServiceDBAX".

В первом окне запускаем netca удаляем слушателя:
C:\\>C:\\oracle\\product\\12.1.0\\bin\\netca.bat

, а после и экземпляр:
C:\\>ORADIM -DELETE -SID DBAX

Проверяем что службы "Oracle DBAX VSS Writer Service2 и "OracleJobSchedulerDBAX" тоже "удалились".

Создаем слушателя и экземпляр во втором окне:
C:\\>D:\\oracle\\product\\12.1.0\\bin\\netca.bat

NB. Возможно сначала придется удалить имеющийся tnsnames.ora или хотя бы переименовать его (уже не помню, какая ошибка была.)

C:\\>ORADIM -NEW -SID DBAX -SYSPWD dbax -STARTMODE auto -SPFILE

Проверяем, что необходимые службы БД созданы и при необходимости запущены.
OracleOraDB11gR1_homeTNSListener
OracleServiceDBAX
Oracle DBAX VSS Writer Service
OracleJobSchedulerDBAX

NB. Дополнительно: добавить в реестре в папке нового HOMEа параметр ORACLE_SID, поменять каталог для диагностической информации:
ALTER SYSTEM SET DIAGNOSTIC_DEST="D:\ORACLE\DIAG"

, проверить и пересоздать "штатные директории":
select directory_name from dba_directories where directory_path like 'C:%';

Комментарии

Популярные сообщения из этого блога

Установка и настройка pgAgent(планировщика заданий PostgreSQL)

Установка pgAgent Последняя версия скрипта для установки агента  тут . Перенести инструкцию по агенту в отдельную тему. 1. Создать пользователя ОС, и сделать ему домашний каталог: useradd -s /bin/false -r -M pgagent mkdir /home/pgagent 2. Установить и настроить демон: yum install pgagent_94 При наличии ошибок вида (была на Oracle Linux 6.8) Error: Package: pgagent_94-3.4.0-1.rhel6.x86_64 (pgdg94)            Requires: libwx_baseu-2.8.so.0(WXU_2.8)(64bit) Нужно установить EPEL systemctl enable pgagent_94 chown pgagent:pgagent /var/log/pgagent_94.log 3. Установить схему агента в базе: sudo -u postgres psql -f /usr/share/pgagent_94-3.4.0/pgagent.sql postgres 4. Создать файл паролей для подключения агента к базе. vi /home/pgagent/.pgpass localhost:5432:*:postgres:postgres chown pgagent.pgagent /home/pgagent -R chmod 600 /home/pagent/.pgpass 5. Запустить и проверить работу агента systemctl start pgagent_94.service systemctl status pga

Включение логирования для Haproxy

Изначально логирование в syslog в HaProxy отключено. Ниже пример настройки логирования для ОС Centos 7. Настройка: Добавить строку  log 127.0.0.1 local2 в секцию global файла /etc/haproxy/haproxy.cfg Раскомментировать $ModLoad imudp и $UDPServerRun 514 в файле  /etc/rsyslog.conf Создать файл  /etc/rsyslog.d/haproxy.conf со следующим содержимым:  local2.* /var/log/haproxy.log Перезапустить rsyslog и haproxy.

Использование oraenv для установки окружения.

Для настройки окружения в Linux можно все параметры базы указать в .bash_profile: ORACLE_HOME=/app/oracle/product/11.2.0.4/dbhome_1 export ORACLE_HOME ORACLE_BASE=/app/oracle export ORACLE_BASE ORACLE_SID=orcl export ORACLE_SID PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH Но лучше использовать для этих целей утилиту oraenv. oraenv берет данные из файла /etc/oratab orcl:/app/oracle/product/12.1.0/dbhome_1:N И на ее основе задает параметры окружения: ORACLE_SID, ORACLE_BASE,ORACLE_HOME и PATH Использовать можно в интерактивном режиме: . oraenv ORACLE_SID = [orcl] ? orcl The Oracle base has been set to /app/oracle И в неинтерактивном режиме. Добавить в  .bash_profile: ORACLE_SID=orcl ORAENV_ASK=NO . oraenv Для ASM ситуация аналогичная. . oraenv ORACLE_SID = [orcl] ? +ASM1 The Oracle base has been set to /u01/app/oracle echo $ORACLE_HOME /app/11.2.0/grid