10 декабря 2020 г.

Плюс сертификат C_TADM55A_75

Вчера, 9 декабря 2020 года, я сдал ещё один сертификационный экзамен C_TADM55A_75 - SAP Certified Technology Associate – System Administration (SAP HANA) with SAP NetWeaver 7.5. 

Сдавал так же через Certification Hub. 

Затраты времени составили порядка 50 минут. Многие вопросы пересеклись с предыдущим экзаменом, что я сдавал 5 дней назад. Результат - 86% верных ответов. Тема SAP Fiori опять лишь только на 38%. 

Порог для сдачи всего экзамена - 63% правильных ответов. 

Как выглядят мои результаты вы можете посмотреть на рис. 1.


Рис. 1. Результаты экзамена C_TADM55A_75.

Обычный формат (A4) сертификата пока не прислали. Ни на первый экзамен, ни на второй. Новый формат, бейджи о сдаче, присылают сразу. Посмотреть их можно на этом сайте. Там же их можно проверить на действительность через сайт SAP SE, разместить в социальных сетях или на своём сайте/блоге.

Действительно формат онлайн сдачи через облако позволяет, хорошо подготовившись, сдать несколько экзаменов. :)


Автор: Шиболов Вячеслав Анатольевич


4 декабря 2020 г.

Сдача сертификационного экзамена C_TADM51_75

Сегодня, 4 декабря 2020 года, я сдал сертификационный экзамен C_TADM51_75 и стал SAP Certified Technology Associate – System Administration (Oracle DB) with SAP NetWeaver 7.5. 

Если вы давно читаете мой блог, то помните, что в 2012 году я сдавал такой же экзамен по версии SAP NetWeaver 7.0. В прошлый раз я ходил на сдачу в учебный центр SAP в Москве, где за полтора  часа набрал 94% правильных ответов и получил сертификат.

В этот раз (в очередной раз спасибо пандемии) экзамен сдавал онлайн. У SAP появился такой сервис как Certification Hub. Данный продукт является подпиской, которая предоставляет доступ к облаку SAP, в котором можно планировать и сдавать сертификационные экзамены. Подписка стоит около 44 000 рублей и оформляется на 1 год на одного человека. После оформления подписки есть 6 попыток для сдачи экзаменов. На каждый сертификационный экзамен можно потратить не больше 3-х попыток. После 3-х неудачных попыток данный экзамен для данного человека блокируется и сдавать его, до выхода новой версии, нельзя. Сделано это ограничение, наверное, чтобы человек не разбил себе лоб пытаясь сдать экзамен. :) При хорошем стечении обстоятельств, человек может по одной подписке получить 6 сертификатов, готовясь и сдавая их в течении года. 

Мне эту подписку оформил портал SAPLAND бесплатно, как автору статей. За что им (особенно Михаилу Сковородину и Вере Шевченко) ещё раз большое спасибо. 

При сдаче экзамена через Certification Hub необходимо заранее запланировать дату и время сдачи экзамена. Выбрать можно в формате 24/7, что очень удобно. В назначенный день уединиться в отдельной комнате с ноутбуком или компьютером, убрав всё со стола. Сдача экзамена происходит через специальное программное обеспечение, которое разворачивается на весь экран, блокируя другие приложения. А через Zoom (камера, микрофон, колонки) за вами следит англоговорящий проктор, который в начале проверяет ваше окружение и идентифицирует вашу личность по документам (например, водительским правам). Потом 3 часа даётся на сдачу. Результаты видны сразу на экране. 

В этот раз я отстрелялся за 1 час 10 минут. Вопросы были сложные, со старыми ничего общего. В результате - 76% верных ответов. Подвела тема SAP Fiori, в которой у меня не так много опыта. К слову, для сдачи необходимо было набрать 62%. Готовился по своим старым вопросам с 2012 года и материалам SAP курсов, рекомендованных к экзамену. 

В планах сертификационные экзамены C_TADM55a_75 и C_TADM55_75. Я думаю, что вопросы там похожие, а у меня ещё 5 попыток. Если после этого останутся попытки, то запланирую что-то ещё.

В общем, дерзайте. Формат удобный. А я принимаю поздравления. :)

P.S. Подготовка к экзаменам не давала часто писать в блог в последнее время. Теперь постараюсь исправиться.


Автор: Шиболов Вячеслав Анатольевич


24 сентября 2020 г.

Ошибка ORA-28000: the account is locked

Вы не сталкивались с такой ошибкой? А я вот на днях столкнулся и хочу поделиться своей историей. Может быть эта информация поможет кому-то из вас быстрее разобраться в похожей ситуации.

Однажды, после окончания планового оффлайн бэкапа, система оказалась недоступна для работы. SAP GUI выдавал сообщение о том, что база данных системы недоступна. 

