Меню

Апгрейд БД Oracle с 11 на 12 версию для систем SAP, инсталлированных на ОС AIX 7.1

|

Апгрейд Базы Данных (БД) является важной задачей, которую необходимо своевременно решать консультантам SAP Basis. Необходимость миграции на новый аппаратный комплекс и обновление SAP ERP ECC 6.0 до EHP8 - вот две обязательные причины по которым необходимо выполнить апгрейд.

Аннотация

Апгрейд Базы Данных (БД) является важной задачей, которую необходимо своевременно решать консультантам SAP Basis. Необходимость Ммиграции на новый аппаратный комплекс и обновление SAP ERP ECC 6.0 до EHP8 - вот две обязательные причины по которым необходимо выполнить апгрейд.


Рисунок 1. SAP Product Availability Matrix (PAM) Technical Release Information. Database Platform. PAM: Maintenance Information for OS and DB. Соответствие между релизом БД, версией ОС и бинарными компонентами систем SAP.

Процедура обновления состоит из следующих этапов:

1. Подготовка ОС к обновлению БД. Загрузка дистрибутивов и подготовка архивов.;

2. Запуск RUNINSTALLER. Установка ПО БД Oracle 12g.;

3. Загрузка и установка SAP Bundle Patch.

4. Удаление консоли Oracle Enterprise Manager (EM).

5. Апгрейд.

6. Установка клиентской части.

7. Редактирование  стартовых скриптов.

Далее рассмотрим подробно каждый этап апгрейда.

Этап 1. Подготовка ОС к обновлению БД

Для успешного апгрейда БД необходимо выполнить настройки конфигурации IOCP в ОС AIX от пользователя root.

Команда конфигурации:.
 chdev -l iocp0 -P -a autoconfig='available'
 

Следует уУбедиться, что изменения выполнены:
 lsdev | grep iocp
 iocp0      Available             I/O Completion Ports.
 

Загрузка дистрибутивов и подготовка архивов

Ниже предоставлен список дистрибутивов для загрузки с сайта service.sap.com.

Для выполнения загрузки необходим s-пользователь с достаточными  правами.

Загрузку можно выполнить по следующему пути:
 

Software Download – Database- Oracle- Oracle 64 bit- Oracle 12.1- Installation.
 

EXE 51047705_1 Oracle 12.1 RDBMS AIX 64bit 1/3
 

RAR 51047705_2 Oracle 12.1 RDBMS AIX 64bit 2/3
 

RAR 51047705_3 Oracle 12.1 RDBMS AIX 64bit 3/3
 

ZIP 51050832 ORACLE Client 12.1.0.2.
 

Следует подготовить файлы архивов на ПК: папка 51047705, 51050832 и загрузить на сервер.

Для этого необходимо Ссоздать директорию 12102 от пользователя root.
 mkdir /oracle/stage/12102.

От root  записать все *.SAR файлы в директорию 12102.

От root расширить полномочия для директории  12102.
 

chmod -R 777 /oracle/stage/12102.
 

Перейти в пользователя <sid>adm
su - <sid>adm
 cd /oracle/stage/12102
 SAPCAR -xvf "*.SAR".

ls - выполняем просмотр подготовленных из архива файлов.

Этап 2. Запуск RUNINSTALLER. Установка ПО БД Oracle 12g

su – <ora>sid;

cd database;

cd SAP

setenv DISPLAY IP адрес:0.0 (IP-адрес ПК с которого идёт установка)

Запускаем скрипт ./RUNINSTALLER.

Сразу после запуска RUNINSTALLER потребуется В начале установки ПО БД необходимо выполнить запуск проверочного скрипта  rootpre.sh . Для этого нужно открыть новую консоль от пользователя root, далее перейти в каталог

cd /oracle/stage/121/database и выполнить запуск rootpre.sh


Рисунок 2-1. Пример запуска скрипта rootpre.sh.
./RUNINSTALLER.

Установка ПО  Oracle состоит из 11 шагов.

Первый шаг. Поле почтового адреса можно пропустить.

Рисунок 2-2. Инсталляция ПО БД Oracle 12. Шаг 1.

На втором шаге выбираем установку ПО БД.

Рисунок 2-3. Инсталляция БД Oracle шаг 2. Выбор опции для инсталляции.

На третьем шаге указываем Single instance database installation - установку БД с одним экземпляром.

Рисунок 2-4. Инсталляция БД Oracle шаг 3. Выбор типа БД

На четвертом шаге выбираем английский язык.

Рисунок 2-5. Инсталляция БД Oracle шаг 4. Выбор языка.

На пятом шаге останавливаем свой выбор на лицензии Enterprise Edition. Проверяем доступное место в файловой системе /oracle. Четвертый шаг выбираем значения по умолчанию.

