Установка обновлений на «устаревшие» ОС Windows


Microsoft в соответствии с жизненным циклом своих операционных систем постоянно отбрасывает тянущийся за ней хвост поддержки устаревших ОС — уже давно «отстреляна» Windows XP (8 апреля 2014) и Windows Vista (11 апреля 2017), и даже Windows 7 в этом году удостоился той же судьбы (14 января 2020). Ну и по серверным версиям: 14 июня 2015 прекращена поддержка Windows Server 2003, и в то же 14 января 2020 г. завершилась поддержка Windows Server 2008 и 2008 R2.

Единственной актуальной десктопной версией Windows остаётся Windows 10, хотя для Windows 8.1 ещё действует расширенная поддержка (до 10 января 2023 г.), но основная уже прекращена ещё 9 января 2018 г. Также и по серверным версиям, актуальной ещё остаётся Windows Server 2016 (основная поддержка закончится только 11 января 2022) и, естественно, новая Windows Server 2019 (она же по сути 2016 R2).

Естественно, работать на устаревших ОС, не получающих новых обновлений безопасности попросту опасно, но для домашнего использования многие на это забивают — мол, ничего страшного не случиться. Опасное заблуждение, но, в принципе, при соблюдении определённых правил (антивирус, брандмауэр, подключение к интернету через роутер со своей защитой, регулярный бэкап собственных данных в «облака» и на оффлайновые носители) жить можно. Вот и мне тут принесли древний ноутбук от ASUS, который хотелось бы вернуть замусоренную разными программами Windows Vista в нормальное, изначально чистое состояние.

Продолжить чтение «Установка обновлений на «устаревшие» ОС Windows»

Запуск SAP GUI из браузера


Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник вопрос — а как запустить SAP GUI с нужными параметрами из браузера? Поскольку в этой идее подразумевалось использование веб-сервиса, сначала отрабатывающего по запросу SOAP из SAP GUI и отправляющего письмо со ссылкой на веб-страницу со скриптом сброса пароля на начальный, а потом уже отображение пользователю сообщения об успешном сбросе пароля и отображение этого самого начального пароля, то хотелось, чтобы на этой странице была еще и ссылка на запуск SAP GUI. Причем, чтобы эта ссылка открывала нужную систему, да еще, желательно, сразу с заполненными полями логина и пароля: пользователю оставалось бы только дважды заполнить продуктивный пароль.

Запуск SAP Logon — для нашей цели был не интересен, а при запуске sapgui.exe невозможно было указать мандант и имя пользователя, зато можно было запустить систему не определенную в SAP Logon. С другой стороны, запуск SAP GUI с произвольными параметрами сервера был не особенно актуален: уж если мы решаем задачу сброса пароля пользователя, то скорее всего у него в SAP Logon уже есть нужная строка, с нужными ему настройками и не надо лезть со своими. Зато заданным требованиям удовлетворяла технология SAP GUI Shortcut и собственно программа sapshcut.exe, которая давала возможность запускать SAP GUI с использованием определенного «ярлыка».

Продолжить чтение «Запуск SAP GUI из браузера»

Удаление «большого» манданта в SAP R/3 4.0


Давным-давно, в одной очень далекой Галактике… Тьфу, это что-то не то… Несколько лет назад, когда я еще был администратором базы данных Oracle и «сапёром» (администратором SAP R/3) мне понадобилось удалить один из мандантов в системе, в связи с тем, что этот мандант мигрировал на другой сервер и данные уже были не нужны, но место на дисковом массиве занимали. Проблема была ровно одна — данные в манданте занимали почти терабайт из 1.2 Тб общего размера всей БД. Остальная обвязка была следующая: Oracle 8.1.7, дисковый массив на полтора терабайта, и нет свободного места на других массивах.

Поскольку удаляемый мандант большой, то стандартный способ предлагаемый SAP не удачен — он реально пытается удалить данные в таблицах, что гарантирует не только его ОЧЕНЬ медленную работу но и забивание табличного пространства PSAPROLL, где хранятся сегменты отката (сделать его размером 100-200 гигабайт — не лучшая идея в нашем случае).

В итоге, после размышлений подумалось мне, что для данного случая больше подходит метод не удаления большей части данных, а выборки оставшихся данных и пересоздания таблицы со вставкой их обратно (CREATE TABLE NOLOGGING AS SELECT). Самое главное, что с помощью отказа от генерации redo-данных с помощью опции NOLOGGING можно сильно ускорить процесс. Единственное ограничение — данный метод не подходит для таблиц имеющих поля типа LONG, но, к счастью, их немного и они не такие огромные.

Продолжить чтение «Удаление «большого» манданта в SAP R/3 4.0″

MySQL: Восстановление базы данных InnoDB из файлов .ibd