Первая мысль была: "Ну, наверное, по какой-то причине затянулся бэкап". Но переход на уровень операционной системы сервера показал, что база данных запущена, а процессов резервного копирования в операционной системе нет. Правда, со стороны Oracle работают только фоновые служебные процессы и нет ни одного shadow-процесса. 

Вы наверное знаете, что при оффлайн резервной копии базы данных (или как её ещё называют "холодный" бэкап) процессы ABAP инстанции не останавливаются, а остаются работать, потеряв коннект к базе данных. При этом рабочие процессы с настойчивостью и периодичностью пытаются открыть соединение к базе данных. Поэтому, как только база данных становится доступной для соединения, рабочие процессы открывают соединения, а Oracle запускает для каждого рабочего процесса SAP инстанции отдельный shadow-процесс. Подробнее о том, как рабочие процессы SAP системы подключаются к базе данных я описывал в статьях: "Как рабочие процессы SAP соединяются с базой данных Oracle - I" и "Как рабочие процессы SAP соединяются с базой данных Oracle - II". 

Так вот, shadow-процессов Oracle не наблюдалось. Я подключился к базе данных через SQLPlus, используя пользователя SYSTEM. Соединение установилось успешно. На всякий случай перестартовал базу данных. Проверил: shadow-процессов как не было, так и нет. При этом рабочие процессы SAP инстанции в списке процессов операционной системы висели.

Хорошо. Последний рестарт SAP системы был давно, вдруг что-то подглючило на уровне сервера приложений, подумал я. И решил перезапустить сервер приложений. Но скрипты запуска системы выдают: "База данных не запущена, будем запускать. Попытка запуска базы данных заканчивается ошибкой - "база данных недоступна". Стоит отметить, что скрипты запуска SAP системы для проверки доступности базы данных используют утилиту R3trans, входящую в состав SAP Kernel, запуская её с опцией "-d" (рис. 1 и 2).

Рис. 1. Пример успешной проверки соединения с базой данных.

Рис. 2. Пример безуспешной проверки соединения с базой данных.

Проверка переменных окружения пользователей, настроек Oracle client, процесса Listener ничего не дала. 
И только в третий раз просматривая журналы рабочих процессов SAP инстанции (файлы dev_w*), обратил внимание, что код ошибки при попытках коннекта к Oracle отличается от типичного. Когда база данных остановлена, выдаётся код ошибки 1034. 

Рис. 3. Пример кода ошибки соединения с остановленной базой данных.

А тут выдавался код 28000 (рис. 4). 

Рис. 4. Код ошибки при соединении с базой данных в текущем случае.

По коду ошибки удалось выяснить, что ошибка заключается не в недоступности Oracle, а в блокировке пользователя. Как вы уже знаете, из вышеупомянутых статей, что рабочие процессы SAP системы при подключении к Oracle используют пользователя владельца схемы в базе данных. В данном случае это пользователь SAPSR3. Так вот этот пользователь и оказался заблокированным. 

К блокировке пользователя привёл параметр базы данных Oracle - FAILED_LOGIN_ATTEMPTS. Начиная, с версий Oracle 10g значение данного параметра, по умолчанию, равно 10. В предыдущих версиях СУБД по умолчанию стоит значение UNLIMITED. Посмотреть значение в текущей базе данных можно запросом вида:
SQL> select LIMIT from DBA_PROFILES where PROFILE='DEFAULT' AND RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';
или
SQL> show parameter FAILED_LOGIN_ATTEMPTS;
Как вы помните из моего поста, при соединении с базой данных, до версии Oracle 11g в SAP системе использовался механизм хранения пароля пользователя владельца схемы в отдельной табличке OPS$<USER>.SAPUSER. Так как в момент оффлайн бэкапа база данных недоступна, то рабочий процесс не может получить к ней доступ и прочитать продуктивный пароль пользователя. И как видно из скриншота (рис. 3), каждый раз делается ещё и дополнительная попытка открыть соединение с дефолтным паролем, который зашит в коде ядра. Допускаю, что случилась такая ситуация, что в момент старта базы данных было сделано больше 10 попыток логина к базе данных со стороны SAP системы с этим стандартным паролем (который отличается от продуктивного пароля). В результате этого Oracle автоматически заблокировал пользователя (владельца схемы) и последующие попытки SAP системы присоединиться к базе данных проваливались уже по этой причине, вплоть до моего вмешательства. 

Разрешение ситуации: разблокировка пользователя. Разблокировать пользователя можно в SQLPlus командой вида:
SQL> alter user SAPSR3 account unlock;
После этого рабочие процессы корректно подключаются к базе данных. Для предотвращения возникновения ситуации в будущем -  установка параметра в большее значение, вплоть до UNLIMITED. Сделать это можно SQL-командой вида:
SQL> alter profile default limit FAILED_LOGIN_ATTEMPTS 50;
Со стороны компании SAP ситуация описана в SAP note 951167 - ORA-28000: the account is locked.