Рисунок 2-6. Инсталляция БД Oracle шаг 5. Условия лицензирования.

На шестом шаге указываем пути для ПО Oracle.

Рисунок 2-7. Инсталляция БД Oracle шаг 6. Выбор путей для ПО.

Седьмой шаг - выбираем привилегии для групп ОС. Подробную информацию о пользователях и группах ОС можно прочитать в файлах /etc/passwd, /etc/group.

Рисунок 2-8. Инсталляция БД Oracle шаг 7. Выбор привилегий для пользователей ОС.

8 шаг: инсталлятор делает проверку ПО ОС и доступного дискового пространства для апгрейда БД. В нашем случае мы игнорируем рекомендуемые к установке патчи для AIX 7.1 oslevel 7.1.0.0 –это будет девятый шаг.

Рисунок 2-9. Инсталляция БД Oracle шаг 8. Результат проверки ОС и дискового пространства.

Десятый шаг – выполнение скрипта root.sh.

Рисунок 2-10. Инсталляция БД Oracle шаг. 10

Завершающий 11 шаг.

Рисунок 2-11. Инсталляция БД Oracle шаг 11.

Этап 3. Загрузка и установка SAP Bundle Patch

Для минимизации  ошибок при апгрейде необходимо  инсталлировать  последние  SAP Bundle Patch как для  11 так и для 12версии БД Oracle. Для этого мы загружаем дистрибутивы с сайта service.sap.com по пути:

Download-Oracle patches 11.2.0.3-AIX- SAP11203P_1508-20009977.ZIP для 11 релиза

и Download-Oracle patches 12.1.0.2-AIX - SAP12102P_1702-20012297.ZIP от 27.02.17 для 12 релиза.

Инструкция по инсталляции SAP Bundle Patch для 11 Oracle

Патч необходимо загрузить в /oracle/SID/11203 и обязательно переименовать zip в ZIP.
su –<sid>adm
stopsap r3
su – <ora>sid
cd /oracle/SID/11203
mv SAP11203P_1508-20009977.ZIP.zip SAP11203P_1508-20009977.ZIP.ZIP
Выставить переменные окружения.
setenv IHRDBMS $ORACLE_HOME
setenv OHRDBMS $ORACLE_HOME
cd /oracle/SID/11203
БД должна быть открыта.

unzip -qd $IHRDBMS/sapbundle SAP11203P_1508-20009977.ZIP 'SBP_1120315_201508/OPatch/*'
mv $IHRDBMS/OPatch $IHRDBMS/OPatch-pre-SBP_1120315_201508
mv $IHRDBMS/sapbundle/SBP_1120315_201508/OPatch $IHRDBMS/Opatch
unzip -qd $IHRDBMS/sapbundle SAP11203P_1508-20009977.ZIP 'SBP_1120315_201508/MOPatch/*'
test -d $IHRDBMS/MOPatch && mv $IHRDBMS/MOPatch $IHRDBMS/MOPatch-pre-SBP_1120315_201508
mv $IHRDBMS/sapbundle/SBP_1120315_201508/MOPatch $IHRDBMS/MOPatch

БД необходимо закрыть, также нужно остановить Listener. От пользователя orasid выполнить команду
lsnrctl stop

Далее удалить все процессы от <sid>adm 
kill -9 номер процесса

Далее выполнить команду
slibclean от root.

Можно запускать скрипт по установке SAP Bundle Patch.
env ORACLE_HOME=$IHRDBMS $IHRDBMS/MOPatch/mopatch.sh -v -s SAP11203P_1508-20009977.ZIP

После выполнения скрипта по установке патча  нужно запустить БД
env ORACLE_HOME=$OHRDBMS $OHRDBMS/bin/sqlplus / as sysdba
startup

Далее выполнить скрипт:
$ cd $OHRDBMS
$ env ORACLE_HOME=$OHRDBMS $OHRDBMS/bin/sqlplus / as sysdba
SQL> @sapbundle/SBP_1120315_201508/catsbp.sql
SQL> quit

Отредактировать профиль Oracle. После изменения параметров необходимо выполнить рестарт БД.
ALTER SYSTEM SET "_FIX_CONTROL"=
'5099019:ON','5705630:ON','6055658:OFF','6120483:OFF','6399597:ON','6430500:ON','6440977:ON',
'6626018:ON','6972291:ON','7168184:OFF','8937971:ON','9196440:ON','9495669:ON','13077335:ON',
'13627489:ON','14255600:ON','14595273:ON','18405517:2'
COMMENT='SAP_1120311_201408 RECOMMENDED SETTINGS'
SCOPE=SPFILE;
ALTER SYSTEM SET EVENT='10027','10028','10142','10183','10191','10198','10995 level 2','31991',
'38068 level 100','38085','38087','44951 level 1024','64000 level 25'COMMENT='SAP_1120315_201508 RECOMMENDED SETTINGS'
SCOPE=SPFILE;

