В нынешней обстановке с отсутствием доступа к базе знаний Oracle и загрузке последних патчей для Oracle Database, может появится необходимость в создании новых хостов с Oracle Database, имеющих одиннаковую версионность.
Пример: необходимо создать тестовое окружение Oracle Database 19.0.0 со следующими OPatch, которые недоступны для скачивания из России и Российских service аккаунтов:
[oracle@tune-it]$ $ORACLE_HOME/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.25
Copyright (c) 2022, Oracle Corporation. All rights reserved.
OPatch version : 12.2.0.1.25
OUI version : 12.2.0.7.0
Подготовка системы:
Предположим, что уже установлен Oracle Linux 7/8 и создан пользователь "oracle".
Ставим предустановочный пакет для автоматической конфигурации:
# yum install oracle-database-preinstall-19c - Oracle Linux 7
# dnf install oracle-database-preinstall-19c - Oracle Linux 8
Необходимо проверить нахождение пользователя "oracle" в правильных группах, с правильными id.
Пример:
[oracle@tune-it ~]$ id
uid=102(oracle) gid=1004(oinstall) groups=1004(oinstall),54322(dba),54323(oper),54324(backupdba),
54325(dgdba),54326(kmdba),54330(racdba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Создаём /u01 и выставляем необходимые права:
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
chmod -R 775 /u01
Проверяем переменные окружения в /home/oracle/.bash_profile:
[oracle@tune-it ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_HOME
ORACLE_SID=PATLAS
export ORACLE_SID
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH
Добавляем переменные в сценарий окружения:
source .bash_profile
Переносим Oracle Home:
Переносим бинарные файлы Oracle Database на новый хост:
rsync -razP /u01/app/oracle/product/19.0.0/dbhome_1 user@IP:/u01/app/oracle/product/19.0.0/
Запускаем Perl скрипт установщика:
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clone/bin/clone.pl ORACLE_BASE="/u01/app/oracle" ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1"
OSDBA_GROUP=dba OSOPER_GROUP=oper OSBACKUPDBA_GROUP=backupdba OSDGDBA_GROUP=dgdba OSKMDBA_GROUP=kmdba OSRACDBA_GROUP=racdba -defaultHomeName
Проверям запуск экземляра базы:
[oracle@tune-it]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 17 11:35:01 2022
Version 19.11.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to an idle instance.
SQL> /u01/app/oracle/product/19.0.0/dbhome_1/dbs/initDATABASE-NAME.ora