P.S. Думаю, что описанная ситуация довольно таки редкая и возможна только в узком круге версий систем SAP и базы данных Oracle. Так как в современных версиях систем пароль хранится уже не в базе, а в файловой системе (подробнее) и попыток попасть в базу данных со стандартным (неверным) паролем не производится. Но в нашей жизни всё бывает и надо быть готовым ко всему.



28 августа 2020 г.

С наступающим днём знаний 2020! Скидки на авторские курсы обучения SAP Basis

Поздравляю всех с наступающим днём знаний!


Необходимые знания и полезные навыки облегчают жизнь и помогают в работе. Знания - это энергия вашего социального лифта, который помогает вам подняться выше и зарабатывать больше. Поэтому желаю вам не терять интерес к жизни, постоянно учиться и узнавать что-то новое. И не опускать руки в этот "особенный" год.

Ну и по традиции, в связи с праздником, скидка на пакеты моего обучающего курса SAPADM 2.0. Напоминаю, что курс абсолютный новый, полностью переписанный и основанный на версии SAP NetWeaver 7.50 и платформе Linux/Oracle. 

Тому, кто напишет мне на почтовый ящик shibolov@gmail.com до 23:59 6 сентября 2020 года, я отдам любой пакет курса за 12 000* рублей. 

То есть с учётом скидки все три пакета нового курса обойдутся всего за 36 000* рублей (вместо 48 000).

Условия акции:
* - для получения забронированных пакетов со скидкой, их надо будет оплатить до конца сентября 2020 года.

Подробности про обучающие пакеты нового курса можно найти здесь, а описание и отзывы на первую версию обучения по этой ссылке.
Сравнение двух версий курсов находится на этой странице.


Автор: Шиболов Вячеслав Анатольевич

25 августа 2020 г.

Запись вебинара "Технологическая архитектура SAP HANA"

Наткнулся недавно на отличный вебинар по архитектуре SAP HANA. Отличие от большинства бесплатных вебинаров по этой теме от компании SAP AG или вендоров оборудования в том, что в данном видео освещены именно технические детали системы. Маркетинга практически нет. Докладчик: Сергей Кузин из SAP AG.

Вот собственно само видео:


Презентацию можно скачать по этой ссылке.

Дополнительно ещё могу посоветовать полезное видео на тему построения отказоустойчивых решений для систем на SAP HANA:


Есть проблемы со звуком, но контент очень интересный и полезный.

P.S. У кого есть похожие материалы, просьба поделиться в комментариях. Спасибо.

Автор: Шиболов Вячеслав Анатольевич

21 августа 2020 г.

Пятничный юмор

Любой программист очень любит отлаживать и править чужие программы. :)


За картинку спасибо Александру Тельпуку.

Если у вас есть забавные иллюстрации для публикации в пятничном юморе, присылайте мне на электронную почту - shibolov@gmail.com.


Автор: Шиболов Вячеслав Анатольевич

18 августа 2020 г.

Core файлы большого размера

Периодически почти в любой SAP системе возникают ошибки, дампы и сбои. Не возникает их, наверное, только в системе, где никто не работает. А для надёжности в системе, которая вообще выключена. :)

Бывает ситуация, когда рабочий процесс ABAP инстанции "падает" с кодом ошибки 11, а в SAP системе формируется динамическая ошибка типа SYSTEM_CORE_DUMPED (рис. 1).

Рис. 1. Пример дампа SYSTEM_CORE_DUMPED.

В результате сбоя рабочий процесс останавливается, а на уровне файловой системы в рабочей директории инстанции (/usr/sap/<SID>/<Instance>/work/) образуется файл, содержащий дамп памяти и имеющий имя - core. Рабочий процесс обычно автоматически перезапускается диспетчером и о фактах рестарта мы можем узнать только по счётчику "Ошб." на экране транзакции SM50 (рис. 2).

Рис. 2. Информация о рестарте рабочего процесса в результате сбоя.

Про поиск core файлов на уровне операционной системы я писал ещё в посте "HP-UX. Многоликая команда find". Данная команда одинаково работает в любой Unix или Linux системе. Но иногда файлы core имеют большой размер и могут даже переполнить файловую систему (рис. 3).

Рис. 3. Пример core файла на уровне операционной системы.

В моём примере файл core имеет размер 39 Гб, что составляет более половины размера файловой системы. Если же на ваших серверах приложений данная файловая система имеет размер недостаточный для создаваемых файлов дампов и, из-за этих файлов часто происходит переполнение файловой системы, то можно после очередного удаления файла core создать его заранее в виде линка на /dev/null (рис. 4).

Рис. 4. Решение по хранению больших core файлов.

В этом случае всё содержимое core файла будет уходить в никуда, не занимая места ни в одной из файловых систем сервера.


Автор: Шиболов Вячеслав Анатольевич