SAP Bundle Patch для 11 Oracle установлен.

Информацию по установленным патчам на БД можно посмотреть в транзакции DB02-Performance-Additional Functions-Bundle Patches.
 

Инструкция по  инсталляции SAP Bundle Patch для 12 Oracle

Загружаем дистрибутивы для обновления с service.sap.com Download-Oracle patches 12.1.0.2-AIX - SAP12102P_1702-20012297.ZIP от 27.02.17. Файл README README12102P_1702-20012300.HTM

Патч необходимо загрузить в /oracle/SID/12102 и обязательно переименовать zip в ZIP.
cd /oracle/SID/12102
mv SAP12102P_1702-20012297.zip SAP12102P_1702-20012297.ZIP
Выставить переменные среды окружения.
setenv ORACLE_HOME /oracle/SID/121
setenv OHRDBMS /oracle/SID/121
setenv IHRDBMS  /oracle/SID/12102
cd $IHRDBMS
$IHRDBMS/bin/unzip -qd $IHRDBMS/sapbundle SAP12102P_1702-20012300.ZIP 'SBP_12102170117_201702/OPatch/*'
mv $IHRDBMS/OPatch $IHRDBMS/OPatch-pre-SBP_12102170117_201702
mv $IHRDBMS/sapbundle/SBP_12102170117_201702/OPatch $IHRDBMS/Opatch
$IHRDBMS/bin/unzip -qd $IHRDBMS/sapbundle SAP12102P_1702-20012300.ZIP 'SBP_12102170117_201702/MOPatch/*'
test -d $IHRDBMS/MOPatch && mv $IHRDBMS/MOPatch $IHRDBMS/MOPatch-pre-SBP_12102170117_201702
mv $IHRDBMS/sapbundle/SBP_12102170117_201702/MOPatch $IHRDBMS/MOPatch

Инсталляция патча

БД должна быть закрыта, остановлен Listener и все процессы от пользователя <sid>adm ,от пользователя root необходимо выполнить slibclean.

Если  на одном хосте инсталлировано несколько систем SAP необходимо от root выполнить  chmod g+w /oracle

Инсталляция патча.
env ORACLE_HOME=$IHRDBMS $IHRDBMS/MOPatch/mopatch.sh -v -s SAP12102P_1702-20012300.ZIP

Отредактировать профиль Oracle. После изменения параметров необходимо выполнить  рестарт БД.

ALTER SYSTEM                                                                                                   "_FIX_CONTROL"='5099019:ON','5705630:ON','6055658:OFF','6120483:OFF','6399597:ON','6430500:ON','6440977:ON','6626018:ON','6972291:ON','7168184:OFF','7658097:ON','8937971:ON','9196440:ON','9495669:ON','13077335:ON','13627489:ON','14255600:ON','14595273:ON','18405517:2','20355502:8','14846352:OFF','22540411:ON','20107874:OFF','10038517:OFF'COMMENT='SAP_12102161018_201611 RECOMMENDED SETTINGS'
SCOPE=SPFILE;
ALTER SYSTEM SET EVENT='10027','10028','10142','10183','10191','10995 level 2','38068 level 100','38085','38087','44951 level 1024'COMMENT='SAP_121022_201503 RECOMMENDED SETTINGS'
SCOPE=SPFILE;

Патчи для 11 и 12 Оракла успешно установлены.

Информацию по установленным патчам на БД можно посмотреть в транзакции DB02-Performance-Additional Functions-Bundle Patches.

Информацию по выполняемым командам можно найти в файлах readme

README12102P_1705-20012297.HTM SAP Bundle Patch 12.1.0.2

README11203P_1508-20009977.HTM SAP Bundle Patch 11.2.0.3.15

Этап 4. Удаление консоли Oracle Enterprise Manager (EM)

После инсталляции патчей  рекомендуется удалить консоль EM.

Для этого необходимо закрыть БД, выставить ORACLE_HOME /oracle/SID/11203, далее стартовать БД с окружением . ORACLE_HOME /oracle/SID/11203
setenv ORACLE_HOME /oracle/SID/11203
SQL> startup

Изменение в настройке листенера. Только для работы по удалению EM.

Необходимо временно закомментировать строчку  #  (ORACLE_HOME = /oracle/SID/112_64)  и добавить (ORACLE_HOME = /oracle/SID/11203)
SID_LIST_LISTENER =
             (SID_LIST =
    (SID_DESC =
      (SID_NAME = SID)
#      (ORACLE_HOME = /oracle/SID/112_64)
      (ORACLE_HOME = /oracle/SID/11203)
    )
  )