Дважды с проектом Hattrick Portal попадал в ситуацию «потери» файлов собственной базы MySQL (mysql) — СУБД переставало работать и рапортовало о том, что в первом случае таблицы innodb_index_stats, innodb_table_stats, slave_master_info потеряны, а во втором, что таблицы servers и plugin. Объединяет эти два случая одно — эти таблицы на движке InnoDB. Если раньше все таблицы системной БД mysql были на движке MyISAM, то постепенно MySQL переводит все в InnoDB. С чем связаны были проблемы выяснить не удалось, но нужно было срочно восстанавливать работу СУБД. Быстрое гугление показало один простой вариант — прибиваем все файлы данных, запускаем СУБД с пустыми каталогами данных (она создает их по умолчанию), затем восстанавливаем всё из бэкапа. Но восстановить из бэкапа 10 Гб данных — это долгий процесс. И причем ещё — нужные данные-то у меня все на месте и не пострадали!

Продолжить чтение «MySQL: Восстановление базы данных InnoDB из файлов .ibd»

MySQL: Бэкап базы данных и его сжатие


Продолжу описывать конкретные ситуации, с которыми доводилось сталкиваться при работе с MySQL, и эта статья про резервирование БД на сервере под управлением Windows для проекта Hattrick Portal. Не буду подробно останавливаться на всех существующих инструментах резервирования MySQL, просто вкратце обозначу мои причины выбора утилиты mysqldump:

  • я использую движок MySQL InnoDB (а значит mysqlhotcopy не подходит);
  • она бесплатна и входит в поставку СУБД («горячее» снятие снэпшотов для InnoDB я не видел в бесплатном варианте, да и нужно оно в основном для быстрого переноса данных);
  • я снимаю бэкап всей БД (для отдельных таблиц есть операторы SELECT INTO OUTFILE и LOAD DATA INFILE);
  • может работать при работающей СУБД;
  • отставание бэкапа на день для меня не принципиально (т.е. инкрементные бэкапы не требуются);
  • даёт вполне понятный и разбираемый текстовый файл, который может пригодиться не только для восстановления БД.
Продолжить чтение «MySQL: Бэкап базы данных и его сжатие»

MySQL: InnoDB и дефрагментация табличных пространств


Хочу сделать несколько заметок по MySQL, чтобы сохранить для себя информацию, а заодно ей поделиться со всеми. Информации в интернете по этим темам, конечно, полно, пусть будет ещё.

Я надеюсь, что все кто использует MySQL как реляционную СУБД для больших и нагруженных баз данных использует движок InnoDB. MyISAM я бы не стал для этого использовать, всё-таки скорость обновлений (из-за блокировки таблицы вместо строки) и отсутствие транзакций не подразумевает использование этого движка для чего-то кроме мелких проектов. Единственный плюс, из-за которого для системы электронного документооборота «Визирь» я использовал базу данных на движке MyISAM — это полнотекстовый поиск, в InnoDB он штатно не был предусмотрен.

Для перевода таблиц на движок InnoDB можно выполнить команду (но перед этим лучше прочитать статью целиком):

ALTER TABLE tablename​ ENGINE = InnoDB; Продолжить чтение "MySQL: InnoDB и дефрагментация табличных пространств" 	

Установка Internet Explorer 10 на Windows 7 SP1 без интернета


Случилось мне как-то устанавливать Internet Explorer 10 на компьютер без доступа к интернету. Зачем на компьютере без интернета IE10 спросите вы? Вообще-то я устанавливал Visual Studio 2013 Express и вдруг узнал, что без IE10 оно устанавливаться даже не собирается. Зачем именно Internet Explorer этой версии Visual Studio мне, например, тоже не совсем понятно…

Ну IE10 так IE10 подумал я, доставая дистрибутив и запуская его, думая что Windows 7 SP1 64-битный полностью удовлетворяет требованиям. Но не тут-то было. Попытавшись что-то закачать из интернета установщик прервался, заявив что перед установкой требуется обновить Internet Explorer:

Перед установкой требуется обновить Internet Explorer

Ну не проблема, подумал я, сходил по предлагаемой ссылке и прочитал статью 2818833 поддержки Microsoft, что как бы есть пяток обновлений, которые надо поставить, если IE10 отказывается устанавливаться:

Продолжить чтение «Установка Internet Explorer 10 на Windows 7 SP1 без интернета»

Тест облака Microsoft Windows Azure для своих проектов


Как-то раз получив от Microsoft очередную рассылку WebsiteSpark по теме Windows Azure я решил проверить – подходит ли мне это “облако” как хостинг какого-нибудь моего приложения (демонстрационной версии системы документооборота “Визирь” и сайта “Портал Hattrick”). Целью было собственно выяснить – на что я смогу рассчитывать и сколько это стоит. Желательно же было вписаться в какую-нибудь минимальную сумму (например, shared-хостинг http://hattrickportal.pro обходился ровно в 120 руб. за месяц при неограниченном трафике, времени процессора и размере базы до 1 Gb). Продолжить чтение «Тест облака Microsoft Windows Azure для своих проектов»