Выполнить команду по удалению EM.

$ORACLE_HOME/bin/emca -deconfig dbcontrol

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев4

Комментарий от  

Серго Берадзе

  |  14 сентября 2017, 20:18

Юлия, добрый день.
У вас в процедуре не указаны постапгрейд шаги, к примеру catsbp,
без нее ваша база работает без изменений привнесенных патчем.
Так же вы вскольз упомянули про параметр Compatible, он не изменяется при наличии флешбек точки(как это происходит при обычном апгрейде) поэтому нужно её удалить после апгрейда, и выставить парметр Compatible.
Так же флешбек точка не отменяет наличие бекапа, он нужен перед началом апгрейда в любом случае.
 
С уважением, Серго.

Комментарий от  

Юлия Дубицкая

  |  19 сентября 2017, 16:46

Юлия, добрый день.
У вас в процедуре не указаны постапгрейд шаги, к примеру catsbp,
без нее ваша база работает без изменений привнесенных патчем.
Так же вы вскольз упомянули про параметр Compatible, он не изменяется при наличии флешбек точки(как это происходит при обычном апгрейде) поэтому нужно её удалить после апгрейда, и выставить парметр Compatible.
Так же флешбек точка не отменяет наличие бекапа, он нужен перед началом апгрейда в любом случае.
 
С уважением, Серго.

Добрый день, Серго! Спасибо за ваши комментарии. Внесла дополнения в статью.
С уважением,Юлия

Комментарий от  

Дмитрий Бондарев

  |  20 октября 2017, 14:32

Вот если сразу, взять и перейти на Oracle 12 с 11 версии, то далеко не у всех после этого ABAP системы стартуют, так что замечание насчёт  необходимости проверки использования механизма SSFS на мой взгляд необходимо...

Комментарий от  

Юлия Дубицкая

  |  25 октября 2017, 14:43

Вот если сразу, взять и перейти на Oracle 12 с 11 версии, то далеко не у всех после этого ABAP системы стартуют, так что замечание насчёт  необходимости проверки использования механизма SSFS на мой взгляд необходимо...

Добрый день, Дмитрий.
Извините за долгий ответ - только сегодня увидела ваш комментарий.
SSFS,в соответствии с рекомендациями SAP, я настроила пару лет назад и в статье за давностью времени этот момент упустила.
Действительно, для апгрейда на Оракл 12 и инсталляции ПО EHP8 системы необходимо перевести на SSFS.
Ниже краткая инструкция для перевода с OPS$ на SSFS:
Нота 1639578 - SSFS as password storage for primary database connect
Необходимо создать новые каталоги и расширить полномочия от пользователя sidadm.
mkdir /usr/sap/SID/SYS/global/security
mkdir /usr/sap/SID/SYS/global/security/rsecssfs
mkdir /usr/sap/SID/SYS/global/security/rsecssfs/data
mkdir /usr/sap/SID/SYS/global/security/rsecssfs/key
chmod 700 /usr/sap/SID/SYS/global/security
chmod 700 /usr/sap/SID/SYS/global/security/rsecssfs
chmod 700 /usr/sap/SID/SYS/global/security/rsecssfs/data
chmod 700 /usr/sap/SID/SYS/global/security/rsecssfs/key
Выполнить изменения редактором vi в файле домашнего каталога пользователя sidadm /.sapenv_<hostname><Instance Number>.csh
setenv RSEC_SSFS_DATAPATH /usr/sap/SID/SYS/global/security/rsecssfs/data
setenv RSEC_SSFS_KEYPATH /usr/sap/SID/SYS/global/security/rsecssfs/key
setenv rsdb_ssfs_connect 1
Проверить, в случае необходимости добавить параметр в профиль по умолчанию  DEFAULT.PFL транзакция rz10.
rsec/ssfs_datapath = $(DIR_GLOBAL)$(DIR_SEP)security$(DIR_SEP)rsecssfs$(DIR_SEP)data
rsec/ssfs_keypath  = $(DIR_GLOBAL)$(DIR_SEP)security$(DIR_SEP)rsecssfs$(DIR_SEP)key
rsdb/ssfs_connect = 1
От пользователя sidadm выполнить команды:
rsecssfx pf=/sapmnt/SID/profile/DEFAULT.PFL put DB_CONNECT/DEFAULT_DB_USER SAPSR3 -plain
rsecssfx pf=/sapmnt/SID/profile/DEFAULT.PFL put DB_CONNECT/DEFAULT_DB_PASSWORD <ваш пароль>
rsecssfx pf=/sapmnt/SID/profile/DEFAULT.PFL list
chmod 600 /usr/sap/SID/SYS/global/security/rsecssfs/data/SSFS_SID.DAT